硬编码数组在php文件中重用?

时间:2016-01-10 20:14:52

标签: php mysql

我不知道这是否被称为" hardcoding",但我想构建一个数组(例如来自mysqli_fetch_assoc查询)并将其输出以便在config.php中重用文件。

所以mysql的输出是:

[structure] => Array
    (
        [0] => Array
            (
                [structureid] => 23
                [active] => 1
            )

        [1] => Array
            (
                [structureid] => 25
                [active] => 1
            )

它会像这样存储在config.php文件中:

$structure[0]['structureid'] = 23;
$structure[0]['active'] = 1;
$structure[1]['structureid'] = 25;
$structure[1]['active'] = 1;

有一种简单快捷的方法可以实现这一目标吗?

正如有人指出的那样,我可以使用json文件来解决这个问题 - 我已经在做了 - 但我想检查是否会有另一种(快速)方法,如上所述。< / p>

2 个答案:

答案 0 :(得分:0)

您可以使用var_export()创建一个可读(并且代码可重用)的数组,然后将其放入配置文件中:

$reusableCode = var_export($yourArray, true);

或者只输出它:

var_export($yourArray);

您可以将其放入带有返回的配置文件中,如下所示:

return array(
    'your' => 'values'
);

然后require来自您的代码:

$configData = require('yourConfigFileWithTheArray.php');

答案 1 :(得分:0)

我最初误解了你的问题,

所以你想将mysql资源存储到文件中吗?

您提到您正在使用JSON来解决此问题。

这是一种很好的方法,另一种方法是序列化/反序列化对象,而不是将它们保存到文件中。 JSON解决方案简单易读。

示例:

$data = serialize($rows);
file_put_contents('data.txt', $data);

$data = file_get_contents('data.txt');
$rows = unserialize($data);

但是你将无法读取序列化的输出。