我知道如何分别执行这些操作(删除空值,并将数组转换为以逗号分隔的字符串),但我无法让它们组合使用,并且无法使用它们。但是却找到了一个很好的方法。我知道我可以使用print_r来显示我的过滤器的结果,但这没有用,因为我最终需要将生成的字符串发送到数据库(这是另一天)。任何帮助表示赞赏!
我有:
$array = array('item1', 'item2', '', 'item4');
//this should filter out the empty values (index 3)
$filter = array(array_filter($array));
//this should then take that filtered array and convert to a comma-separated string
$comma_separated = implode(",", $filter);
echo $comma_separated;
每当我尝试这个时,我的输出就是:
Array
答案 0 :(得分:1)
尝试这种方式,无需将后过滤推送到另一个阵列&你得到的地方$orderArray
?
$array = array('item1', 'item2', '', 'item4');
$filter=array_filter($array); // see here, i didn't add another array()
$comma_separated = implode(",", $filter);
echo $comma_separated;
编辑:更短的方式,礼貌 @MHakvoort
$comma_separated = implode(",", array_filter($array));
array_filter:"如果没有提供回调,则所有输入条目都相等 将删除FALSE。"这意味着值为NULL的元素, 0,' 0','',FALSE,array()将从中删除。