17

ある種の安全なナビゲーション演算子を使用して次のステートメントを書く方法はありますか?

echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';

次のようになります。

echo $data->getMyObject()?->getName();
4

3 に答える 3

8

いいえ、ありません。

これに対処するための絶対的な最善の方法は、特定の型の既知の適切な定義済みの値を常に返すようにオブジェクトを設計することです。

これが絶対に不可能な状況では、次のことを行う必要があります。

$foo = $data->getMyObject();
if ($foo) {
    echo $foo->getName();
}

または多分

echo ($foo = $data->getMyObject()) ? $foo->getName() : null;
于 2012-09-10T12:34:03.323 に答える