Php 从数组中删除空值--或等效值

Php 从数组中删除空值--或等效值,php,arrays,Php,Arrays,我想显示一组变量,其中一些是空的。我想保留一些变量中的空格。我想将它们显示为逗号分隔的列表。如果我按顺序回显它们,var1、var2、var6、var10,。听起来删除多余的逗号并不难,但我的想法没有奏效 因为我有很多,我不想条件打印每一个-允许第一个或最后一个逗号的位置,或者用1个逗号或复杂的东西迭代替换多个逗号。。i、 我想找到一个简单的可重复的方法,无论何时出现这种情况都可以使用 一个想法是将字符串转换为数组并删除空值。我可以去掉空白和回音,可以毫无问题地打印var1、var2、、var8

我想显示一组变量,其中一些是空的。我想保留一些变量中的空格。我想将它们显示为逗号分隔的列表。如果我按顺序回显它们,
var1、var2、var6、var10,
。听起来删除多余的逗号并不难,但我的想法没有奏效

因为我有很多,我不想条件打印每一个-允许第一个或最后一个逗号的位置,或者用1个逗号或复杂的东西迭代替换多个逗号。。i、 我想找到一个简单的可重复的方法,无论何时出现这种情况都可以使用

一个想法是将字符串转换为数组并删除空值。我可以去掉空白和回音,可以毫无问题地打印
var1、var2、、var8、、
。但是,我找不到删除逗号的方法,即数组中的空值

我试过:

$array = "one,two,,,six,,,ten";
$array= array_filter($array);
foreach($array as $val) {
echo $val;}}
foreach($array as $val) {
if ($val!=""&$val!=NULL) {
echo $val;}}
}
它没有去掉逗号。在web上没有以下建议:

array_flip(array_flip($array); or
$array = array_values($array); or

可能是我的错别字,但如果有经验的人能给你一些建议,我将不胜感激。

你不能删除的原因是你没有使用有效的数组。。要使用有效数组,您需要执行以下操作:

$array = "one,two,,,six,,,ten";
$array = explode(",",$array);
$array= array_filter($array);

var_dump($array);
输出

array
  0 => string 'one' (length=3)
  1 => string 'two' (length=3)
  4 => string 'six' (length=3)
  7 => string 'ten' (length=3)
要转换回字符串,请使用
内爆

输出

string 'one,two,six,ten' (length=15)
谢谢
:)

无法删除的原因是您没有使用有效的数组。。要使用有效数组,您需要执行以下操作:

$array = "one,two,,,six,,,ten";
$array = explode(",",$array);
$array= array_filter($array);

var_dump($array);
输出

array
  0 => string 'one' (length=3)
  1 => string 'two' (length=3)
  4 => string 'six' (length=3)
  7 => string 'ten' (length=3)
要转换回字符串,请使用
内爆

输出

string 'one,two,six,ten' (length=15)
谢谢
:)

我遗漏了一行$array=array(“一,二,三”);我用它代替了explode,但是,它肯定没有起作用,因为使用explode确实允许过滤器工作。我能够将数组修剪到所需的值。呼应,不产生逗号。所以我接受了你的第二个建议,然后崩溃了,这就成功了。谢谢出于好奇,正如我正在学习的,explode和array(“一”、“二”、“三”)之间有什么区别?使用explode将字符串转换为元素数组I省略了一行$array=array(“一、二、三”);我用它代替了explode,但是,这肯定没有起作用,因为使用explode确实允许过滤器工作。我能够将数组修剪到所需的值。回音,没有产生逗号。所以我接受了你的第二个建议并内爆,这就完成了工作。谢谢!在我学习的过程中,出于好奇,d是什么分解和数组(“一”、“二”、“三”)之间的区别?使用分解将字符串转换为元素数组