最近在做项目的时候需要修改一个数组中的一个元素数据,这时我用了foreach函数来进行遍历,可是结果却出乎意料,数据竟没有改过来。对于我这个之前只用过C语言的菜鸟来说不由得感觉很奇怪,而且我之前一直使用for循环都是正常,可是boss要求,只能用foreach,没办法,只有查手册。
手册上写的很明显,foreach的语法是foreach($arrays as $array),它会在每次遍历把数组的一行赋值给新变量,既然是新的变量,那么自然没有办法修改原数组的数据喽,要修改原数据办法也简单,只要加一个引用符就行了foreach($arrays as &$array)。