Использование оператора объединения нулей для отображения экранированного вывода

Есть ли возможность использовать оператор объединения нулей И эхо в одном выражении, например:

echo htmlspecialchars($_POST['email']) ?? '';

Как короткая форма

if (isset($_POST['email'])) {
echo htmlspechars($_POST['email']);
}

Есть идеи?

0

Решение

Нулевой оператор объединения не испускает E_NOTICE когда параметр не определен.

Так что вы могли бы сделать $email = htmlspecialchars($_POST['email'] ?? '');

Обратите внимание, что нулевой оператор объединения применяется к переменная ($_POST['email']) а также не к результату htmlspecialchars(),

Если вы хотите использовать условный троичный оператор (?:), тогда вам нужно проверить, установлена ​​ли переменная, прежде чем работать с ней.

if ( isset($_POST['email']) ) {
$email = htmlspecialchars($_POST['email'] ?: '');
}

Обратите внимание, что isset() будет TRUE если переменная установлено (или, другими словами, это определенный и имеет значение, отличное от NULL).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]