0

私の配列は国のリストであり、正確には国コードです。

$nazioni = array(
    'all' => array(
        'ad','ae','af','ag','al','am','ao','ar','at','au','az','ba','bb','bd',
        'be','bf', etc... ...'zw',
    ),

    'europa' => array(
        'ad','al','am','at','az','ba','be','bg','by','ch','cy','cz','de','dk',
        'ee','es','fi','fr','gb','ge','gr','hr','hu','ie','is','it','kz','li',
        'lt','lu','lv','mc','md','me','mk','mt','nl','no','pl','pt','ro','rs',
        'ru','se','si','sk','sm','tr','ua','va',
    ),

    'asia' => array(
        'ae','af','am','az','bd','bh','bt','bn','cn','cy','ge','id','il','in',
        'iq','ir','jo','jp','kg','kh','kp','kr','kw','kz','la','lb','lk','mm',
        'mn','mv','my','np','om','ph','pk','ps','qa','ru','sa','sg','sy','th',
        'tj','tl','tm','tr','uz','vn','ye',
    ),

etc...

このリストには大陸が含まれ、地中海や中東などの地域も含まれます。つまり、値はカテゴリで繰り返されます。基本的なアジアとヨーロッパのカテゴリにも重複する値が含まれるため、それぞれの値を使用してリンクを作成します。

配列の配置方法を非常に柔軟に再配置できますが、そのようなリストを取得して、重複する値のオーバーヘッドなしにカテゴリ別に配置されたリストを作成することも可能ですか?それとも、このオーバーヘッドは非常に小さいので、これは問題ではありませんか?

現在、基本的なforeachループを使用して配置しています。

    echo '<li>'.Lang::line('nations.europa')->get().'</li>';
    foreach($nazioni['europa'] as $n) {
        echo '<li>'.Filtra::uri(Lang::line('nations.'.$n)->get(), $uri, 1, $n).'</li>';
    }

Filtra :: uri関数はそれをリンクし、LaravelフレームワークのLang::line関数を使用してキー値で国を検索します。基本。

最後に欲しいのは、リンクの分類されたリストです。デザインは完成していませんが、これまでのところ、返されるHTMLは次のようになっています。後の段階でよりインタラクティブになるように、カテゴリを何かでラップします。たぶん、DL、DT、およびDDタグを使用するか、それからオプションリストを作成しますが、それは重要ではありません。

<li>Europe</li>
<li><a href="http://example.ex/en/+Andorra">Andorra</a></li>
and same for all Europe countries...

<li>Asia</li>
<li><a href="http://example.ex/en/+United+Arab+Emirates">United Arab Emirates</a></li>
and same for all Asian countries......
4

1 に答える 1

1

そのようなリストを取得して、重複する値のオーバーヘッドなしでカテゴリ別に配置されたリストを作成することさえ可能ですか? それとも、このオーバーヘッドは非常に小さいので、これは問題になりませんか?

オーバーヘッドは非常に小さい - コードを読むときに他の人 (または将来のあなた) が理解しやすいように、よりクリーンで簡単な方法を実行してください。

于 2012-12-22T20:29:02.807 に答える