刚看了php入门教程,总结一些由于php版本不同,引发的php数组操作的一些问题。
以下内容在 php5.2.5 环境下测试完成。
1、
1,"b" => 2,"c" => 3);
如果这样定义数组会报编译错误:
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版下载动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
因此,定义数组的时候只能用 =>
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
1,"b" => 2,"c" => 3); echo $arr[0]; echo $arr[1];
打出来的是一片空白。
正确的打印方法:
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
echo $arr["a"];
3、增加元素或修改元素的时候只能用 = 了,不能用 =>
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
1,"b" => 2,"c" => 3); $arr["c"] => 6;
以上操作方法,在php 5.2.5 中会出现编译错误
增加元素或修改元素,要这样来写:
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
1,"b" => 2,"c" => 3); $arr["d"] = 4; $arr["c"] = 6;删除元素要使用 unset:
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
unset ($arr["c"]);4、想想如下的代码,会输出什么?
复制代码代码示例:
立即学习“PHP免费学习笔记(深入)”;
1,2,"b" => 3,4); $arr[] = 5; foreach($arr as $key => $value) { echo "key:$key value:$value
"; }
输出结果:
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免费学习笔记(深入)”;
1,3,"b" => 2);//创建完数组后默认指针指在第一个元素
echo current($arr)."
";
//前进一个位置
echo next($arr)."
";
//整理的默认原则是从小到大
sort($arr);
//整理完后数组指针又停在第一个元素
echo current($arr)."
";
echo next($arr)."
";
//后退一个位置
echo prev($arr)."
";输出结果:
13121











