PHP:从数组中删除空值,然后将其转换为字符串

时间:2015-04-22 15:52:42

标签: php arrays string implode

我知道如何分别执行这些操作(删除空值,并将数组转换为以逗号分隔的字符串),但我无法让它们组合使用,并且无法使用它们。但是却找到了一个很好的方法。我知道我可以使用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

1 个答案:

答案 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()将从中删除。