在Php,如果我写的东西像
If ($this->that()){ return $this->that()}
Run Code Online (Sandbox Code Playgroud)
它执行$this->that()两次吗?或者该解析器是否将其解决并将其减少为1次调用?
尽可能保持代码清洁,但不希望为了一个变量赋值而将执行时间加倍.
是的,它执行两次.
要使其执行一次,您应该将其值保存到变量中并返回变量:
if ($value = $this->that()) {
return $value;
}
Run Code Online (Sandbox Code Playgroud)