Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP拼接到循环的下一个迭代中_Php_Loops - Fatal编程技术网

PHP拼接到循环的下一个迭代中

PHP拼接到循环的下一个迭代中,php,loops,Php,Loops,我想添加到循环的下一个迭代中。例如,如果$value为3,则在保留数组其余部分的同时,为下一个循环拼接一个新值 $array=[1,2,3,4,5]; foreach($array as $key=>&$value){ if($value===3){array_splice($array,$key,0,'test');} echo $value; } // 1,2,3,5 我希望输出为: // 1,2,3,'test',4,5 这是一个简化的示例。使用查找要添加元素的值的键

我想添加到循环的下一个迭代中。例如,如果$value为3,则在保留数组其余部分的同时,为下一个循环拼接一个新值

$array=[1,2,3,4,5];
foreach($array as $key=>&$value){
 if($value===3){array_splice($array,$key,0,'test');}
 echo $value;
}
// 1,2,3,5
我希望输出为:

// 1,2,3,'test',4,5

这是一个简化的示例。

使用查找要添加元素的值的键可能更容易:

$array=[1,2,3,4,5];
if (($k = array_search(3, $array)) !== false) {
    array_splice($array, $k+1, 0, array('test'));
}
print_r($array);
输出:

Array ( 
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => test
    [4] => 4
    [5] => 5 
)

这可能更容易通过查找要添加元素的值的键来完成:

$array=[1,2,3,4,5];
if (($k = array_search(3, $array)) !== false) {
    array_splice($array, $k+1, 0, array('test'));
}
print_r($array);
输出:

Array ( 
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => test
    [4] => 4
    [5] => 5 
)

感谢您提供了出色的解决方案!我还在下面找到了一个不同的解决方案。谢谢,不用担心。很高兴我能帮上忙。谢谢你的伟大解决方案!我还在下面找到了一个不同的解决方案。谢谢,不用担心。很高兴我能帮上忙。如果($value==3){array_-splice($array,0,$value,'test');}试试这个。如果($value==3){array_-splice($array,0,$value,'test');}试试这个。