而不是去数据库是一个非常小的表,例如 3 列和 3 行。我想将该信息放入数组或 JSON 对象中,并将其包含在应用程序头文件中。这些信息经常被使用,足以保证它包含在每一页上。
所以似乎我无法将数组保存为常量,所以在任何时候访问数组的最佳方法是什么,最好不要进一步处理。最好将其存储为 JSON 对象,因为该信息将与 Javascript 和 PHP 一起使用。
而不是去数据库是一个非常小的表,例如 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。该对象无法修改,因为它是最终的并且属性是私有的。
如果不需要修改信息,则数组将很有用,因为要更改它需要手动编辑源代码。
您可以将信息存储在 .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];