如何在PHP中最好地构建硬编码数组数据?

时间:2013-04-27 07:06:27

标签: php arrays

我正在开发一个PHP库,我想使用数组添加一些硬编码数据。如何根据数组键和值确定构建数据的最佳方式?例如,如果我想去美国,我可以去:

$states = array(
    'AL' => 'Alabama',
    'AZ' => 'Arizona',
    ...);

或者我可以去:

$states = array(
    array('AL', 'Alabama'),
    array('AZ', 'Arizona'),
    ...);

我觉得第二个选项可能更好,因为我可以一直构建所有数据,无论有多少“字段”,因为它更类似于数据库行。

修改: 为了澄清,我正在寻找一个我可以使用的通用解决方案或一组规则。例如,数据可能是美国以外的其他数据,并且有1个字段或8个字段而不是2.在这些情况下,可能没有我可以用于密钥的东西。另一个问题是我希望所有数据数组具有相同的结构,还是应该使用最适合特定数据集的数据?

4 个答案:

答案 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()的特定应用中更强。