จะโหลด return array จากไฟล์ PHP ได้อย่างไร?


89

ฉันมีไฟล์ PHP ไฟล์กำหนดค่าที่มาจากไฟล์แปลข้อความYiiซึ่งมีสิ่งนี้:

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

ฉันต้องการโหลดอาร์เรย์นี้จากไฟล์อื่นและเก็บไว้ในตัวแปร

ฉันพยายามทำสิ่งนี้ แต่ไม่ได้ผล

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

$in คือชื่อไฟล์ของไฟล์ PHP

มีความคิดว่าจะทำอย่างไร?


หมายเหตุด้านข้าง: หากคุณกำหนดผลลัพธ์ของการรวมให้กับตัวแปรในขอบเขตส่วนกลางตรวจสอบให้แน่ใจว่าคุณใช้globalคีย์เวิร์ดเพื่อใช้ตัวแปรภายในฟังก์ชัน
ผู้ใช้

3
ไม่แนะนำให้ปิด php-tags ( ?>) ในไฟล์ที่ไม่มี html และไม่ส่งออกอะไรเลย เนื่องจากอักขระใด ๆ ที่ตามหลังจะถูกส่งออกไปยังสตรีมมาตรฐาน ( echoเอ็ด)
Gherman

คำตอบ:



14

การส่งคืนค่าจากไฟล์รวม

เราใช้สิ่งนี้ใน CMS ของเรา คุณอยู่ใกล้คุณเพียงแค่ต้องคืนค่าจากฟังก์ชันนั้น

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

ดูตัวอย่าง 5 # ที่นี่


2
เมื่อใช้ค่าตอบแทนของincludeคุณควรจะมากระมัดระวังเกี่ยวกับการใช้วงเล็บรอบการโต้แย้ง ดูphp.net/manual/en/function.include.php#example-129
Phil

0

เมื่อไฟล์ส่งคืนอาร์เรย์คุณสามารถกำหนดให้เป็นตัวแปรได้

นี่คือตัวอย่าง

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

เอาท์พุต:

Array
(
    [key] => value
    [key2] => value
)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.