2

PHP ライブラリを開発しており、配列を使用してハードコードされたデータを追加したいと考えています。配列のキーと値の観点からデータを構造化する最適な方法を決定するにはどうすればよいですか? たとえば、米国をやりたい場合は、次のようにします。

$states = 配列(
    'AL' => 'アラバマ',
    'AZ' => 'アリゾナ',
    ...);

または代わりに私は行くことができます:

$states = 配列(
    array('AL', 'アラバマ'),
    array('AZ', 'アリゾナ'),
    ...);

データベースの行に似ているため、「フィールド」の数に関係なく、すべてのデータをそのように一貫して構造化できるため、2 番目のオプションの方がよいと思います。

編集: 明確にするために、使用できる一般的なソリューションまたは一連のルールを探しています。たとえば、データが米国以外のもので、フィールドが 2 つではなく 1 つまたは 8 つある場合があります。このような場合、キーに使用できるものがない可能性があります。もう 1 つの質問は、すべてのデータ配列を同じ構造にするか、それとも特定のデータ セットに最適なものを使用する必要があるかということです。

4

4 に答える 4

2

これにより、キー=>値のペアが作成されます

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

これにより、デフォルトのキーですべての値が作成されます

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

ペアを使用する最初のアプローチはkey=>value、ニーズに最適です。

于 2013-04-27T07:08:29.903 に答える
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 に答える
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 に答える