Home >Backend Development >PHP Tutorial >PHP 改变循环中的值

PHP 改变循环中的值

WBOY
WBOYOriginal
2016-06-23 14:16:10933browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn