PHPでこれを行うよりきれいな方法はありますか?
$a = isset($a) ? $a : $b;
Python では、次のようにします。
a = a or b
いいえ、ありません。
これは、将来のバージョンで可能な機能として PHP 開発者によって議論されています (こちらを参照) が、却下されました。
php>=5.3 を使用している場合は、もう少しきれいにすることができます。
$a = isset($a) ?: $b;
EDIT : この場合はisset($a)
問題isset($a)
です。に変更することを検討できますtrue
$a
true
$a = isset($a) ?: $b;
ただし、$a == false || $a == 0
then$a
が次のように設定される場合は注意してください$b