在我的下面的代码中,我想通过其键$v
对数组title
进行排序,其中只有数字值。
foreach ($archive_years as $key => $value) {
$id = str_replace(' ', '', $key);
echo '
<button type="button" class="btn btn-info collapsible" data-toggle="collapse" data-target="#archiv_'. $id .'"><h3>'. $key .' </h3></button>
<div id="archiv_'. $id .'" class="collapse">
<ul>
';
foreach ($value as $k => $v) {
ksort($v);
var_dump($v);
if (get_page($v['id'])->post_content) {
echo '<li><h4><a href="'. $v["permalink"] .'">'. $v["title"] .' - '. $v["titel"] .'</a></h4></li>';
}
else {
echo '<li><h4>'. $v["title"] .' - '. $v["titel"] .'</h4></li>';
}
}
echo '</ul></div>';
}
我尝试使用ksort($v);
,但在这种情况下似乎无效。
这是echo "<pre/>";print_r($v);
返回的内容:
任何帮助将不胜感激!
答案 0 :(得分:1)
如果您需要自己的比较功能,则应使用usort
。
即。你可以尝试这样的事情:
usort($array, function($a, $b) {
// should work, as title is numeric. to change the direction
// just change $a and $b
return $a['title'] - $b['title'];
});