将文件中的数组(通过fileget_contents获取)转换为实际的php数组



我的框架中有一个语言文件,它基本上是一个数组

eng/language.php

<?php
return [
'HomeSearchtTitle'=>' search what you want ! ' ,
'wellcom'=>' Wellcom !' ,
'ResultSuccess'=>' here is the result ' ,
];
?>

我想让语言动态,这样用户就可以添加新的语言,也可以通过php直接更新这个language.php文件

所以需要在language.phpviia file_get_contents中获取这个数组,并将字符串结果转换为实际的php数组,这样我就可以将其呈现给用户。。。。类似的东西

$language = eval(str_replace(['<?php' , '?>' , 'return'  ] , '' , file_get_contents("$dir_path/language.php")));

这总是返回空

你知道我该怎么做吗?

来自PHP手册:

可以在包含的文件中执行return语句,以终止该文件中的处理并返回到调用该文件的脚本。此外,还可以从包含的文件返回值。可以像对待普通函数一样,获取include调用的值。

这意味着您可以简单地执行以下操作:

$languageArray = include "$dir_path/language.php";

要回写修改后的数组,请使用var_export:

...
$languageArray['new_string'] = 'New String!';
file_put_contents("$dir_path/language.php", '<?php return ' . var_export($languageArray, true) . '; ?>');

相关内容

  • 没有找到相关文章

最新更新