繁体   English   中英

按字母顺序打印出数组

[英]printing out an array alphabetically

嗨,我有一个模板的以下代码。

<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-> getChildren()进行排序,但是它不起作用。 所以我在它上面做了一个回声,并说是数组,所以我在该数组上做了var_dump并在上面得到了bool(true)。 当我尝试其他方式(print_r)输出它时,它使页面崩溃了。

我不太了解数组,所以有人可以解释这个不是数组的数组是什么吗? 我如何排序城市清单?

谢谢!

我真的不明白尝试打印数组的问题是什么,但是我想用usort()定义自定义排序就是您要寻找的东西:

<?php

function compareChildren ($a, $b) {
    return strcmp($a->name, $b->name);
}

$children = $category->getChildren();
usort($children, 'compareChildren');

foreach ($children as $child) {
    // ...
}

这是键盘上的工作示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM