带有一个等号的php if语句......?这是什么意思?

Fru*_*ice 13 php

我正在尝试解决问题,需要了解这个if语句的含义:

if ($confirmation = $payment_modules->confirmation()) { 
Run Code Online (Sandbox Code Playgroud)

我能找到的所有资源只显示带有双等号的语句,而不是单个.这是一个PHP的速记形式吗?它在做什么?

(如果它实际上是错误的语法,将其更改为双等号并不能解决问题.原样,在某些情况下它确实返回true.在我正在排除故障的情况下,它直到我之后才会返回true刷新浏览器.)

任何帮助是极大的赞赏!!!

nic*_*ckf 20

这是一种速记形式,与此完全相同:

$confirmation = $payment_modules->confirmation();
if ($confirmation) {

}
Run Code Online (Sandbox Code Playgroud)


Joe*_*oel 8

这将首先分配$payment_modules->confirmation()to 的值$confirmation.该=运营商将评估到的新的价值$confirmation.

这与写作效果相同:

$confirmation = $payment_modules->confirmation();
if ($confirmation) {
  // this will get executed if $confirmation is not false, null, or zero
}
Run Code Online (Sandbox Code Playgroud)

  • 这更像是一个元观察,但是当代表较低的人比具有较高代表的人具有较少的上选票时,即使答案几乎相同且较低代表的人首先回答,这不是很有趣吗?有趣的社会现象就是全部.+1以获得与该代码一起清晰的解释. (3认同)