在PHP中了解更多关于数组数组和foreach的知识
1.理解数组
PHP中的数组实际上是一个有序映射。映射是一种将值与键相关联的类型。有关详细说明,请参见PHP.net的阵列阵列。
2.示例:通用数组
在这里,我用一个简单的例子,并用图示的方式来理解数组。
$a=数组(3='a ',1='b ',2=' c ');echo var _ dump($ a);
【注意】:用箭头描述数组$a每个单元对应某个内存地址的数据值(其实它的内部结构采用HashTable结构,可以参考Bird Brother写的PHP中的Hash算法)。
3.示例:在数组定义中添加引用。
$ x=' x$a=数组(3='a ',1=$x,2=' c ');echo ' hrecho var _ dump($ a);$ x=' yecho var _ dump($ a);数组$a中的第二个单元格$a [1]对应的数据与$ x相同,使用var_dump($a)时,会在数组的第二个单元格中看到多个符号,即string(1)‘x’,表示引用。
当修改$x='y '的值时,相当于修改$a[1]='y '的值。
下图可以清楚地描述这种变化:
4.示例:使用foreach遍历数组。
$a=数组(3='a ',1='b ',2=' c ');echo ' hrforeach($ a as $ key=$ value){ echo ' $ key=$ value br ';}
在每个循环中,当前数组中单元格的值被赋给$value,单元格的键被赋给$key。如下图所述:
[注意:]灰色虚线箭头表示分配了某个值。
5.示例:在foreach遍历数组中,使用reference赋值。
$a=数组(3='a ',1='b ',2=' c ');echo ' hrforeach($ a as $ key=$ value){ $ value。=' necho ' $ key=$ value br}
在每个循环中,$value指向当前数组中单元格的值,然后执行“$value”。=' n代码,如下图所示:
6.实施例:实施例5的进一步分析。
在示例5中,foreach不会在遍历数组后自动销毁$value变量,该变量指向与数组$a的最后一个单元$a [2]相同的数据
这时$value的值发生了变化,即$a[2]的值发生了变化。
$ value=' mecho ' hrecho ' \ $ value=$ value brecho var _ dump($ a);
实例验证数组最后一个元素的$value引用将在foreach循环后保留。建议Unset()将其销毁。
7.摘要
上面的例子只描述了php中数组和foreach的一些特性。学习到最后,感觉php中的array和foreach与其他编程语言不同,不能用类似C语言的结构来分析PHP。
以上是边肖带来的对PHP中Array Array和foreach的深入理解。希望大家多多支持我们~
版权声明:在PHP中了解更多关于数组数组和foreach的知识是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。