php - 在 if 语句表达式中设置变量

标签 php if-statement

我今天遇到了一些有趣的代码。我试图找出这是否是 PHP 的一个功能,或者我是否遗漏了某些东西,但在 Google 上找不到任何东西。可能是因为我不知道它的名字。

代码

if($logo = \Repositories\Logo::getLogoData($id)){
     $logo_href = $logo->link;
}

变量 $logo 没有在其他任何地方设置。似乎此 if 语句中的表达式正在检查该类方法是否返回任何内容并同时设置要在语句中使用的变量 $logo

这是真的吗?如果是这样,这到底叫什么!?!

最佳答案

您可以在条件中进行这样的分配。逻辑上发生的事情是,该值被分配给 $logo,然后 $logo 被评估是否为真。如果为真,则执行条件中的代码。

在循环遍历数据库结果集的情况下,您经常会看到这种赋值/求值,但一般来说,为了阅读 g 代码时的清晰度,我建议应该避免在这种常见用例之外使用它。

关于php - 在 if 语句表达式中设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092730/

相关文章:

php - 如何使用一张表的连接获取唯一行?

python - Matlab 中的 Switch/Case 到 Python 中的 If/Else

oracle - 检查是否存在 PLS-00405 : subquery not allowed in this context

javascript - 在处理中通过字符串将图像加载到 Canvas

php - 尝试在Wordpress的自定义头像功能中获取非对象通知的属性

javascript - 如何高效加载过滤后的 AJAX 内容?

php - MySQL SSH 控制台正确运行子查询,但 mysqli 为子查询列返回零

excel - 使用 VLOOKUP 查找具有多个重复项的最大值 "IDs"

excel - 多个 If/Then 调用选项

PHP 检查用户是否存在 PDO