【发布时间】:2018-02-18 11:06:11
【问题描述】:
我需要对标签进行排序。每个标签看起来像这样“名字姓氏(大学)”。 我希望按大学对名称进行排序,然后像这样回应:
大学 1:
名 1 姓 1(大学 1)
名 2 姓 2(大学 1)
等等
大学 2:
名 3 姓 3(大学 2)
名 4 姓 4(大学 2)
等等
大学3:
名 5 姓 5(大学 3)
名 6 姓 6(大学 3)
等等
我设法对它们进行排序,然后回显整个列表,但我不知道如何对结果进行分组。
这是我的代码:
function compareUniversity($a, $b) {
$matchA = [];
$matchB = [];
preg_match('/\(([\w]+)\)/', $a->name, $matchA);
preg_match('/\(([\w]+)\)/', $b->name, $matchB);
$aUniversity = $matchA[1];
$bUniversity = $matchB[1];
return strcmp($aUniversity, $bUniversity);
};
usort($tags, "compareUniversity");
echo '<ul>';
foreach ($tags as $tag) {
$term = $tag->term_id;
$st= 'post_tag_'.$term;
$link = get_field('url',$st, true);
echo '<li><a href="http://'.$link.'" target="_blank">' . $tag->name . '</a></li>';
}
echo '</ul>';
【问题讨论】:
标签: php wordpress sorting grouping usort