1、一般情况下$name[‘tom‘]和$name[tom]是相同的;但没有引号的键不能和常量区别开,如:define(‘index‘, 5)时;$name[‘tom‘]和$name[tom]不同
2、双引号里的变量一般要用{}括起来是好习惯,如: echo "{$name}";
3、数组 $name = array(‘tom‘, ‘jim‘, ‘alice‘); 和 $username = [‘tom‘, ‘jim‘, ‘alice‘];
4、数组用 =>符号来指定一个初始值,后面的键值是连续的;
ps1:$days = array(1 =>"Mon", "Tue", "Wed", "Thu"); //Tue的键值为2,Wed的键值为3等等
Ps2:$days = array(‘one‘ => "Mon", "Tue", "Wed", "Thu"); //数组2的键值为0,数组3的键值为1
5、指定的范围:range();
ps1:$num = range(2, 5); //$num = array(2, 3, 4, 5);
ps2:$str = range(a, z); //保存了a-z的26个字母;
ps3:$num = range(5, 2); //$num = array(5, 4, 3, 2);
ps4:$str = range("abd", "zds"); //保存了a-z的26个字母,只限定第一个字符范围,数字也是
6、获得数组的大小
count()和sizeof()函数在用法和效果上是完全一样的;
如 $family = array("tom", "jim", "cherry"); $size = count($family); $size是3
7、填充数组
array_pad() 用重复的内容来创建一个数组,第一个参数是数组,第二个参数是你想让数组拥有的最少元素个数,第三个参数是每个元素的初始值;返回新数组,丢弃源数组
ps1:
$scores = array(5, 10);
$padded = array_pad($scores, 5, 0); //$padded现在是array(5, 10, 0, 0, 0);
ps2:
$padded = array_pad($scores, -5, 0); //$padded现在是array(0, 0, 0, 5, 10);
8、多维数组
要使用变量替换来访问多维数组中的元素,必须将整个元素用大括号括起来:
echo "{$num[1][0]}"; //结果为4
echo "$num[1][0]"; //结果为array[0]
9、析取多个值
要把一个数组中的所有值都复制到变量中,可以使用list()结构;
$person = arrary("tom", 35, "alice");
list($name, $age, $wife) = $person; //$name 是tom, $age是35, $wift是alice
(list()函数通常用来从一个只返回一条记录的数据库查询中提取数据,这样会把简单差uxnde数据自动赋值到一系列局部变量中。)
ps:$sql ="select name, age, wife from person where id = 2";
$result = mysql_query($sql);
list($name, $age, $wife) = mysql_fetch_assoc($result);
ps2:如果数组中的元素个数比list()中的变量个数,多余的值被忽略;如果list()中的值比数组中的多,多余的值被设置为NULL;
在list()中使用两个多多个连续的逗号来跳过数组中的值;
$values = range(‘a‘, ‘e‘);
list($m, , $n, ,$o) = $values; //$m是”a", $n是"c", $o是"e"