Làm thế nào để tải mảng trả về từ một tệp PHP?


88

Tôi có một tệp PHP, tệp cấu hình đến từ tệp dịch tin nhắn Yii có chứa tệp này:

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

Tôi muốn tải mảng này từ một tệp khác và lưu trữ nó trong một biến

Tôi đã cố gắng làm điều này nhưng nó không hoạt động

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

$in là tên tệp của tệp PHP

Bất kỳ suy nghĩ làm thế nào để làm điều này?


lưu ý bên: nếu bạn đang gán kết quả của bao gồm cho một biến trong phạm vi toàn cục, hãy đảm bảo rằng bạn sử dụng globaltừ khóa để sử dụng biến bên trong một hàm.
Người dùng

3
Việc đóng thẻ php ( ?>) trong các tệp không chứa bất kỳ html nào và không thực sự xuất ra bất kỳ thứ gì không được khuyến khích. Bởi vì bất kỳ ký tự sau sau khi nó sẽ được sản xuất vào trong dòng tiêu chuẩn ( echoed)
Gherman

Câu trả lời:



14

Trả về giá trị từ một tệp bao gồm

Chúng tôi sử dụng điều này trong CMS của mình. Bạn đã đóng, bạn chỉ cần trả về giá trị từ hàm đó.

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

Xem ví dụ 5 # tại đây


2
Khi sử dụng giá trị trả về include, bạn sẽ có rất cẩn thận về việc sử dụng dấu ngoặc xung quanh cuộc tranh cãi. Xem php.net/manual/en/ Chức năng.include.php
Phil

0

Khi tệp trả về một mảng, bạn có thể chỉ cần gán nó vào một biến

Đây là ví dụ

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

Đầu ra:

Array
(
    [key] => value
    [key2] => value
)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.