有条件地在数组中添加元素

| 如何在array()语句的下面数组中有条件地添加“ 0”?
$arr = array(\'a\' => abc)
三元运算符不允许我这样做     
已邀请:
        
$a = array(\'a\' => \'abc\') + ($condition ? array(\'b\' => \'xyz\') : array());
    
        您需要执行两个步骤:
$arr = array(\'a\' => \'abc\');

if(condition) {
    $arr[\'b\'] = \'xyz\';
}
    
        这是一个老问题,但是您可以使用array_merge完成此操作:
array_merge([\'foo\' => \'bar\'], $condition ? [\'baz\' => \'boo\' ] : []);
    
        
$arr = array(\'a\' => \'abc\');
if ($condition_required_for_b_to_be_put_in_the_array) {
   $arr[\'b\'] = \'xyz\';
}
如果您真的想使用三元运算符:
$arr = array(\'a\' => \'abc\', $condition ? \'b\' : \'\' => $condition ? \'xyz\' : \'\');
$arr = array_filter($arr);
    
        不知道你在问什么;为什么不
if (condition) { 
   $arr[\'b\'] = \'xyz\';
}
    
        三元表示三个术语。您必须有一个条件,一个真实的部分和一个错误的部分。它代替if条件,然后为true部分,否则为false部分。您不能忽略第三部分。 5.3中有一个快捷方式,如果条件也可以用作真实部分,则可以省略真实部分,但实际上它仍然包含三个术语。     

要回复问题请先登录注册