Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于特定键的Php排序多关联数组_Php_Sorting_Associative Array - Fatal编程技术网

基于特定键的Php排序多关联数组

基于特定键的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

我有以下数组$data:

 [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个元素的数组进行排序!