2

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

$states = 数组(
    'AL' => '阿拉巴马州',
    'AZ' => '亚利桑那',
    ...);

或者我可以去:

$states = 数组(
    数组('AL','阿拉巴马'),
    数组('AZ','亚利桑那'),
    ...);

我觉得第二种选择可能更好,因为这样我就可以始终如一地以这种方式构造所有数据,而不管有多少“字段”,因为它更类似于数据库行。

编辑: 为了澄清,我正在寻找一个通用的解决方案或一组我可以使用的规则。例如,数据可能是美国以外的数据,并且有 1 个字段或 8 个字段而不是 2 个字段。在这些情况下,我可能无法将某些东西用作键。另一个问题是我是否希望所有数据数组具有相同的结构,还是应该使用最适合特定数据集的任何数据?

4

4 回答 4

2

这会创建 key=>value 对

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

这将使用默认键创建所有值

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

使用key=>valuepair 的第一种方法最适合您的需要。

于 2013-04-27T07:08:29.903 回答
1

我会选择第一种方法,因为它不是嵌套的,其次它很容易在没有嵌套循环的情况下循环,在这种情况下你也不需要嵌套数组。

于 2013-04-27T07:08:26.493 回答
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 ),
        ...);
于 2013-04-27T07:15:41.323 回答
1

第一个更好。您可以在 php 中使用 foreach 命令

foreach($states as $key => $value){

 echo $key . " = " . $value . "<br/>";

}

所以你可以用你的 $key 和 $value 进行操作

代替:echo $key . " = " . $value . "<br/>";

foreach($states as $key => $value){

 echo $states[$key] . "<br/>";

// 当然也可以简单地回显 $value

}

这只会给你全名,但基于 $key。

底线是第一个在 array() 的这个特定应用中更强。

于 2013-04-27T07:17:47.870 回答