PHP中使用foreach控制数组的扫描
<br>foreach ($c_f_arr as &$c_f) { <br> if (trim($c_f[0])==trim($char)) { <br> echo "$char is exist <br>"; <br> $c_f[1]++; <br> <br> echo "hahaha <br>"; <br> echo "this is cf: $c_f[1] <br>"; <br> } <br> else { <br> echo "$char is not exist <br>"; <br> $c_new=array(trim($char),'1'); <br> array_push($c_f_arr, $c_new); <br> $n++; <br> } <br> } <br>实现的结果总是出现插入值之后,foreach就从头开始扫数组了,然后就会插入好几次。。。foreach是有这个规定吗?怎么破?还在考虑。。。
------解决方案--------------------
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。
你的写法逻辑有问题,必须循环完成才能判断是否存在。
你应该是想,当数组有相同的值,count增加,如果数组中没有这个值,则增加这个值。
可以这样写:
<br><?php<br>$arr = array(array('a',0),array('b',0),array('c',0));<br>$char = 'a';<br>$is_exists = 0;<br>for($i=0,$len=count($arr); $i<$len; $i++){<br> if($arr[$i][0] == $char){<br> $arr[$i][1]++;<br> $is_exists = 1;<br> break;<br> }<br>}<br><br>if($is_exists==0){<br> array_push($arr, array($char,0));<br>}<br><br>print_r($arr);<br>?><br>------解决方案--------------------
foreach用break跳出循环
云点滴客户解决方案是针对中小企业量身制定的具有简单易用、功能强大、永久免费使用、终身升级维护的智能化客户解决方案。依托功能强大、安全稳定的阿里云平 台,性价比高、扩展性好、安全性高、稳定性好。高内聚低耦合的模块化设计,使得每个模块最大限度的满足需求,相关模块的组合能满足用户的一系列要求。简单 易用的云备份使得用户随时随地简单、安全、可靠的备份客户信息。功能强大的报表统计使得用户大数据分析变的简单,










