我的数组是一个国家列表,确切地说是国家代码。
$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......