在 PHP 中对关联数组元素进行排序
我有一个关联数组,如下所示:
$data['england']='pound'
$data['america']='dollar'
$data['europe']='euro'
$data['denmark']='krone'
$data['japan']='yen'
我想对该数组进行排序,然后我希望“欧洲”成为数组中的第一个元素。为了对数组进行排序,我在 php 中使用 ksort() ,现在我如何获取“欧洲”数组对象,以便我可以将其作为第一个元素并将所有剩余元素向下移动?
i have got an associative array as follows:
$data['england']='pound'
$data['america']='dollar'
$data['europe']='euro'
$data['denmark']='krone'
$data['japan']='yen'
I want to sort this array and after that i want 'europe' to be the first element in the array. To sort the array, i am using ksort() in php, now how can i get hold of the 'europe' array object so that i can make it the first element and shift all the remaining elements down?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一种解决方案是首先从数组中删除 europe,然后进行 ksort。当数组排序后,您可以使用
array_unshift()
或
array_merge()
将欧洲添加为第一个元素数组。使用合并的示例:
使用
+
运算符不会像合并运算符那样重新索引数组。One solution would be to first remove europe from the array and then do the ksort. When the array is sorted you can use the
array_unshift()
orarray_merge()
to add europe as the first element in the array.An example using merge:
Usage of the
+
operator will not reindex the array as the merge-operator would.您可以使用回调进行排序:
You could use a callback for sorting: