2011-07-22 36 views
0

我有這樣的陣列可以稱之爲陣列1陣列差

Array 
(
    [0] => Array 
     (
      [Machine] => Array 
       (
        [id] => 7 
        [name] => XYZ 
        [priority] => 1 
       ) 

      [Software] => Array 
       (
        [id] => 472 
       ) 

     ) 

    [1] => Array 
     (
      [Machine] => Array 
       (
        [id] => 6 
        [name] => ABC 
        [priority] => 0 
       ) 

      [Software] => Array 
       (
        [id] => 470 
       ) 

     ) 

    [2] => Array 
     (
      [Machine] => Array 
       (
        [id] => 1 
        [name] => IEU 
        [priority] => 3 
       ) 

      [Software] => Array 
       (
        [id] => 471 
       ) 

     ) 

) 

然後我已經另一個陣列可以稱之爲陣列2

Array 
(
    [0] => 7 
    [1] => 5 
    [2] => 4 
    [3] => 3 
    [4] => 6 
) 

如果陣列2不必須[機器] [ID]然後我希望它從陣列1.移除像上面的例子1將刪除

[2] => Array 
      (
       [Machine] => Array 
        (
         [id] => 1 
         [name] => IEU 
         [priority] => 3 
        ) 

       [Software] => Array 
        (
         [id] => 471 
        ) 

      ) 

就如何實現這一任何想法。由於

回答

1

嘗試類似:

$new_array = array(); 
foreach ($array1 as $platform) 
{ 
    if (in_array($platform["Machine"]["id"], $array2)) 
    { 
     $new_array[] = $platform; 
    } 
} 

return $new_array; 
3

也許..

foreach ($array1 AS $key => $array) { 
    if (!in_array($array['Machine']['id'], $array2)) 
     unset($array1[$key]); 
}