仅使用php

时间:2017-03-15 21:16:31

标签: php

我有三个这样的阵列:

$a1  = array('55','something1','something2','something3' );
$a2  = array('77','something14','something25','something36' ); 
$a4  = array('66.6','something15','something25','something34' );

这三个数组如下:

$a  = array($a1,$a2,$a4 );

我知道通过使用sort()我可以对数值进行排序,但这里我要对数组进行排序,这样排序只能通过数组$ a1,$ a2和$ a4的第一个数字元素进行排序,即输出应该是第一个$ a1因为55比66.6和77然后$ a4因为66.6小于77而$ a2.I不想要数组中的元素值$ a1,$ a2,$ a4只更改数组$ a应该以数字方式重新排列。

1 个答案:

答案 0 :(得分:1)

使用usort

  

usort - 使用用户定义的比较按值对数组进行排序   功能

$a1  = array('55','something1','something2','something3' );
$a2  = array('77','something14','something25','something36' ); 
$a4  = array('66.6','something15','something25','something34' );


$array = [$a1, $a2, $a4];

usort($array, function($a, $b) {
    if ($a[0] > $b[0]) {
        return 1;
    } else {
        return -1;
    }
});


print_r($array);

直播示例:https://3v4l.org/QnUXc