Jak załadować tablicę zwracaną z pliku PHP?

88

Mam plik PHP, plik konfiguracyjny pochodzący z pliku tłumaczenia wiadomości Yii , który zawiera:

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

Chcę załadować tę tablicę z innego pliku i przechowywać ją w zmiennej

Próbowałem to zrobić, ale to nie działa

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

$in to nazwa pliku PHP

Jakieś pomysły, jak to zrobić?

bman
źródło
uwaga boczna: jeśli przypisujesz wyniki dołączenia do zmiennej w zasięgu globalnym, upewnij się, że używasz globalsłowa kluczowego, aby użyć zmiennej wewnątrz funkcji.
Użytkownik
3
?>Nie zaleca się zamykania tagów php ( ) w plikach, które nie zawierają kodu HTML i nie wyświetlają niczego. Ponieważ wszystkie znaki następujące po nim zostaną wyprowadzone do standardowego strumienia ( echored.)
Gherman

Odpowiedzi:

14

Zwracanie wartości z pliku dołączanego

Używamy tego w naszym CMS. Jesteś blisko, po prostu musisz zwrócić wartość z tej funkcji.

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

Zobacz przykład 5 # tutaj

Jason
źródło
2
Korzystając ze zwracanej wartości argumentu include, należy bardzo uważać na używanie nawiasów wokół argumentu. Zobacz php.net/manual/en/function.include.php#example-129
Phil
0

Ponieważ plik zwraca tablicę, możesz po prostu przypisać ją do zmiennej

Oto przykład

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

Wynik:

Array
(
    [key] => value
    [key2] => value
)
Nishad Up
źródło