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

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:

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

So the result for the $allinfo array would look like this:

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.

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]);
}