我的数组是一个国家列表,确切地说是国家代码。
$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......
是否有可能获取这样一个列表,并在没有重复值的开销的情况下创建一个分类排列的列表?还是这个开销很小,这不是问题?
开销非常小——在阅读你的代码时,做一些让其他人(或将来的你)更清晰、更容易理解的事情