2016-10-03 84 views
0

我有這樣的陣列去除空值密鑰值對distors訂購關聯數組

[1] => Array 
    (
     [Assembly required] => Yes 
     [Max load (kg)] => 120 
     [Product weight (kg)] => 
     [Warranty (years)] => 3 
     [Height adjustable] => Yes 
     [Lumbar support] => 
     [Back tilt adjustment] => Yes 
     [Seat tilt adjustment] => Yes 
     [Chair height range (mm)] => 880 - 950 
     [Chair seat width (mm)] => 500 
     [Chair seat depth (mm)] => 480 
     [Chair back height (mm)] => 410 
     [Chair back width (mm)] => 420 
     [Seat height range (mm)] => 440 - 580 
     [AFRDI Approved] => 
     [Optional adjustable arms] => Yes 
     [image] => https://cdn.shopify.com/s/files/1/1249/7859/files/Chair.png?18135080827462508830 
    ) 

以上陣列的的var_dump是

  [1]=> 
     array(17) { 
     ["Assembly required"]=> 
     string(3) "Yes" 
     ["Max load (kg)"]=> 
     string(3) "120" 
     ["Product weight (kg)"]=> 
     string(0) "" 
     ["Warranty (years)"]=> 
     string(1) "3" 
     ["Height adjustable"]=> 
     string(3) "Yes" 
     ["Lumbar support"]=> 
     string(0) "" 
     ["Back tilt adjustment"]=> 
     string(3) "Yes" 
     ["Seat tilt adjustment"]=> 
     string(3) "Yes" 
     ["Chair height range (mm)"]=> 
     string(9) "880 - 950" 
     ["Chair seat width (mm)"]=> 
     string(3) "500" 
     ["Chair seat depth (mm)"]=> 
     string(3) "480" 
     ["Chair back height (mm)"]=> 
     string(3) "410" 
     ["Chair back width (mm)"]=> 
     string(3) "420" 
     ["Seat height range (mm)"]=> 
     string(9) "440 - 580" 
     ["AFRDI Approved"]=> 
     string(0) "" 
     ["Optional adjustable arms"]=> 
     string(3) "Yes" 
     ["image"]=> 
     string(80) "https://cdn.shopify.com/s/files/1/1249/7859/files/Chair.png?18135080827462508830" 
     } 

我想從上面卸下空白值對。

foreach($singlearr as $key=>$value){  
     if(is_null($value) || $value == '') 
      unset($singlearr[$key]); 
    } 

這除去鍵 - 值對的值是空但它在以下順序扭曲序列。

[1] => Array 
    (
     [Assembly required] => Yes 
     [Max load (kg)] => 120 
     [Warranty (years)] => 3 
     [Height adjustable] => Yes 
     [Back tilt adjustment] => Yes 
     [Chair height range (mm)] => 880 - 950 
     [Chair seat width (mm)] => 500 
     [Chair seat depth (mm)] => 480 
     [Chair back height (mm)] => 410 
     [Chair back width (mm)] => 420 
     [Seat height range (mm)] => 440 - 580 
     [image] => https://cdn.shopify.com/s/files/1/1249/7859/files/Chair.png?18135080827462508830 
     [Seat tilt adjustment] => Yes 
     [Optional adjustable arms] => Yes 
    ) 

結果陣列的var_dump形式:

  [1]=> 
     array(14) { 
     ["Assembly required"]=> 
     string(3) "Yes" 
     ["Max load (kg)"]=> 
     string(3) "120" 
     ["Warranty (years)"]=> 
     string(1) "3" 
     ["Height adjustable"]=> 
     string(3) "Yes" 
     ["Back tilt adjustment"]=> 
     string(3) "Yes" 
     ["Chair height range (mm)"]=> 
     string(9) "880 - 950" 
     ["Chair seat width (mm)"]=> 
     string(3) "500" 
     ["Chair seat depth (mm)"]=> 
     string(3) "480" 
     ["Chair back height (mm)"]=> 
     string(3) "410" 
     ["Chair back width (mm)"]=> 
     string(3) "420" 
     ["Seat height range (mm)"]=> 
     string(9) "440 - 580" 
     ["image"]=> 
     string(80) "https://cdn.shopify.com/s/files/1/1249/7859/files/Chair.png?18135080827462508830" 
     ["Seat tilt adjustment"]=> 
     string(3) "Yes" 
     ["Optional adjustable arms"]=> 
     string(3) "Yes" 
     } 

爲例如。在上面這個結果數組中,[image]就像上面這樣移動。

回答

3

可以使用

array_filter()

它會從一個數組中過濾掉所有空和空值..

official documentation

+0

使用此刪除您的空數組中的值字段$ arr = array_filter($ arr); –

+0

@NaveenKumar @jaimin array_filter()刪除空我不需要檢查,但它也扭曲了以前的順序。我正在從'CSV'文件中讀取數組 –