嗨我从模板中获得以下代码。
<ul class="sub-categories">
<?php
foreach ($category->getChildren() as $child) {
if (!$child->totalItemCount()) continue;
$link = $this->app->route->category($child);
$item_count = ($this->params->get('template.show_sub_categories_item_count')) ? ' <span>('.$child->totalItemCount().')</span>' : '';
echo '<li><a href="'.$link.'" title="'.$child->name.'">'.$child->name.'</a>'.$item_count.'</li>';
}
?>
</ul>
我想对子类别项目进行排序(这些项目是在州代码中进一步细分的城市。
我以为我可以按以下数组排序$ category-&gt; getChildren()但它不起作用。所以我对它做了一个回音,它说数组,所以我在那个数组上做了var_dump并得到了一个bool(true)。当我尝试输出它的其他方式(print_r)时,它崩溃了页面。
我不太了解数组,所以有人可以解释这个数组不是数组吗?我该如何对城市名单进行排序?
谢谢!
答案 0 :(得分:1)
我真的不明白尝试打印数组的问题是什么,但我认为定义一个usort()
这样的自定义排序就像你要找的那样:
<?php
function compareChildren ($a, $b) {
return strcmp($a->name, $b->name);
}
$children = $category->getChildren();
usort($children, 'compareChildren');
foreach ($children as $child) {
// ...
}