Я использую сокращенное выражение if, чтобы проверить, присвоено ли значение переменной, мой вопрос заключается в том, должен ли я назначить оператор переменной, потому что он работает, назначил я его или нет.
оператор не назначен переменной | за работой
!empty($name) ? $name : $name="";
оператор, присвоенный переменной | также работает
$is_name = (!empty($name)) ? $name : $name="" ;
Оба утверждения работают, но какое из них правильное или лучше использовать.
В php 5.3+ вы можете использовать это:
$is_name = $name ?: "";
Примечание. В вашем случае это, вероятно, не самая лучшая идея, поскольку она выдает предупреждение, если не задано $ name. Здесь я все равно рекомендую нормальный способ
$is_name = isset($name) ? $name : "";
Но вопрос в том, зачем иметь неинициализированную переменную?
Если у вас просто есть случай, когда $ name может быть пустой строкой, и вы хотите присвоить ей значение по умолчанию в этом случае, оператор?: Подойдет вам.
$is_name = $name ?: "default value";
это может быть лучше. вам не нужно больше! Операция и присвоение переменных.
$is_name = empty($name) ? "" : $name;
или же
$is_name = isset($name) ? $name : ""; //recomended this one