也许标题没有多大意义,但我真正想要实现的是使用带有排序值的数组按索引对数组进行排序:
$sortingValues = array(
'category-1',
'category-2',
...
'category-9',
);
$categories['category-1'][] = $article;
$categories['category-2'][] = $article;
...
$categories['category-9'][] = $article;
我想要实现的是使用$ sortingValues中的排序值对$ categories进行排序。
答案 0 :(得分:1)
$sortingValues = array( 'category-1', 'category-4', 'category-2', 'category-9');
$categories = array( 'category-1' => 'cat1', 'category-2' =>'cat2', 'category-4' => 'cat4', 'category-9'=>'cat9');
//
foreach($sortingValues as $cat) {
if(array_key_exists($cat, $categories)) {
print $categories[$cat] . "\n";
}
}
答案 1 :(得分:0)
function cmp_sortingValues( $a, $b ) {
global $sortingValues;
if( $a == $b ) return 0;
$apos = array_search( $a, $sortingValues );
$bpos = array_search( $b, $sortingValues );
return ( $apos>$bpos ) ? 1 : -1;
}
uksort( $categories, "cmp_sortingValues" );