是否可以将if语句放在像这样的数组
中array(1 => 1, 2 => 2 if(!empty(3)){echo ", 3 => 3";});
而不是
if(!empty(3)){
array (1 => 1, 2 => 2, 3 => 3);
}
else {
array (1 =>1, 2 => 2);
}
答案 0 :(得分:3)
您可以在创建数组后添加值
$array = [1 => 1, 2 => 2];
if (...) {
$array[3] = 3;
}
如果你不需要密钥,你也可以写
$array[] = 3;
答案 1 :(得分:1)
$array = [ 1 => 1, 2 => 2 ];
if ( !empty(3) ) {
$array[3] = 3;
}
答案 2 :(得分:0)
您可以使用条件运算符作为值,如下所示
$array = array(
'1' => '1',
'2' => '2',
'3' => $cond ? '3' : ''
);
如果你需要在密钥中添加条件,你可以在下面进行
if ($cond) {
$array[3] = 3;
}
您还可以使用array union operator
或array_merge
:
array('1' => '1') + ($cond ? array('3' => '3') : array())
array_merge(array('1' => '1'), $cond ? array('3' => '3') : array())
现在你必须决定什么对你有好处。