2016-10-07 178 views
0

我有两个数组:比较两个数组和返回值

Array 
(
    [1] = 1575255 
    [2] = 1575258 
) 

Array 
(
    [Aantal kleuren opdruk] = Array 
     (
      [1575252] = 1 kleur 
      [1575253] = 2 kleuren 
      [1575254] = 3 kleuren 
      [1575255] = 4 kleuren 
     ) 

    [Opdrukpositie] = Array 
     (
      [1575256] = Borst 
      [1575258] = Borst en rug 
      [1575257] = Rug 
     ) 

) 

如何我阵列1在他们目前的订单价值比较阵列2的值?

+0

期望的结果是什么? –

+0

要有一个数组1的值匹配数组2的值 –

+0

粘贴所需的结果,并尝试修复它 – jitendrapurohit

回答

2

使用array_column

$arr = []; 
foreach ($arr1 as $key => $value) { 
    $arr[] = array_column($arr2 ,$value); 
} 

print_r($arr); 

假设第一阵列是$ ARR1,第二个是$ ARR2

EDIT

所述一个线解决方案使用array_column和array_map

$arr = array_map(function($value) use ($arr2) {return array_column($arr2, $value);} ,$arr1); 

print_r($arr); 
+0

更好谢谢! –

+0

不错,我们还可以使用array2中的键吗? –

+0

在使用foreach的第一个解决方案中,您只需要使用$ value作为新数组的键, '$ arr [$ value] = array_column($ arr2,$ value);' – hassan

1

好,所以第一个数组有这个。把它作为$a

$a = ["1575255", "1575258"]; 
    $second = ["Aantal kleuren opdruk" => [ 
     "1575252" => "1 kleur", 
     "1575253" => "2 kleuren", 
     "1575254" => "3 kleuren", 
     "1575255" => "4 kleuren" 
    ], 
    "Opdrukpositie" => [ 
     "1575256" => "Borst", 
     "1575258" => "Borst en rug", 
     "1575257" => "Rug" 
       ] 
    ]; 
    foreach($second as $val){ 
    foreach($val as $key => $v){ 
     if(in_array($key, $a)){ 
     echo $v."<br>"; 
     } 
    } 
    } 
+0

甜蜜的工作! –

+0

@CoenPonsen很高兴为您提供帮助。 :) –