您好我想创建字符串到数组。我有4个变量:
<?php
$name = "John";
$address = "Moscow";
$born_date = "13-11-1995";
$color = "red";
$join = $name.":".$address.":".$born_date.":".$color;
$array = explode(':', $join);
print_r ($array);
?>
此数组结果为:
Array ( [0] => John [1] => Moscow [2] => 1995-11-13 [3] => red )
当我将$color
变量更改为null
时,$color="";
结果如下:
Array ( [0] => John [1] => Moscow [2] => 1995-11-13 [3] => )
我希望{3}不要显示array
。我希望所有$variable == NULL
/ $variable=="undefined"
/ $varable=""
显示如下:
Array ( [0] => John [1] => Moscow [2] => 1995-11-13)
数组仅显示变量填充。
答案 0 :(得分:1)
我不确定你的要求是什么,但是通过将变量连接在一起然后将它们爆炸来创建这个数组似乎很奇怪。您可以直接将它们添加到数组中,并有条件地添加颜色:
$array = array($name, $address, $born_date);
if ($color) {
$array[] = $color;
}
如果你需要有条件地添加所有元素,你可以创建一个包含所有元素的数组,然后使用array_filter,因为Rasclatt建议消除空元素。
$array = array($name, $address, $born_date, $color);
$array = array_filter($array);
如果按键保持连续很重要,可以使用
$array = array_values(array_filter($array));