PHP 整个应用程序的数组


PHP an array for the whole application

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

因此

,我似乎无法将数组另存为常量,因此随时访问数组的最佳方法是什么,最好是无需进一步处理。最好将其存储为JSON对象,因为该信息将与Javascript和PHP一起使用。

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

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 .无法修改对象,因为它是 final 对象,并且属性私有。

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

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

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

因此,将其存储为 $_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];