我有一個關於PHP的return語句的簡短問題。在C++中,我們能夠執行以下操作:是否有可能在PHP返回語句中執行賦值?
... function body ...
return (foo = bar, biz());
其中變量bar
是biz()
結果之前分配給foo
返回。
這是可能的(或類似的)在PHP中? PHP中的上述語句導致解析錯誤。現在,我知道我可以在返回語句之前簡單地執行任務,但這僅僅是一個人爲的例子,我很好奇可行性。
編輯:提供一點澄清。以下是我基本上試圖在PHP做:
return ($foo = $bar, biz())
|| ($foo = $bar, baz())
|| ($foo = $bar, qux());
foo
是在biz
修改全局引用。如果biz
返回false,則會測試OR語句中的下一個段。因爲biz
返回false,所以在執行baz
等之前,我需要「重置」foo
的值,等等。
我知道我在這裏要做的是不純,但我只是好奇是一個相當於(或至少類似的東西)是可能的在PHP中。
你的意思是像'$回報吧=蘭特(1,9);'? –
爲什麼在一個函數中賦值局部值對不同函數的結果有影響?除非你使用某種形式的全局狀態,這將是愚蠢的。 –
@tereško - 是的,在這個例子中,foo被引用爲全局狀態。我知道這通常構成一個反模式,但假設某些東西是愚蠢的而沒有完整的知識可能有點短視。 – naivedeveloper