2016-10-03 29 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'文件中读取数组 –