我正在开发一个PHP库,我想使用数组添加一些硬编码数据。如何根据数组键和值确定构建数据的最佳方式?例如,如果我想去美国,我可以去:
$states = array( 'AL' => 'Alabama', 'AZ' => 'Arizona', ...);
或者我可以去:
$states = array( array('AL', 'Alabama'), array('AZ', 'Arizona'), ...);
我觉得第二个选项可能更好,因为我可以一直构建所有数据,无论有多少“字段”,因为它更类似于数据库行。
修改: 为了澄清,我正在寻找一个我可以使用的通用解决方案或一组规则。例如,数据可能是美国以外的其他数据,并且有1个字段或8个字段而不是2.在这些情况下,可能没有我可以用于密钥的东西。另一个问题是我希望所有数据数组具有相同的结构,还是应该使用最适合特定数据集的数据?
答案 0 :(得分:2)
这会创建key =>值对
$states = array(
'AL' => 'Alabama',
'AZ' => 'Arizona',
...);
这会使用默认密钥
创建所有值$states = array(
array('AL', 'Alabama'),
array('AZ', 'Arizona'),
...);
使用key=>value
对的第一种方法最适合您的需要。
答案 1 :(得分:1)
我会选择第一种方法,因为它不是嵌套的,其次在没有嵌套循环的情况下很容易循环,在这种情况下你也不需要嵌套数组。
答案 2 :(得分:1)
我会选择第一个。
$states = array(
'AL' => 'Alabama',
'AZ' => 'Arizona',
...);
如果您需要更多字段,则可以始终使用嵌套解决方案:
$states = array(
'AL' => array( name => 'Alabama', population => 104 ),
'AZ' => array( name=> 'Arizona', population => 121 ),
...);
或
$states = array(
'AL' => array( 'Alabama', 104 ),
'AZ' => array( 'Arizona', 121 ),
...);
答案 3 :(得分:0)
第一个更好。你可以在php中使用foreach命令
foreach($states as $key => $value){
echo $key . " = " . $value . "<br/>";
}
所以你可以用你的$ key和$ value来操作
代替:echo $key . " = " . $value . "<br/>";
DO
foreach($states as $key => $value){
echo $states[$key] . "<br/>";
//或者只是回显$ value of course
}
这只会给你全名,但会基于$ key。
底线是第一个在array()的特定应用中更强。