我正在开发一个PHP脚本来保存大量信息。 让我们试着解释一下我们的情况吧!
我实际上有33个不同的电台。 对于33个站中的每个站,我有5个不同的类别。 对于每个有5个不同类别的33个站点,我每个类别有37个不同的值。
我需要一个2d的3d数组来存储这些信息吗?
谢谢!
答案 0 :(得分:1)
听起来像关系数据库的工作!
但是你的初步假设是正确的。您需要一个三维数组来保存您的信息,因为您的数据有3层:站点,类别和值。
答案 1 :(得分:1)
这个
的php数组没问题$MyArray = array('Station1' => array('Category1' =>
array('Value1'=> 1000,'Value2'=> 1001),
'Category2' => array('Value1' => 2332)), etc...
'Station2' => array('Category1' =>
array('Value1'=> 1000,'Value2'=> 1001),
'Category2' => array('Value1' => 2332)), etc
etc
);
答案 2 :(得分:1)
这样的东西可行,只需根据需要添加更多数据:
$station_array =
array(
'station1' => array(
'cat1' => array ('val1','val2','val3'),
'cat2' => array ('val1','val2','val3'),
'cat3' => array ('val1','val2','val3')
),
'station2' => array (
'cat1' => array ('val1','val2','val3'),
'cat2' => array ('val1','val2','val3'),
'cat3' => array ('val1','val2','val3')
),
'station3' => array (
'cat1' => array ('val1','val2','val3'),
'cat2' => array ('val1','val2','val3'),
'cat3' => array ('val1','val2','val3')
)
);
答案 3 :(得分:0)
在关联数组中传递两个以上的维度后,最好开始考虑使用对象来存储信息。对象使得理解事物的组织变得容易得多,它们可以强制对数据进行验证限制(确保它的形式应该是这样),并且可以调用数据上的函数来操作它(而不是随机外部)函数操纵你的整个数组)。一个例子是:
class CategoryValue {
var $val; // your value
function __construct($val) {
$this->val = $val;
}
}
class Category {
var $values = array(); // an array of CategoryValue objects
function addValue(CategoryValue $val) {
$this->values[] = $val;
}
}
class Station {
var $categories = array(); // an array of Category objects
function addCategory(Category $category) {
$this->categories[] = $category;
}
}
答案 4 :(得分:-1)
$data = array(
md5('StationX'.'CategoryY'.'PropertyZ') => 'ValueU',
md5('StationA'.'CategoryB'.'PropertyC') => 'ValueQ'
);
通过这种方式,您可以立即获取数据,当您想为PropertyZ添加值时,无需先检查是否为StationA初始化了CategoryB数组