简体   繁体   English

将值追加到另一个数组中的数组

[英]Appending values to an array within another array

I am trying to add elements to an array which is inside another array see below: 我试图将元素添加到另一个数组中的数组中,如下所示:

$allinfo = array(array('Robin','Red'),array('BlueJay', 'Blue'),array('Parakeet', 'Yellow'));

Then inside a for loop ( the loop executes 3 times ) I would like to add these to the inner array: 然后在for循环内(循环执行3次),我想将它们添加到内部数组中:

'3oz' and '5oz' and '2oz' '3oz'和'5oz'和'2oz'

So the result for the $allinfo array would look like this: 因此,$ allinfo数组的结果将如下所示:

allinfo = array(array('Robin','Red', '3oz'),array('BlueJay', 'Blue', '5oz'),array('Parakeet', 'Yellow', '2oz'));

I tried array_push() but the weights all show up at the end of the array, not inserted where they need to be. 我尝试了array_push(),但是权重全部显示在数组的末尾,而不是在需要的地方插入。

Thanks, 谢谢,

Jim 吉姆

You might try 你可以试试

$values = array('3oz', '5oz', '2oz');
for($i=0; $i < count($allinfo); $i++)
{
   $allinfo[$i][] = $values[$i];
}

Might be a slicker way but I'm headed out for lunch: 可能是一种昧的方式,但是我要去吃午饭了:

$allinfo = array(array('Robin','Red'),array('BlueJay', 'Blue'),array('Parakeet', 'Yellow'));
$weights = array('3oz', '5oz', '2oz');

foreach($allinfo as &$array) {
    array_push($array, array_shift($weights));
}
print_r($allinfo);

Try this: 尝试这个:

$weights = array('3oz','5oz', '2oz');
$allinfo = array(array('Robin','Red'),array('BlueJay', 'Blue'),array('Parakeet', 'Yellow'));

foreach($allinfo as $key => &$value){
  array_push($value, $weights[$key]);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM