php - php 中是否有三元运算符的反向版本?

标签 php if-statement syntax

如果条件为真,我想为一个数组分配一些值,否则我想将它分配给另一个数组。我知道这可以通过 if 语句实现。但是,我想知道是否可以使用三元运算符的语法来完成?

使用 if 语句看起来像这样

        if(condition){
            $foo[] = $value;
        } else{
            $bar[] = $value;
        }

但是,我的问题是是否可以这样写?

        ((condition) ? ($foo[]) : ($bar[])) = $value;

最佳答案

是的,你可以,但与你想要的方式略有不同,如下所示:

  • 第一种方法是在每个三元 block 中赋值。

    true ? ($foo[] = $value) : ($bar[] = $value);
    

Online Demo

  • 第二种方式是使用array_push如下所示:

    array_push(${ true ? 'foo' : 'bar' }, $value);
    

Online Demo

注意:将 true 替换为您的条件。

关于php - php 中是否有三元运算符的反向版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72487810/

相关文章:

php - fputcsv : Empty rows in csv file after each array

Javascript if 语句——不需要 {} 吗?

c# - 针对多个值测试变量?

自减/自增运算符的Java表达式解释规则

php - 将 JSON 解析为 JSONArray

php - Doctrine 2 : Call to a member function format() on a non-object . .. 在 DateTimeType.php

haskell - F#有多路if吗?

c++ - 如何在命名空间中使用 += 函数

mysql - 模拟存储过程中的函数调用

php - 哪些特殊字符会导致文件路径被误解?