Я новичок на сайте (привет!), И у меня была проблема, которую я пока не могу решить. Я ищу его, но никаких результатов. Думаю, это глупо, но я не могу найти решение.
Я переношу систему (php) на другой сервер (оба являются CentOS), и у меня есть проблема с кавычками в php vars
example:
--------
$_GET[var]
$db_reg[assoc]
$array[value]
define(NAME,'value')
etc..
Все случаи могут исправить добавление котировок в индексы, но дело в том, что у меня есть тысяча php файлов, каждая из которых имеет миллионы строк, и я не могу проверять один за другим.. для этого потребуется около двух жизней.
На старом сервере он работает нормально, но в новом, vars не распознаются, показывает уведомление PHP:
"Notice: Use of undefined constant XXXX - assumed 'XXXX in..."
(ej: $_POST[XXXX])
Является ли какая-либо конфигурация на Apache или PHP для распознавания или нет (нечеткие) цитаты на vars?
Версия php на обоих серверах одинакова, и я проверил php.ini и схожу.
Цените свою помощь, благодарите заранее.
Даниил
Угадайте, что вам нужна информация об переменных и их использовании (при работе с массивами) и фиксированных указательных конкрециях
Использование переменных:
$array = array('hi', 'you', 'there');
$i = 1;
echo $array[$i]; // -> works and is **fine** (will output 'you')
// --------------------------------
$array = array('a' => 'hi', 'b' => 'you', 'c' => 'there');
echo $array['a']; // -> works and is **fine**
// note: in especially that case **NEVER** user bare-words like this: echo $array[a] for >> a << here is expected to be a constant which (mostly) does not exist !
// php is so fuzzy that it will mostly interpret around like insane and output you the desired value ('hi' in that case) but that was never meant to be! And should always be prevented. Thats the reason for you getting that notice...
// So never do this:
echo $array[a];
// ... if >> a << is NOT a valid and available contant
Важно (суммируется до точки): слова без кавычек и доллара считаются константами, которые вы, возможно, не используете очень часто. В большинстве случаев вы используете кавычки (как описано выше) или реальные переменные (обозначенные символом $) в качестве индекса для доступа к структурам данных/массивам
Ну, вы можете попробовать отредактировать файл php.ini: change error_reporting = E_ALL to error_reporting = E_ALL & ~ E_NOTICE. Это отключит все уведомления, но не уверен, что это решит проблему. Пожалуйста, попробуйте сообщить нам, если это работает или нет для вас.