0
有什麼辦法可以使用某種safe navigation operator來寫下面的語句嗎?PHP中的安全導航操作符?
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
因此,它看起來像這樣:
echo $data->getMyObject()?->getName();
有什麼辦法可以使用某種safe navigation operator來寫下面的語句嗎?PHP中的安全導航操作符?
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
因此,它看起來像這樣:
echo $data->getMyObject()?->getName();
沒有沒有。
解決這個問題的絕對最好的方法是設計你的對象的方式,他們總是返回一個已知的,好的,特定類型的定義值。
對於有些情況下,這是絕對不可能的,你必須做的:
$foo = $data->getMyObject();
if ($foo) {
echo $foo->getName();
}
也許
echo ($foo = $data->getMyObject()) ? $foo->getName() : null;
好的。至少你的第二個建議比我的短一點。 – Dennis
PHP不是常規;) – codeling
這是我第一次聽到的時髦,我已經厭倦了這個功能。 :-) – nothrow
爲什麼你會對這個功能感到厭煩?它的一個很棒的功能。 – beku8