简体   繁体   中英

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:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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