简体   繁体   English

在PHP中排序多维数组,它是一个3维数组

[英]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) 
)

is it a 3 dimensional array or 2 dimensional array? 它是3维数组还是2维数组? And I want to sort the names according to the values associated with it. 我想根据与之关联的值对名称进行排序。 I tried all the sort functions available. 我尝试了所有可用的排序功能。 But it didnt worked for this. 但这没有用。

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

You can try this - 你可以试试这个-

$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]);
});

Output 产量

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)
  }
}

Demo 演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM