用于在php文件中重用的硬代码数组


Hardcode array for reuse in php file?

我不知道这是否被称为"硬编码",但我想构建一个数组(例如从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文件来解决这个问题——我已经在做了——但我想检查是否有其他(快速)方法可以做到这一点,如上所述。

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

$reusableCode = var_export($yourArray, true);

或者只是输出:

var_export($yourArray);

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

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

然后从你的代码中要求它:

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

我最初误解了你的问题,

所以您想将mysql资源存储到一个文件中?

你提到你正在使用JSON来解决这个问题。

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

示例:

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

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