0

而不是去数据库是一个非常小的表,例如 3 列和 3 行。我想将该信息放入数组或 JSON 对象中,并将其包含在应用程序头文件中。这些信息经常被使用,足以保证它包含在每一页上。

所以似乎我无法将数组保存为常量,所以在任何时候访问数组的最佳方法是什么,最好不要进一步处理。最好将其存储为 JSON 对象,因为该信息将与 Javascript 和 PHP 一起使用。

4

3 回答 3

2

如果你想要一些无法改变的东西,试试这个。您只需要加载该类,然后就可以在应用程序引导过程中使用它,或者在您进行类加载或在类加载器中注册它的任何地方使用它。

final class SomeData {
    private static $data = array(
        1 => array(
            1 => '1st row 1st column',
            2 => '1st row 2nd column',
            3 => '1st row 3rd column'
        ),
        2 => array(
            1 => '2nd row 1st column',
            2 => '2nd row 2nd column',
            3 => '2nd row 3rd column'
        ),
        3 => array(
            1 => '3rd row 1st column',
            2 => '3rd row 2nd column',
            3 => '3rd row 3rd column'
        )
    );
    public static function getData() {
        return self::$data;
    }
}

print_r(SomeData::getData());

如果您想像数组一样访问数据对象,您可以简单地实现ArrayAccess。该对象无法修改,因为它是最终的并且属性是私有的。

于 2013-11-13T13:31:53.373 回答
0

如果不需要修改信息,则数组将很有用,因为要更改它需要手动编辑源代码。

您可以将信息存储在 .json 文件中,并在每个会话中将值加载到数组中。

老实说,最好使用 SQLite 或类似的。甚至 MySQL 也是合适的,更不用说如果需要修改数据,它可以节省很多麻烦。

于 2013-11-13T13:18:39.443 回答
0

然后将其作为数组存储在 $_SESSION 中。并且随时可以访问。

此代码将在您的标题中:

session_start();

$_SESSION['my_small_data'] = array(
  1 => array(
    1 => '1st row 1st column',
    2 => '1st row 2nd column',
    3 => '1st row 3rd column'
  ),
  2 => array(
    1 => '2nd row 1st column',
    2 => '2nd row 2nd column',
    3 => '2nd row 3rd column'
  ),
  3 => array(
    1 => '3rd row 1st column',
    2 => '3rd row 2nd column',
    3 => '3rd row 3rd column'
  )
);

在您的代码中的任何地方,您都可以使用以下代码访问第二行第三列:

$data = $_SESSION['my_small_data'][2][3];
于 2013-11-13T13:24:04.257 回答