php 学习笔记 数组1

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"