2017-06-12 182 views
-1

我有两个数组,我想匹配第一个数组的键与另一个数组,如果两个键匹配的值然后将第二个数组的值添加到数组1匹配数组值并合并,如果值匹配在PHP中

阵列1

[{"currency":1,"amount":23},{"currency":1,"amount":30},{"currency":2,"amount":40},] 

阵列2

[{"currency_id": 1,"currency_symbol":$},{"currency_id":2,"currency_symbol":€}] 

所需的输出是:

[{"currency":$,"amount":23},{"currency":$,"amount":30},{"currency":€,"amount":40}] 

我使用的代码是:

foreach($a1 as $key) { 
      foreach($a2 as $cKey){ 
       if($a1['currency']==$a2['currency_id']){ 
        $a1['currency_symbol'] = $a2['currency_symbol']; 
        echo $a1['currency_symbol']; 
       } 
      } 
     } 
+0

你的问题是什么? –

+0

到目前为止,您已经实现了哪些目标来实现所需的输出? –

+0

我试着用foreach循环,但我不知道要与其他数组匹配键值, – mohit

回答

1
foreach($arr1 as $k=>$key) { 
    foreach($arr2 as $cKey){ 
     if($key['currency']==$cKey['currency_id']){ 
      $arr3[$k]['currency'] = $cKey['currency_symbol']; 
      $arr3[$k]['amount'] = $key['amount']; 
     } 
    } 
} 
var_export($arr3); 

你只需要分配变量和打印外循环。