PHP按字母顺序排序
问题描述:
我有一个模板,列出了元素在foreach:PHP按字母顺序排序
<?php $currentCategory = $this->getCurrentCategory();?>
<?php $childrenCategories = $this->getChildrenCategoriesCollection($currentCategory);?>
<div class="subcategory-wrap">
<ul class="subcategory-list">
<?php ?>
<?php foreach ($childrenCategories as $cc): ?>
<li class="subcategory-item">
<a class ="subcategory-image-link"href="<?php echo $cc->getUrl() ?>"><img src="<?php echo $cc->getImageUrl() ?>" class="subcategory-image" /></a>
<span class="subcategory-title"><a href="<?php echo $cc->getUrl() ?>"><?php echo $cc->getName() ?></a></span>
</li>
<?php endforeach; ?>
</ul>
</div>
我试图做的是列举出来的字母顺序基于了他们的名字$cc->getName()
的。我遇到的麻烦是将适当的图像与他们的名字联系起来。
答
我觉得usort可以帮你
<?php usort($childCategories, function($a, $b) {
return strcmp($a->getName(), $b->getName());
}) ?>
<?php foreach ($childCategories as $cc): ?>
...
[排序数组对象由对象字段](可能的重复http://*.com/questions/4282413/sort-array-of-objects-by -object字段) – naomik