如果条件为真,我想为一个数组分配一些值,否则我想将它分配给另一个数组。我知道这可以通过 if 语句实现。但是,我想知道是否可以使用三元运算符的语法来完成?
使用 if 语句看起来像这样
if(condition){
$foo[] = $value;
} else{
$bar[] = $value;
}
但是,我的问题是是否可以这样写?
((condition) ? ($foo[]) : ($bar[])) = $value;
最佳答案
是的,你可以,但与你想要的方式略有不同,如下所示:
第一种方法是在每个三元 block 中赋值。
true ? ($foo[] = $value) : ($bar[] = $value);
第二种方式是使用
array_push
如下所示:array_push(${ true ? 'foo' : 'bar' }, $value);
注意:将 true
替换为您的条件。
关于php - php 中是否有三元运算符的反向版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72487810/