通过基于另一个数组的键对数组进行排序?

亚历克斯

在PHP中可以做这样的事情吗?您将如何编写函数?这是一个例子。顺序是最重要的。

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';

我想做类似的事情

$properOrderedArray = sortArrayByArray($customer, array('name', 'dob', 'address'));

因为最后我使用了foreach()并且它们的顺序不正确(因为我将值附加到需要正确顺序的字符串中,而且我事先不知道所有的数组键/值)。

我看过PHP的内部数组函数,但看来您只能按字母或数字排序。

黑暗华尔兹4

只需使用array_merge或即可array_replaceArray_merge通过以给定的数组(按正确的顺序)开始并用实际数组中的数据覆盖/添加键来工作:

$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';

$properOrderedArray = array_merge(array_flip(array('name', 'dob', 'address')), $customer);
//Or:
$properOrderedArray = array_replace(array_flip(array('name', 'dob', 'address')), $customer);

//$properOrderedArray -> array('name' => 'Tim', 'address' => '123 fake st', 'dob' => '12/08/1986', 'dontSortMe' => 'this value doesnt need to be sorted')

ps-我正在回答这个“陈旧的”问题,因为我认为以前的答案给出的所有循环都是过大的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我想根据javascript中的另一个数组对数组进行排序?

Javascript-根据另一个数组对数组进行排序

用Python中的另一个数组对数组的行进行排序

用Python中的另一个数组对数组的行进行排序

根据另一个数组按顺序对数组进行排序

以与另一个数组相同的顺序对数组进行排序

用JavaScript中另一个数组的内容对数组进行排序

首先基于另一个数组对数组中的值进行排序

根据另一个数组的键对数组元素进行排序

使用另一个数组的对象属性对数组进行排序

按另一个数组中的属性对数组进行排序

如何基于mongodb中的另一个数组值对数组进行分组

根据存储在另一个数组中的引用对数组进行排序

按另一个数组的顺序对数组进行排序

根据PHP上的另一个数组对数组的元素进行排序

根据javascript中的另一个数组对数组进行排序

根据另一个数组的顺序对数组数组进行排序(Ruby)

如何根据另一个数组的位置对数组进行排序?

根据另一个数组的排序顺序对数组进行排序

PHP-用另一个数组对数组进行排序

根据另一个数组中定义的排序顺序对数组进行排序

如何使用另一个数组作为模板对数组数据进行排序?

基于另一个数组索引在 PHP 中对数组进行排序

参考另一个数组对数组进行排序

根据另一个数组的顺序对数组进行有效排序

在绘制之前根据另一个数组对数组进行排序

根据另一个数组中的顺序对数组数组进行排序

PHP 根据另一个数组对数组进行排序

基于javascript中的另一个数组对数组对象进行排序