【发布时间】:2014-04-02 21:05:57
【问题描述】:
我正在使用以下模板在模板中创建一个数组:
{foreach from=$items item=node}
{if $node->fielddefs.location01.value != ''}{$locations[] = $node->fielddefs.location01.value}{/if}
{if $node->fielddefs.location02.value != ''}{$locations[] = $node->fielddefs.location02.value}{/if}
{if $node->fielddefs.location02.value != ''}{$locations[] = $node->fielddefs.location03.value}{/if}
{/foreach}
我需要按字母顺序对数组进行排序。我尝试了以下 usort 功能:
if (!function_exists('do_sort')) {
function do_sort($a, $b) {
return $a > $b;
}
}
$data = $params['data'];
usort($data, 'do_sort');
$smarty->assign('sorted', $data);
它现在可以工作了,因为我猜我的数组不正确?我的数组如下所示:
Array
(
[0] => Any
[1] => Chamonix
[2] => Courmayeur
[3] => Verbier
[4] => Zermatt
[5] => Verbier
[6] => Chamonix
)
谁能帮我实现排序输出?
谢谢
【问题讨论】:
标签: arrays sorting smarty usort