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 回答