Wie lade ich ein Rückgabearray aus einer PHP-Datei?

86

Ich habe eine PHP-Datei, eine Konfigurationsdatei, die aus einer Yii- Nachrichtenübersetzungsdatei stammt, die Folgendes enthält:

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

Ich möchte dieses Array aus einer anderen Datei laden und in einer Variablen speichern

Ich habe versucht, dies zu tun, aber es funktioniert nicht

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

$in ist der Dateiname der PHP-Datei

Irgendwelche Gedanken, wie das geht?

bman
quelle
Randnotiz: Wenn Sie die Ergebnisse des Includes einer Variablen im globalen Bereich zuweisen, stellen Sie sicher, dass Sie das globalSchlüsselwort verwenden, um die Variable innerhalb einer Funktion zu verwenden.
Benutzer
2
Das Schließen von php-tags ( ?>) in Dateien, die kein HTML enthalten und tatsächlich nichts ausgeben, wird nicht empfohlen. Weil alle Zeichen, die danach folgen, in den Standard-Stream ( echoed) ausgegeben werden
Gherman

Antworten:

14

Rückgabe von Werten aus einer Include-Datei

Wir verwenden dies in unserem CMS. Sie sind nah dran, Sie müssen nur den Wert dieser Funktion zurückgeben.

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

Siehe Beispiel 5 # hier

Jason
quelle
2
Wenn Sie den Rückgabewert von verwenden include, sollten Sie sehr vorsichtig sein , wenn Sie das Argument in Klammern setzen. Siehe php.net/manual/en/function.include.php#example-129
Phil
-1

Als Datei, die ein Array zurückgibt, können Sie es einfach einer Variablen zuweisen

Hier ist das Beispiel

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

Ausgabe:

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