而不是去数据库寻找一个非常小的表,例如 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];