phpstorm - загадка undefined variable

281
17 июля 2017, 16:28

Такая ситуация: есть два файла - в одном обьявлено два массива

$arrGlobalTableCode = array(
'orders' => 1,
'order_executors' => 2,
);
$arrGlobalTableCode2 = array(
'orders' => 1,
'order_executors' => 2,
);

во втором файле подключаю первый

require_once 'lib/table_type.php';

использую массивы:

error_log("arr1 = ".print_r($arrGlobalTableCode,1)); 
error_log("arr2 = ".print_r($arrGlobalTableCode2,1));

первым массив выводится нормально, второй подсвечен ворнингом undefined variable и соот. ничего не выводится

в чем тут дело может быть?
если скопировать массив2 из первого файла и напрямую вставить в код второго файла - все определяется и выводится

Answer 1

Ошибка области видимости, попробуй во втором файле объявить переменные глобальными. Вот документация: Область видимости переменной

global $arrGlobalTableCode, $arrGlobalTableCode2;
error_log("arr1 = ".print_r($arrGlobalTableCode,1)); 
error_log("arr2 = ".print_r($arrGlobalTableCode2,1));
READ ALSO
Как правильно прописывать путь к файлу в PHP?

Как правильно прописывать путь к файлу в PHP?

Как правильно прописывать путь к файлу в PHP?

263
Оптимизация рендеринга HTML

Оптимизация рендеринга HTML

Есть три ссылки на сортировки (по статусу, эладресу, имени), по умолчанию - все по возрастанию

225
Почему этот код работает? HeapAlloc

Почему этот код работает? HeapAlloc

Доброго времени суток! Пытаюсь научится выделять динамически память с помощью winapi

257
SystemError: <built-in function func_math> returned a result with an error set

SystemError: <built-in function func_math> returned a result with an error set

Хочу связать си\с++ код с кодом pythonДля этого сделал решение в котором 2 проекта: 1 на плюсах, 1 на питоне

434