假设我有一个这样的数组:
$arr1 = ('red', 'blue');
然后我做:
list($color1, $color2, $color3) = $arr1;
我用数组值得到2个不错的变量。
是否有可能以某种方式将$color3
设置为默认值,以防它在数组中不存在,但代码尽可能少(不使用if
检查和类似的东西)?
我尝试使用list($color1 = 'default', $color2 = 'default', $color3 = 'default') = $arr1;
,但它不起作用......
答案 0 :(得分:1)
试试这个:
$color1 = $color2 = $color3 = array(); // ...or whatever else you want it to be set to
list($color1, $color2, $color3) = $arr1;
答案 1 :(得分:1)
如果首先使用默认值初始化变量,那么
$color1 = $color2 = $color3 =" Blue";
$arr1 = array('red','green');
list($color1, $color2, $color3) = $arr1;
现在$ color3将不会在list函数中设置;所以它会保持原来的价值;
答案 2 :(得分:1)
$yourColors = array('red', 'green');
$defaultColors = array('yellow', 'blue', 'cyan');
list($color1, $color2, $color3) = $yourColors + $defaultColors;
$color1
将为“红色”
$color2
将为“绿色”
$color3
将是“青色”