PHP中使用foreach控制数组的扫描
程序员文章站
2022-05-21 17:33:47
...
foreach ($c_f_arr as &$c_f) { if (trim($c_f[0])==trim($char)) { echo "$char is exist
"; $c_f[1]++; echo "hahaha
"; echo "this is cf: $c_f[1]
"; } else { echo "$char is not exist
"; $c_new=array(trim($char),'1'); array_push($c_f_arr, $c_new); $n++; } }
实现的结果总是出现插入值之后,foreach就从头开始扫数组了,然后就会插入好几次。。。foreach是有这个规定吗?怎么破?还在考虑。。。
回复讨论(解决方案)
有没有高手来指导啊,本人PHP刚学了一周的菜鸟。。。。。。
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息, 但不应用于更改集合内容以避免产生不可预知的副作用。
你的写法逻辑有问题, 必须循环完成才能判断是否存在。
你应该是想,当数组有相同的值,count增加,如果数组中没有这个值,则增加这个值。
可以这样写:
foreach用break跳出循环
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息, 但不应用于更改集合内容以避免产生不可预知的副作用。
你的写法逻辑有问题, 必须循环完成才能判断是否存在。
你应该是想,当数组有相同的值,count增加,如果数组中没有这个值,则增加这个值。
可以这样写:
非常感谢!
感谢 mystery138,我这个确实是逻辑有问题
推荐阅读
-
PHP中多维数组的foreach遍历示例
-
PHP中多维数组的foreach遍历示例
-
浅谈PHP中foreach/in_array的使用
-
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
-
php中数组最简单的使用方法
-
PHP中foreach循环中使用引用要注意的地方
-
深入解析PHP中foreach语句控制数组循环的用法
-
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
-
在PHP中灵活使用foreach+list处理多维数组的方法
-
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比