Home >Backend Development >PHP Tutorial >PHP 改变循环中的值
PHP
foreach($array as $key=>&$value){ //如果 $value 也是一个数组 //我要拆分 $value 例如足够拆分2此 $result = array_slice($value,0,3); //下次循环 的 $value = array_slice($value,3); //问: 怎么是下次循环数组为 array_slice($value,3); }
foreach($array as $key=>&$value){ foreach($value as $key2=>&$value2){ foreach($value2 as $key3=>&$value3){ } }}
楼上 如果我循环内 有其他操作 这样会很麻烦啊
我想到将
$value 分割后
再将 $value 重新赋值一下
然后 prev($array );
不知到这样可行吗 正在测试
用递归...
写个递归方法不就搞定了
不可以!
因为数组被传入进 foreach 后,就无法在外部操控其内部指针了
你可以用 for 循环配合 array_splice 来实现
或许用 ArrayObject 通过迭代器能够实现,没做过,不好说
若 循环的数组 $array 后面追加数据呢
这样 最后就会循环到分割后的数组了
有上面问题?
for 可以,但取决于终值的写法
foreach 不可以
首先用一个foreach将你分割好的内容放到另外一个数组中,然后foreach这个新数组不就可以了么?
或者你可以尝试下 while(each())