php – 将值添加到foreach循环内的数组中

前端之家收集整理的这篇文章主要介绍了php – 将值添加到foreach循环内的数组中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图在foreach循环中动态编辑一个数组.我基本上分析了每个键,如果这个键匹配我想要的键,我想在这个键之后立即在数组中添加另一个键.

如果我拿这个代码,

$values = array(
    'foo' => 10,'bar' => 20,'baz' => 30
);

foreach($values as $key => $value){
    print $value . ' ';
    if($key == 'bar'){
        $values['qux'] = 21;
    }
}

我有两个问题,

>首先,输出是10 20 30而不是预期的10 20 30 21
>第二,即使我解决了第一个问题,我的值仍然会在我的数组末尾添加

我如何在bar和baz之间添加qux条目?

谢谢你的想法.

在循环内部,Foreach不会循环添加到数组中的新值.

如果要在两个现有值之间添加新值,可以使用第二个数组:

$values = array(
    'foo' => 10,'baz' => 30
);
$newValues = array();
foreach($values as $key => $value) 
{
    $newValues[$key] = $value;
    if($key == 'bar') 
    {
        $newValues['qux'] = 21;
    }
}
print implode(' ',$newValue);

另外,请参阅StackOverflow上我最喜欢的一个问题,讨论foreach循环:How does PHP ‘foreach’ actually work?

猜你在找的PHP相关文章