if ($this->guardian()) { return $this->guardian(); }<--will this execute method twice?
$guardian = $this->guardian();
if ($guardian) { return $guardian; }
我有一个问题,如果我放置类方法里面的if和return方法,这会执行两次方法吗? (它非常干净,但我不想执行两次)类方法执行两次内if()
if ($this->guardian()) { return $this->guardian(); }<--will this execute method twice?
$guardian = $this->guardian();
if ($guardian) { return $guardian; }
我有一个问题,如果我放置类方法里面的if和return方法,这会执行两次方法吗? (它非常干净,但我不想执行两次)类方法执行两次内if()
是的,它会,除非它返回0,空,假的,等你可以做
if ($ret = $this->guardian()) { return $ret; }
这一个好看明了!多谢! –
第一个选项将执行方法两次,因为你叫它两次。
但第二个选项将方法的结果存储在var $guardian
。 你的第二个方式是正确的做法,因为调用函数时,不需要的话这是不对的,效率低下X
超过一次,这会消耗资源多很多。
是的,它会保留。第二种方法是做 –
正确的方式,但第一种方式看起来很不错,干净笑 –
是的,它会调用该函数,我认为第二个变种会好 –