Come caricare un array di ritorno da un file PHP?


88

Ho un file PHP un file di configurazione proveniente da un file di traduzione dei messaggi Yii che contiene questo:

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

Voglio caricare questo array da un altro file e memorizzarlo in una variabile

Ho provato a farlo ma non funziona

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

$in è il nome del file PHP

Qualche idea su come farlo?


nota a margine: se si assegnano i risultati dell'inclusione a una variabile nell'ambito globale, assicurarsi di utilizzare la globalparola chiave per utilizzare la variabile all'interno di una funzione.
Utente

3
La chiusura di php-tags ( ?>) in file che non contengono html e che in realtà non restituiscono nulla è sconsigliata. Perché tutti i caratteri che seguono verranno visualizzati nel flusso standard ( echondr)
Gherman

Risposte:



14

Restituzione di valori da un file di inclusione

Lo usiamo nel nostro CMS. Sei vicino, devi solo restituire il valore da quella funzione.

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

Vedi esempio 5 # qui


2
Quando si utilizza il valore restituito di include, è necessario prestare molta attenzione all'utilizzo delle parentesi attorno all'argomento. Vedi php.net/manual/en/function.include.php#example-129
Phil

0

Poiché il file restituisce un array, puoi semplicemente assegnarlo a una variabile

Ecco l'esempio

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

Produzione:

Array
(
    [key] => value
    [key2] => value
)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.