Adrian
Adrian

Reputation: 2291

Merge 1 multidimensional array with a simple array

I am trying to merge 2 arrays: 1 multidimensional and another one normal:

Multidimensional array - $_SESSION["products"]

array (size=2)
  0 => 
    array (size=4)
      'name' => string 'Lg Monitor' (length=10)
      'code' => string '30' (length=2)
      'qty' => string '1' (length=1)
      'price' => string '1300.50' (length=7)
  1 => 
    array (size=4)
      'name' => string 'Smasung Monitor' (length=15)
      'code' => string '29' (length=2)
      'qty' => string '1' (length=1)
      'price' => string '2300.50' (length=7)

Simple array - $qty

array (size=2)
  0 => string '2' (length=1)
  1 => string '3' (length=1)

EXPECTED OUTPUT

array (size=2)
  0 => 
    array (size=4)
      'name' => string 'Lg Monitor' (length=10)
      'code' => string '30' (length=2)
      'qty' => string '2' (length=1) // notice the qty change
      'price' => string '1300.50' (length=7)
  1 => 
    array (size=4)
      'name' => string 'Smasung Monitor' (length=15)
      'code' => string '29' (length=2)
      'qty' => string '3' (length=1) // notice the qty change
      'price' => string '2300.50' (length=7)

I tried:

foreach ($_SESSION["products"] as $cart_itm){
    foreach($qty as $qt) {
        $cart_itm['qty'] = $qt;
    }
 }

But did not work, cart_itm['qty'] remained the same (1).

Upvotes: 0

Views: 36

Answers (1)

Try with this:

foreach ($_SESSION["products"] as $key => &$cart_itm){
    $cart_itm['qty'] = $qty[$key];
}

Upvotes: 1

Related Questions