在PHP中对关联数组元素进行排序

sam*_*ach -1 php associative-array

我有一个关联数组如下:

$data['england']='pound'
$data['america']='dollar'
$data['europe']='euro'
$data['denmark']='krone'
$data['japan']='yen'
Run Code Online (Sandbox Code Playgroud)

我想对这个数组进行排序,之后我希望'europe'成为数组中的第一个元素.为了对数组进行排序,我在php中使用kso​​rt(),现在我怎样才能获得'europe'数组对象,这样我就可以将它作为第一个元素并将所有剩余的元素向下移动?

Mar*_*cus 6

一种解决方案是首先从阵列中移除欧洲然后进行ksort.对数组进行排序后,您可以使用array_unshift()array_merge() 添加欧洲作为数组中的第一个元素.

使用合并的示例:

<?php
$data['england']='pound';
$data['america']='dollar';
$data['europe']='euro';
$data['denmark']='krone';
$data['japan']='yen';

unset($data['europe']);
ksort($data);
$data = array('europe' => 'euro') + $data;

print_r($data);
?>
Run Code Online (Sandbox Code Playgroud)

+运算符的使用不会像合并运算符那样重新索引数组.