基于特定键的Php排序多关联数组
我有以下数组$data:基于特定键的Php排序多关联数组,php,sorting,associative-array,Php,Sorting,Associative Array,我有以下数组$data: [args]=>array ( [data]=>array ( [num]=>8813332 [bask]=>sell [end]=>09263013 ) [cust_data]=>array ( [name]=>john
[args]=>array
(
[data]=>array
(
[num]=>8813332
[bask]=>sell
[end]=>09263013
)
[cust_data]=>array
(
[name]=>john
[id]=>784
[state]=>New York
)
[pre_job]=>array
(
[0]=>array
(
[name]=>bk
[label]=>base
[type]=>PDF
)
[1]=>array
(
[name]=>fr
[label]=>front
[type]=>PDF
)
)
)
我基本上希望能够对pre_作业中的数组进行排序,使名为fr的数组成为第一个数组,名为bk的数组成为最后一个数组
有时这个数组可能会以我想要的方式排序,有时不会,所以我需要能够根据“名称”进行检查和排序,并让它先用fr排序,然后用bk排序
任何想法
我看到了这个函数,但现在确定它到底是做什么的了
function cmp($a,$b){
return strcmp($a,$b);
}
usort($data_data['args']['pre_jobs'], "cmp");
如果在
pre_job
中只有两个元素(数组),则不需要usort-只需检查哪一个是第一个,如果需要,切换位置。无论如何,更改数组中的“第一个”和“最后一个”元素并不被视为“排序”。我在pre_作业中可能有两个以上的元素,但我知道这两个元素很可能与其他元素一起存在。您在这里给出的条件对于第一个和最后一个元素是一个很好的条件-您不能使用它对超过3个元素的数组进行排序!