Как загрузить возвращаемый массив из файла PHP?

88

У меня есть файл PHP, файл конфигурации, исходящий из файла перевода сообщений Yii, который содержит следующее:

<?php
 return array(
  'key' => 'value'
  'key2' => 'value'
 );
?>

Я хочу загрузить этот массив из другого файла и сохранить его в переменной

Я пытался это сделать, но не работает

function fetchArray($in)
{
   include("$in");
}

$in это имя файла PHP

Есть мысли, как это сделать?

bman
источник
примечание: если вы назначаете результаты включения переменной в глобальной области видимости, убедитесь, что вы используете globalключевое слово для использования переменной внутри функции.
Пользователь
3
?>Не рекомендуется закрывать php-tags ( ) в файлах, которые не содержат HTML и фактически ничего не выводят. Потому что любые символы, следующие после него, будут выведены в стандартный поток ( echoред)
Gherman

Ответы:

14

Возврат значений из включаемого файла

Мы используем это в нашей CMS. Вы близки, вам просто нужно вернуть значение из этой функции.

function fetchArray($in)
{
  if(is_file($in)) 
       return include $in;
  return false
}

См. Пример 5 # здесь

Джейсон
источник
2
При использовании возвращаемого значения includeследует очень осторожно использовать круглые скобки вокруг аргумента. См. Php.net/manual/en/function.include.php#example-129
Фил,
0

Как файл, возвращающий массив, вы можете просто назначить его переменной

Вот пример

$MyArray = include($in);
print_r($MyArray);

Выход:

Array
(
    [key] => value
    [key2] => value
)
Нишад Ап
источник