2015-04-03 274 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; 
    } 
}