热搜:NVER node 开发 php

PHP 改变循环中的值

2024-09-18 14:30:01
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);        }


小弟 刚接触PHP 各位帮帮忙哇


回复讨论(解决方案)

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())