如何为使用list()设置的变量提供默认值?

时间:2011-05-08 18:45:26

标签: php arrays list

假设我有一个这样的数组:

$arr1 = ('red', 'blue');

然后我做:

list($color1, $color2, $color3) = $arr1;

我用数组值得到2个不错的变量。

是否有可能以某种方式将$color3设置为默认值,以防它在数组中不存在,但代码尽可能少(不使用if检查和类似的东西)?

我尝试使用list($color1 = 'default', $color2 = 'default', $color3 = 'default') = $arr1;,但它不起作用......

3 个答案:

答案 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将是“青色