而不是去一个非常小的表的数据库,例如3列和3行。我想将该信息放在数组或JSON对象中,并将其包含在应用程序头文件中。这些信息的使用经常足以保证它包含在每一页上。
所以我似乎无法将数组保存为常量,因此在任何时候访问数组的最佳方法是什么,最好不需要进一步处理。将它存储为JSON对象会很好,因为信息将与Javascript以及PHP一起使用。
答案 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];