【问题标题】:i only want to have array without null values (i have used empety(), isset(), is_null); below is my array and code that i have implemented toget array我只想拥有没有空值的数组(我使用了 empety()、isset()、is_null);下面是我的数组和我已经实现的代码
【发布时间】:2017-02-02 09:25:54
【问题描述】:

当我从 xsl 表中获取数据时,形成了以下数组 我用过 empty()、isset()、is_null 但都没有工作

下面是我的代码

for($i = 0; $i < count($newSheetData); $i++){

if($newSheetData[$i][0] == ''){

unset($newSheetData[$i]);

}else{

//unset($newSheetData[$i]);

}

}

这是我的输出:

<pre/>Array
(

[0] => Array

(

[0] => quetion

[1] => option1

[2] => option2

)

[1] => Array

(

[0] => What

[1] => a

[2] => b

)

[2] => Array

(

[0] => now

[1] => a

[2] => b

)

[3] => Array

(

[0] => What

[1] => a

[2] => b

)

[4] => Array

(

[0] =>  

[1] =>  

[2] => 

)

[5] => Array

(

[0] =>  

[1] =>  

[2] =>    

)

[6] => Array

(

[0] =>  

[1] =>  

[2] =>  

)

[7] => Array

(

[0] =>  

[1] =>  

[2] => 

)

[8] => Array

(

[0] =>  

[1] =>  

[2] =>  

)

[9] => Array

(

[0] =>  

[1] =>  

[2] => 

)

[10] => Array

(

[0] =>  

[1] =>  

[2] => 

)

)

)

我想要这种类型的数组

Array (

[0] => Array

(

[0] => quetion

[1] => option1

[2] => option2

)

[1] => Array

(

[0] => What

[1] => a

[2] => b

)

[2] => Array

(

[0] => now

[1] => a

[2] => b

)

[3] => Array

(

[0] => What

[1] => a

[2] => b

)

【问题讨论】:

  • 请使用一些常识和正确的标签。这与 CakePHP 完全无关。我已经编辑了标签。

标签: php arrays


【解决方案1】:
foreach ($newSheetData as $key => $value) {
    $dataFiltred = array_filter($value, function($var) {
        if ($var === 0 || $var === '0' || !empty($var)) {
            return true;
        }
        return false;
    });
    if (empty($dataFiltred)) {
        unset($newSheetData[$key]);
    } 
}

【讨论】:

  • 谢谢,但它给了我一个空键数组
    Array ( [0] => [1] => [2] => [3] => [4] => [5] =>)
猜你喜欢
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2012-12-11
相关资源
最近更新 更多