八种数据类型:
4种标量类型:boolean、integer、float、string
2种复合类型:array、object
2种特殊类型:resource、NULL
如果想看某个表达式的值和类型用函数var_dump();
变量
变量的规则:
- 变量以 $ 符号开头,其后是变量的名称
- 变量名称必须以字母或下划线开头
- 变量名称不能以数字开头
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
- 变量会在第一次赋值时被创建。无需声明变量的类型。
三种不同的变量作用域
1.local(局部)
2.global(全局,是关键字)
3.static(静态,可以用于面相对象的静态绑定)
当函数完成执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要static
global 关键词用于访问函数内的全局变量。同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。
引用赋值,将“&”加到变量前。将变量的引用方式复制给型新变量。
unset不会导致另一个变量的消失
echo 没有返回值
strpos来确定另外一个字符串位置
define定义常量
自定义函数必须function开头 (参数引用赋值,return,默认参数,l参数)
三种数组类型(基本写法,排序[索引数组排序用for],[关联数组排序用[freach])
- 索引数组 - 带有数字索引的数组
- 关联数组 - 带有指定键的数组
- 多维数组 - 包含一个或多个数组的数组
$cars=array("Volvo","BMW","SAAB"); <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?> // count $cars=array("Volvo","BMW","SAAB"); echo count($cars); // 变量索引数组 $cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars);
//对索引数组排序 for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?> 关联数组: $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 或 $age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43"; $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; // 遍历 <?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
数组的基本排序函数
sort—以升对数组排序
rsort—以降序对数组排序
asort—根据值,以升序对关联数组进行排序
ksort—根据键,以升序对关联数组进行排序
arsort—根据值,以降序对关联数组进行排序
krsort—根据键,以降序对关联数组进行排序
超全局变量,也就是预定义的全局变量,在哪里都能用,有特殊含义:
- $GLOBALS:引用全局作用域中可用的全部变量
- $_SERVER:保存关于报头、路径和脚本位置的信息。
- $_REQUEST:用于收集 HTML 表单提交的数据。
- $_POST:用于收集提交 method="post" 的 HTML 表单后的表单数据。也常用于传递变量。
- $_GET:$_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
- $_FILES:处理文件上传变量
- $_ENV:包含服务器端环境变量的数组
- $_COOKIE
- $_SESSION