php 5.2.x 数组操作细节分享

发布时间:2019-08-13编辑:脚本学堂
本文介绍下,在php 5.2.x环境下,有关 php数组操作的一些细节,分享给大家,感兴趣的朋友可以参考学习下。

本节内容:
php 5.2.x中的数组操作

刚看了php入门教程,总结一些由于php版本不同,引发的php数组操作的一些问题。

以下内容在 php5.2.5 环境下测试完成。
1、
 

复制代码 代码示例:
<?php
$arr = array("a" => 1,"b" => 2,"c" => 3);
 

如果这样定义数组会报编译错误:
 

复制代码 代码示例:
<?php
$arr = array("a" = 1,"b" = 2,"c" = 3);
 

因此,定义数组的时候只能用 =>
 
2、
 

复制代码 代码示例:
<?php
$arr = array("a" => 1,"b" => 2,"c" => 3);
echo $arr[0];
echo $arr[1];
 

打出来的是一片空白。

正确的打印方法:
 

复制代码 代码示例:
echo $arr["a"];

3、增加元素或修改元素的时候只能用 =  了,不能用 =>
 

复制代码 代码示例:
<?php
$arr = array("a" => 1,"b" => 2,"c" => 3);
$arr["c"] => 6;
 

以上操作方法,在php 5.2.5 中会出现编译错误

增加元素或修改元素,要这样来写:
 

复制代码 代码示例:
<?php
$arr = array("a" => 1,"b" => 2,"c" => 3);
$arr["d"] = 4;
$arr["c"] = 6;

删除元素要使用 unset:
 

复制代码 代码示例:
unset ($arr["c"]);

4、想想如下的代码,会输出什么?
 

复制代码 代码示例:
<?php
$arr = array("a" => 1,2,"b" => 3,4);
$arr[] = 5;
foreach($arr as $key => $value)
{
    echo "key:$key value:$value<br>";
}
 

输出结果:
 

key:a value:1
key:0 value:2
key:b value:3
key:1 value:4
key:2 value:5

说明:只有在用户没有定义键时,php 才会自动使用从0开始的数字作为键。
 
5、php 中的数组是有指针的,可以对数组进行向前向后操作
 

复制代码 代码示例:
<?php
$arr = array("a" => 1,3,"b" => 2);
//创建完数组后默认指针指在第一个元素
echo current($arr)."<br>";
//前进一个位置
echo next($arr)."<br>";
//整理的默认原则是从小到大
sort($arr);
//整理完后数组指针又停在第一个元素
echo current($arr)."<br>";
echo next($arr)."<br>";
//后退一个位置
echo prev($arr)."<br>";

输出结果:
1
3
1
2
1