Como carregar o array de retorno de um arquivo PHP?

89

Eu tenho um arquivo PHP, um arquivo de configuração proveniente de um arquivo de tradução de mensagens Yii que contém o seguinte:

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

Quero carregar este array de outro arquivo e armazená-lo em uma variável

Eu tentei fazer isso mas não deu certo

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

$in é o nome do arquivo PHP

Alguma ideia de como fazer isso?

bman
fonte
observação lateral: se você estiver atribuindo os resultados da inclusão a uma variável no escopo global, certifique-se de usar a globalpalavra-chave para usar a variável dentro de uma função.
Usuário de
3
Fechar php-tags ( ?>) em arquivos que não contêm nenhum html e não exibem nada na verdade não é recomendado. Porque qualquer caractere após ele será enviado para o fluxo padrão ( echoed)
Gherman

Respostas:

14

Retornando valores de um arquivo de inclusão

Usamos isso em nosso CMS. Você está perto, você só precisa retornar o valor daquela função.

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

Veja o exemplo 5 # aqui

Jason
fonte
2
Ao usar o valor de retorno de include, você deve ter muito cuidado ao usar parênteses ao redor do argumento. Consulte php.net/manual/en/function.include.php#example-129
Phil
0

Como o arquivo que retorna um array, você pode simplesmente atribuí-lo a uma variável

Aqui está o exemplo

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

Resultado:

Array
(
    [key] => value
    [key2] => value
)
Nishad Up
fonte