Переменная без $, возможно ли это?

возможно ли, чтобы указана переменная без использования $?

Например:

if ($a != 0 && a == true) { ... } 

Я так не думаю, но код (не написанный мной) не показывает ошибку, и я думаю, что это странно. Я пропустил код, а также не постоянный.

Related of "Переменная без $, возможно ли это?"

В PHP может быть определена константа, которая тогда не имела бы $ , но переменная должна иметь один. Однако это НЕ переменная и не является заменой переменной. Константы предназначены для определения точно один раз и не изменяются на протяжении всего срока действия скрипта.

 define('a', 'some value for a'); 

Кроме того, вы не можете интерполировать значение константы внутри строки с двойным кавычкой или HEREDOC:

 $a = "variable a" define('a', 'constant a'); echo "A string containing $a"; // "A string containing variable a"; // Can't do it with the constant echo "A string containing a"; // "A string containing a"; 

Наконец, PHP может выдать уведомление об Use of undefined constant a - assumed 'a' и интерпретировать ее как ошибочно некорректную строку "a" . Посмотрите в свой журнал ошибок, чтобы узнать, происходит ли это. В этом случае "a" == TRUE действителен, так как строка "a" не пуста и сравнивается с логическим TRUE.

 echo a == TRUE ? 'true' : 'false'; // Prints true // PHP Notice: Use of undefined constant a - assumed 'a' 

С помощью этого кода:

 if ($a != 0 && a == true) { ... } 

Вы не получаете никакой ошибки, потому что вы (или кто-то еще) сказали PHP не сообщать об ошибках, предупреждениях или уведомлениях с этим кодом. Вы устанавливаете отчет об ошибках на более высокий уровень, и вы получите уведомление:

Примечание: использование неопределенной константы a – предполагается «a» в …

Это будет означать, что a читается как константа со значением "a" . Я думаю, это не то, что вы на самом деле ищете.

 if ($a != 0 && "a" == true) { ... } 

Вторая часть "a" == true всегда будет true , так что это на самом деле так:

 if ($a != 0) { ... } 

Поскольку это не ваш код, можно только предположить, что это не было предназначено оригинальным автором.

Итак: переменные в PHP всегда начинаются со знака доллара $ . Все остальное не является переменной.

По определению переменная ДОЛЖНА начинаться с $. Кроме того, он не может начинаться с числа, поэтому имя переменной, например $ 1badVar, недействительно. Однако он может начинаться с букв или символов подчеркивания.