在 PHP 中对多维数组进行排序,它是一个三维数组吗?


sorting a multidimensional array in php and is it a 3 dimensional array

Array ( 
    [0] => Array ([Dr. Rani shah] => 0.83333333333333) 
    [1] => Array ([Sakhiya clinic] => -0.25) 
    [2] => Array ([Dr. Sharat Gupta] => 1.725) 
)

是三维数组还是二维数组?我想根据与之关联的值对名称进行排序。我尝试了所有可用的排序功能。但它对此不起作用。

$nam[$l]= $name['doctor_name'].": ";
echo $nam[$l];
echo $avg[$l]."<br>";
$d[$l] = array( $name['doctor_name'] => $avg[$l]);
$l++;

你可以试试这个 -

$array = array( 0 => array( 'Dr. Rani shah' => 0.83333333333333 ) ,
    1 => array( 'Sakhiya clinic' => -0.25 ) ,
    2 => array( 'Dr. Sharat Gupta' => 1.725 ) 
);
usort($array, function($a, $b) {
    // extract the keys
    $temp1= array_keys($a);
    $temp2= array_keys($b); 
    // Compare & return
    return ($temp1[0] > $temp2[0]);
});

输出

array(3) {
  [0]=>
  array(1) {
    ["Dr. Rani shah"]=>
    float(0.83333333333333)
  }
  [1]=>
  array(1) {
    ["Dr. Sharat Gupta"]=>
    float(1.725)
  }
  [2]=>
  array(1) {
    ["Sakhiya clinic"]=>
    float(-0.25)
  }
}

演示