PHP是整个应用程序的数组

时间:2013-11-13 13:13:31

标签: php

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

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

3 个答案:

答案 0 :(得分: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 即可。无法修改对象,因为它是最终的,属性是私有的。

答案 1 :(得分:0)

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

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

说实话,最好选择SQLite或类似的东西。即使是MySQL也是合适的,更不用说如果需要修改数据,它会在轨道上节省很多麻烦。

答案 2 :(得分: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'
  )
);

您的代码中的任何地方都可以访问f.e.第二行第三列,代码如下:

$data = $_SESSION['my_small_data'][2][3];