php数组的引用_数组使用细节

作者: 鲁智深 分类: PHP 发布时间: 2015-01-05 12:57

对创建数组的的一个特别说明

注意事项

1、如果我们创建一个数组的时候,没有给某个元素指定的下标,php就会自动的用目前最大的那个下标值(整数)加上1作为该元素的下标(关键字)

案例

1
2
3
4
5
6
$arr=array(5=>"logo",567,90){
   //我要访问logo这个值
   echo $arr[5];
   //我要访问567
   echo $arr[6];
}

2、如果我们给某个元素下标一样,这会覆盖原来的值。

案例

1
2
3
4
5
6
7
$arr=array(5=>"logo",567,90);
   //我要替换5下标的值
   $arr[5]="yes";
   //我要访问logo这个值
   echo $arr[5];
   //我要访问567
   echo $arr[6];

3、使用true作为下标将使integer 1成为下标。使用false作为下标将使integer 0成为下标。使用null作为下标,输出时使用$arr[“”]代替,不能用$arr[]执行。

案例

1
2
3
4
5
6
7
8
$arr[true]="hello";
$arr[false]="world";
$arr[null]="北京";//==>$arr[null]或者$arr[""]
//0代表false
echo $arr[0];
//1代表true
echo $arr[1];
echo $arr[""];

4、如果使用小数作为下标,自动将截断小数部分,如下的123和123.4的输出效果是相同的。

1
2
3
$arr[123.4]="苏州";
echo $arr[123];
echo $arr[123.4];

5、我们通常可以使用print_r显示整个数组的信息情况,var_dump可以
更加详细的显示数组的信息。

1
2
print_r($arr);
var_dump($arr);

6、访问数组的时候不要越界

1
2
$arr=array(56,100,101);
echo $arr[3];//按道理可以访问到0,1,2,但是3是越界行为会出现报错

7、php数组是可以动态增长

1
2
3
$a=array(2,3);
$a[3]=56;
echo $a[3];

分析图

分析图

分析图

8、一维数组引用的陷阱

1
2
3
//没有给bar定义值,php认为它是常量,报错
$arr[bar]="hello,wold";
echo $arr[bar];

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注