If语句中的PHP变量赋值

检查函数的返回值的通常做法是运行函数并将值存储在变量中,然后测试该变量。这是使用该strstr()函数的过程示例。

$string = 'abcde';

$var = strstr($string, 'f');

if ( false !==  $var ) {

    var_dump($var);

} else {

    var_dump($var);

}

该代码将输出“ bool(false)”,因为这是该strstr()函数的返回值。

还有一种在单个if语句中编写相同代码的方法。下面的示例在一行代码中分配变量并检查返回值。

$string = 'abcde';

 

if ( false !== $var = strstr($string, 'f') ) {

    var_dump($var);

} else {

    var_dump($var);

}

该代码将bool(false)再次输出“ ”,因为它具有与上一个示例相同的功能。

这样分配变量存在一个问题,那就是只能执行一个操作。如果您一次尝试分配多个变量,则会发现除最终变量以外的所有内容都是布尔比较的结果。以下面的示例为例,该示例使用与其他示例相同的$string变量。

if ( false !== $var1 = strstr($string, 'a') 

    && false !== $var2 = strstr($string, 'b') 

    && false !== $var3 = strstr($string, 'c') ) {

    var_dump($var1, $var2, $var3);

}

此代码的输出如下:

bool(true) bool(true) string(3) "cde"

前两个比较结果为true,因此为$var1和$var2分配了布尔值true。最终比较是唯一分配了期望值的比较。这可能是PHP中的错误,但是由于这是分配变量的非标准方式,因此我认为没有多少人遇到过这种情况。

以上是 If语句中的PHP变量赋值 的全部内容, 来源链接: utcz.com/z/338876.html

回到顶部