Нет общей разницы между переменными в PHP 4 и 5.
То, на что вы, вероятно, ссылаетесь, это уровень сообщений об ошибках «E_NOTICE».Когда этот уровень включен, PHP будет жаловаться, если используется переменная, которая еще не была назначена.Этот уровень уже существовал в PHP 4:
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
echo $hello_world; // Will output nothing, but also not output a notice
error_reporting(E_ALL);
echo $hello_word; // Will output "Notice: Undefined variable"
На сообщения об ошибках PHP можно влиять с помощью параметра php.ini «error_reporting» или во время выполнения сценария с помощью error_reporting()
функция.
Что касается других отличий, их множество.Посетите ссылку Гордона о переходе с PHP 4 на 5.