Bagaimana cara memuat kembali array dari file PHP?

89

Saya memiliki file PHP file konfigurasi yang berasal dari file terjemahan pesan Yii yang berisi ini:

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

Saya ingin memuat array ini dari file lain dan menyimpannya dalam sebuah variabel

Saya mencoba melakukan ini tetapi tidak berhasil

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

$in adalah nama file dari file PHP

Ada pemikiran bagaimana melakukan ini?

bman
sumber
catatan samping: jika Anda menetapkan hasil include ke variabel dalam lingkup global, pastikan Anda menggunakan globalkata kunci untuk menggunakan variabel di dalam fungsi.
Pengguna
3
Menutup php-tags ( ?>) di file yang tidak berisi html dan tidak benar-benar menghasilkan apa pun tidak disarankan. Karena setiap karakter yang mengikuti setelah itu akan menjadi keluaran ke aliran standar ( echoed)
Gherman

Jawaban:

14

Mengembalikan nilai dari file yang disertakan

Kami menggunakan ini di CMS kami. Anda sudah dekat, Anda hanya perlu mengembalikan nilai dari fungsi itu.

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

Lihat contoh 5 # di sini

Jason
sumber
2
Saat menggunakan nilai kembalian dari include, Anda harus sangat berhati-hati menggunakan tanda kurung di sekitar argumen. Lihat php.net/manual/en/function.include.php#example-129
Phil
0

Saat file mengembalikan larik, Anda cukup menetapkannya ke dalam variabel

Inilah contohnya

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

Keluaran:

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