2016-04-11 17 views
0

いくつかの新しいキー/値ペアを特定の場所の連想配列に挿入しようとしています。私が行った他の読書から、私は配列をループして、条件が設定されたときに新しい値を挿入しなければならないと確信しています。ここで phpキー/値を連想配列に挿入

は、キーレビューは、常にデータを持っていない

array(
    (int) 0 => array(
     'Product' => array(
      'id' => '59', 
      'title' => ' Blue Dress', 
      'Review' => array(
       'id' => '7', 
       'product_id' => '59', 
       'Review' => array(
        (int) 0 => array(
         'average' => '3.0000' 
        ) 
       ) 
      ) 
     ) 
    ) 
    (int) 1 => array(
     'Product' => array(
      'id' => '60', 
      'title' => 'Red Dress', 
      'Review' => array() 
     ) 
    ) 
) 

現在の配列ですが、それがないとき、私は次の抜粋

(int) 0 => array(
     'Product' => array(
      'id' => '59', 
      'title' => ' Blue Dress', 
      'Review' => array(
       'id' => '7', 
       'product_id' => '59', 
       'Review' => array(
        (int) 0 => array(
         'average' => '3.0000' 
         'some_value' => '5' 
        ) 
       ) 
      ) 
     ) 
    ) 

に似た新しいキー値を挿入したいです私は成功なしでいくつかのことを試みました。 ご協力いただきありがとうございます。それができるあなたの例では

if(!empty($your_array[index]['Product']['Review'])){ 
    $your_array[index]['Product']['Review']['Review'][index]['some_value'] = 'new_value'; 
} 

:あなたはこのような何かを行うことができ

答えて

0

再び

if(!empty($your_array[0]['Product']['Review'])){ 
    $your_array[0]['Product']['Review']['Review'][0]['some_value'] = 'new_value'; 
} 

、あなたはあなたのコードを言及しませんでした。それで、あなたが正確に何を望んでいるのか分かりにくいです!

+0

は、それはそれだ、ありがとう。明らかに私はまっすぐ考えていませんでした。私はあなたをアップアップするための十分な高い評判を持っていません..そうでなければ私はそうです。 –

0

あなたはあなたの配列を反復処理し、現在の値が参照で渡す必要があります。

// Notice & sign before variable 
foreach ($data as &$product) 
{ 
    if ($product['Product']['Review']) 
    { 
     // or iterate through Review array 
     $product['Product']['Review']['Review'][0]['some_value'] = 5; 
    } 
} 
関連する問題