基于另一个数组按键对数组进行排序?在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的内部数组函数,但似乎只能按字母或数字排序。
3 回答
![?](http://img1.sycdn.imooc.com/5458471300017f3702200220-100-100.jpg)
元芳怎么了
TA贡献1798条经验 获得超7个赞
function sortArrayByArray(array $array, array $orderArray) { $ordered = array(); foreach ($orderArray as $key) { if (array_key_exists($key, $array)) { $ordered[$key] = $array[$key]; unset($array[$key]); } } return $ordered + $array;}
![?](http://img1.sycdn.imooc.com/5458689e000115c602200220-100-100.jpg)
潇湘沐
TA贡献1816条经验 获得超6个赞
$customer['address'] = '123 fake st';$customer['name'] = 'Tim';$customer['dob'] = '12/08/1986'; $customer['dontSortMe'] = 'this value doesnt need to be sorted';$customerSorted = array_replace(array_flip(array('name', 'dob', 'address')), $customer);
Array ( [name] => Tim [dob] => 12/08/1986 [address] => 123 fake st [dontSortMe] => this value doesnt need to be sorted)
- 3 回答
- 0 关注
- 636 浏览
添加回答
举报
0/150
提交
取消