2015-04-03 94 views
1
[lang_1] => Array 
    (
     [0] => Array 
      (
       [answer] => satu 
       [status_answer] => 2 
       [key_array] => 0 
       [language] => lang_1 
      ) 

     [1] => Array 
      (
       [answer] => dua_en 
       [status_answer] => 3 
       [key_array] => 
       [language] => lang_1 
      ) 

     [2] => Array 
      (
       [answer] => lima 
       [status_answer] => 3 
       [key_array] => 
       [language] => lang_1 
      ) 

     [3] => Array 
      (
       [answer] => enam 
       [status_answer] => 3 
       [key_array] => 
       [language] => lang_1 
      ) 

    ) 

[lang_2] => Array 
    (
     [0] => Array 
      (
       [answer] => satu 
       [status_answer] => 3 
       [key_array] => 
       [language] => lang_2 
      ) 

     [1] => Array 
      (
       [answer] => dua_en 
       [status_answer] => 2 
       [key_array] => 1 
       [language] => lang_2 
      ) 

     [2] => Array 
      (
       [answer] => lima 
       [status_answer] => 3 
       [key_array] => 
       [language] => lang_2 
      ) 

     [3] => Array 
      (
       [answer] => enam 
       [status_answer] => 3 
       [key_array] => 
       [language] => lang_2 
      ) 

    ) 

我有這兩個數組。我的問題是,我怎麼能在lang_1與數組中lang_2取代數組,其中status_answer = 2只爲元素替換數組php

+0

如果'lang_2'中有多個元素,其中'status_answer = 2',該怎麼辦? – Barmar 2015-04-03 03:18:27

+0

這不會發生..但如果發生。只需要lang_2中的值。只需要將lang_2替換爲lang_1 – 2015-04-03 03:43:23

+0

因此,編寫一個循環來查找具有所需值的'lang_2'中的元素。然後編寫一個循環,找到要替換的'lang_1'中的元素,並將其替換。 – Barmar 2015-04-03 03:44:35

回答

0

首先搜索lang_2你想:

foreach ($array['lang_2'] as $el) { 
    if ($el['status_answer'] == 2) { 
     $replacement = $el; 
     break; 
    } 
} 

然後搜索lang_1您要更換元素:

foreach ($array['lang_1'] as &$el) { 
    if ($el['status_answer'] == 2) { 
     $el = $replacement; 
    } 
}