2012-03-06 76 views
-2

的PHP文件中包含的代码,如:解析阵列

<?php 

return array(

    // commments... 
    'some_item'  => 'abc', 

    // commments... 
    'some_other_item' => array(1, 2, 3), 

    ... 

); 

什么是从我的PHP应用程序中,以“解析”这个文件不知何故,并能够在其更新数据的最佳方式,而不会打破格式化,代码等?

+3

为什么你会在PHP代码数据存储在首位? – miki 2012-03-06 20:01:18

+0

这是真正的基础数据,应用程序需要在启动时(db连接)。 – Alex 2012-03-06 20:02:51

+0

然后首先包含文件并为数组命名,如$ myArray = Array(...);并且不需要返回它。 – 2012-03-06 20:04:15

回答

5

$content = require($file);将获得该文件的内容(注意相对路径和require VS include语义)。

file_put_contents($file, '<?php return ' . var_export($content, true) . ';');会将内容写回文件,但格式会改变。如果你确实需要保持格式化,你可以看看PHP Beautifier。这不是一个完美的解决方案。

2

的最佳方法是对include它;是的,include会返回一个值!

$data = include 'someData.php'; 
+0

好的我知道,但是如何更新代码呢? – Alex 2012-03-06 20:07:09

+0

@Alex:你没有。使用数据库。 – Ryan 2012-03-06 20:08:01

1

你想加载包含在数组中的文件名吗?如果是这样的:

$array_of_files = array('header.php','database.php','../inc/other_stuff.php'); 

foreach($array_of_files as $file) 
{ 
    include $file; 
} 
2

假设你的数组只有两个项目

<?php 
    $myArray=include 'data.php'; 
    $myArray[count($myArray)]='Item-3'; 
    echo $myArray[2]; // Item-3 
?>