【问题标题】:PHP: Assigning values to a variable inside IF statementPHP:在 IF 语句中为变量赋值
【发布时间】:2011-02-15 16:23:52
【问题描述】:

我想知道是否可以在 IF 语句中为变量赋值。我的代码如下:

<?php
    if ((count($newArray) = array("hello", "world")) == 0) {
        // do something
    }
?>

所以基本上我想将数组分配给 $newArray 变量,然后计算 newArray 并检查它是否为空数组。

我知道我可以在几行上做到这一点,但我只是想知道我是否可以在一行上做到这一点

【问题讨论】:

    标签: php arrays if-statement variable-assignment


    【解决方案1】:

    试试这个:

    if(count($newArray = array("Hello", "world")) == 0) {
        ....
    }
    

    不过,我建议不要这样做,因为它会降低您的代码的可读性。而且非常不合逻辑,因为您知道有问题的数组包含两个值。但也许你有别的想法。 :)

    【讨论】:

      【解决方案2】:

      是的,你可以,像这样:

      if(count($ary = array(1,2,3)))
      

      执行var_dump 的$ary 给出:

      数组(3){
        [0]=>
        整数(1)
        [1]=>
        整数(2)
        [2]=>
        整数(3)
      }

      【讨论】:

        【解决方案3】:

        其实你不需要在 if 语句中使用 count,因为空数组在 PHP 中被认为是 false。见PHP documentation。

        所以你的代码可以是这样的:

        if (!$newArray = array("hello", "world")) {
            echo "newArray is empty";
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-13
          • 2020-06-27
          • 2015-07-11
          • 2015-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-25
          相关资源
          最近更新 更多