@ganbatte

Одна PHP работает в функции без установленного переменного, а другая нет, почему?

Вот это функция работает у меня, а у другой PHP не работает, отчего это зависит ?
test($test);
 function test($test = "") {
   echo "123";
}

При вызове функции test, $test не установлен.
В одной PHP проходит без каких либо ошибок, а в другой пишет ошибку test, undefined variable
  • Вопрос задан
  • 83 просмотра
Решения вопроса 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
В одной PHP проходит без каких либо ошибок,
То что вы их не видите не значит что их нет.
Ответ написан
Комментировать
kawabanga
@kawabanga
// вот тут должна быть магия с начальной инициализацией $test.  а вот есть $test = null,  то test($test) возвратит значение  функции с $test по умолчанию. 
test($test); // у вас вот тут $test не инициализирована скорее всего. В обоих PHP при включении всех ошибок и уведомлений, будет всплывать Warning.  
 function test($test = "") { // $test= '' работает только для этой функции, строка выше вне контекста функции. 
   echo "123";
}
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
пишет ошибку
Не ошибку, а уведомление.
В одном случае уведомления проглатываются, а в другом нет - разные уровни error_reporting.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@qwermus
Отчёт об ошибках в одном месте включен, в другом выключен. Переменную надо определить прежде, чем использовать. Либо, если она определяется в другом месте, то можно дописать перед вызовом функции:
if (!isset($test)) { // Если переменная не определена
$test = false; // Определим её
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы