Мои настройки php и настройки php на хостинге не ругаются если использовать записьif ($_POST['specialist_id']) {...}.
Хорошему программисту на php лучше использовать if (isset($_POST['specialist_id'])) {...}или не возбраняется писать просто if ($_POST['specialist_id']) {...}?
Рекомендую всегда использовать isset() в данном контексте.
isset проверяет на существование переменную или элемент массива. А сам if проверяет уже значение. Это совершенно разные конструкции. Рекомендуеться проверять и на наличие переменной и само значение.
+-------------------+-------------+-------------------+
|$var | isset($var) | if($var) |
+-------------------+-------------+-------------------+
|не задана | false | false + E_NOTICE |
+-------------------+-------------+-------------------+
|приводится к false | true | false |
|[],"",false,0,"0" | | |
+-------------------+-------------+-------------------+
|приводится к true | true | true |
+-------------------+-------------+-------------------+
Для полного эквивалента вашего условия нужно проверять не только что переменная задана, но и что значение у нее есть:
if (!empty($_POST['specialist_id'])) {
// эквивалент isset($_POST['specialist_id']) && $_POST['specialist_id']
}
Другим вариантом может быть отключить ругань в вашем варианте:
if (@$_POST['specialist_id'])) {
}
Впрочем на последний многие будут смотреть с опаской и подозрением.
Если в $_POST не будет ['key'], то есть $_POST['key'] не будет установлен, будет выведен NOTICE, а если сделать isset($_POST['key']) то даже, если этот ключ не будет определен, NOTICE не будет.
В отличии от empty конструкция isset поддерживает оператор and so on, по этому мы можем использовать такой синтаксис: isset($_POST['key'], $_POST['key2']), чего нельзя делать с empty.
Проверку на то, что переменная или ключ массива существует, нужно делать только в том случае, если вы не уверены, что этой переменной или ключа массива может не быть.
Это относится к тем областям. где переменная или ключ массима создается динамически или может быть удален в ходе.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости