PHP数组,并使用空/空值进行内爆
我有一个由数据库中的值生成的数组,示例如下:PHP数组,并使用空/空值进行内爆,php,arrays,explode,implode,Php,Arrays,Explode,Implode,我有一个由数据库中的值生成的数组,示例如下: $addressarray = array($results['client']->client_city, $results['client']->client_county, $results['client']->client_postcode); 值由用户使用from输入,上面的数组起作用,并将正确的值放入其中,但有时用户可能无法输入客户端县,因此 $results['client']->client_county
$addressarray = array($results['client']->client_city, $results['client']->client_county, $results['client']->client_postcode);
值由用户使用from输入,上面的数组起作用,并将正确的值放入其中,但有时用户可能无法输入客户端县,因此
$results['client']->client_county
可能是空白的。
我用这个调用数组
$address = implode("\n ", $addressarray);
现在这是我认为需要修复的部分,显然,如果所有字段都有一个值,那么它们将以换行符显示,但是如果像我上面提到的那样,县为空,它将stll输出一个换行符,这样您将得到:
city
postcode
但我想要的是
city
postcode
我猜是
\n
这是一个问题,但我还是一片空白。谢谢你的帮助
Ian尝试在
$adressearray
上使用数组过滤器()
,它会过滤空值。
有关更多信息,我认为您可以在使用内爆()函数之前先使用数组
$address = implode("\n", array_filter($addressarray));
您不需要为array_filter回调以检查值是否为空吗?或者array_filter在默认情况下会这样做吗?@TheSookier如果没有提供回调,则所有等于FALSE的输入项(请参见转换为布尔值)都将被删除。