可以在php中对条件语句进行赋值吗?

Afa*_*mee 5 php conditional variable-assignment conditional-operator

你可以在php中对条件语句进行赋值,如下所示:

if(siteName_err = isValid("sitename", $_POST['sitename'], false))
{
    $siteName = $_POST['sitename'];
}
Run Code Online (Sandbox Code Playgroud)

Ais*_*ina 8

是.

我认为最常见的使用场景是使用MySQL时.例如:

$result = mysql_query("SELECT username FROM user");
while ($user = mysql_fetch_assoc($result)) {
  echo $user['username'] . "\n";
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为$user是作业的结果.然后,将任何存储在赋值中的含义用作条件.换一种说法,

var_dump($i = 5);

// is equivalent to

$i = 5;
var_dump($i);
Run Code Online (Sandbox Code Playgroud)

int(5)显然,两者都会印刷.


Joe*_*oey 6

是.

老实说,你为什么不试试呢?您不允许执行此类操作的语言通常会生成编译器/解析器错误.

PHP从C中获取其大部分基本语法元素,其中包括每个赋值都返回一个值.因此这是有效的.

  • +1"试试看" - 它肯定会快得多 (3认同)