使用usort对数组进行排序

Jor*_*rdy 1 php arrays sorting usort

我有一个包含北,东,南或西值的数组.

例如,我得到了一个数组,其数值按此顺序排列:南,西和北.

现在我想对北,东,南,西排列数组.

因此,在我的示例中,值应按此顺序排列:北,南,西.

我怎样才能做到这一点?

谢谢!

JJJ*_*JJJ 6

你也可以用array_intersect().它保留了第一个数组的顺序.以正确的顺序给出所有基本方向的数组作为第一个参数,并将数组排序为第二个.

$cardinals = array( 'north', 'east', 'south', 'west' );
$input = array( 'south', 'west', 'north' );

print_r( array_intersect( $cardinals, $input ) );
Run Code Online (Sandbox Code Playgroud)