2014-02-08 62 views
0

當我打印一個數組我得到以下輸出:刪除最後一個陣列中,不統一之前的數組多維數組內

Array 
(
    [0] => Array 
     (
      [0] => 200 
      [1] => 300 
      [2] => 300 
     ) 

    [1] => Array 
     (
      [0] => 500 
      [1] => 600 
      [2] => 900 
     ) 

    [2] => Array 
     (
      [0] => 800 
      [1] => 700 
      [2] => 300 
     ) 

    [3] => Array 
     (
      [0] => 
     ) 

) 

前三陣列是統一的,但最後的數組包含的關鍵是空。我想刪除與前面的數組相比不均勻的鍵,並且可能包含空值。我用array_filter這樣的:

foreach($arr as $k => $v){ 
    array_filter($arr); 
} 

回答

0

下面的代碼將成爲你的目的:

$arr = array(
    array(200, 300, 300), 
    array(500, 600, 900), 
    array(800, 700, 300), 
    array(null) 
); 

foreach($arr as $k => $v){ 
    if(!is_array($v) || array_keys($v) !== array(0, 1, 2)) 
    unset($arr[$k]); 
} 

print_r($arr); 

輸出將是:

Array 
(
    [0] => Array 
     (
      [0] => 200 
      [1] => 300 
      [2] => 300 
     ) 

    [1] => Array 
     (
      [0] => 500 
      [1] => 600 
      [2] => 900 
     ) 

    [2] => Array 
     (
      [0] => 800 
      [1] => 700 
      [2] => 300 
     ) 

) 
相關問題