Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中使用跳过特定数组项的内爆数组_Php_Arrays - Fatal编程技术网

在php中使用跳过特定数组项的内爆数组

在php中使用跳过特定数组项的内爆数组,php,arrays,Php,Arrays,我正在尝试使用跳过特定值的方式内爆数组 我的阵列是: $unit = array("123","56","0","1","10","965","65","0"," ","63"); 从上面的数组中,我不希望内爆时出现0(零)和空白值,我尝试了以下方法: $implode1 = implode(",", array_filter($unit)); Output : 123,56,1,10,965,65, ,63 (Skipping 0 but not blank value) 我尝试了arr

我正在尝试使用跳过特定值的方式内爆数组

我的阵列是:

$unit = array("123","56","0","1","10","965","65","0"," ","63");
从上面的数组中,我不希望内爆时出现0(零)和空白值,我尝试了以下方法:

$implode1 = implode(",", array_filter($unit));

Output : 123,56,1,10,965,65, ,63 (Skipping 0 but not blank value)
我尝试了
array\u filter
函数的回调方法

在下面的示例中,我尝试内爆数组,不需要0、1和空值

$implode1 = implode(",", array_filter($unit,function($v,$k){
    return $v != " " || $v != '1' || $v != '0';
},ARRAY_FILTER_USE_BOTH));

output : 123,56,0,1,10,965,65,0, ,63

谁能告诉我这两种方法哪里不对吗?

&
代替
|

$implode1 = implode(",", array_filter($unit,function($v,$k){
    return $v != " " && $v != '1' && $v != '0';
},ARRAY_FILTER_USE_BOTH));
但在您的情况下,最好将值转换为int并检查:

$implode1 = implode(",", array_filter($unit,function($v,$k){
    return (int)$v > 1;
},ARRAY_FILTER_USE_BOTH));
这里将跳过零和空值(将转换为零)甚至非数值(也将转换为零)。由于您不需要
1
太多,我添加了
大于
检查


另外,由于您在函数中不使用
$k
,您可以跳过它并使用
数组_过滤器_两者
参数。

如果您不介意的话,可以帮我解决这个问题吗?