Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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_Multidimensional Array - Fatal编程技术网

如何在PHP上对键不是字符串标签的多维数组进行排序

如何在PHP上对键不是字符串标签的多维数组进行排序,php,multidimensional-array,Php,Multidimensional Array,我有一个多维数组: $serviceTimes = Array ( [0] => Array ( [0] => PM1900 [1] => 7:00pm ) [1] => Array ( [0] => PM1900 [1] => 7:00pm ) [2] => Array ( [0] => PM1415 [1] => 2:15pm ) [3] => Array ( [0] => PM1919 [1] => 7

我有一个多维数组:

$serviceTimes = Array (
  [0] => Array ( [0] => PM1900 [1] => 7:00pm )
  [1] => Array ( [0] => PM1900 [1] => 7:00pm )
  [2] => Array ( [0] => PM1415 [1] => 2:15pm )
  [3] => Array ( [0] => PM1919 [1] => 7:19pm )
  [6] => Array ( [0] => PM2020 [1] => 8:20pm )
)
但是我无法对[0]元素上的数组进行排序。这不起作用:

array\u multisort($serviceTimes[0],SORT\u ASC,$serviceTimes)

这也行不通

array\u multisort($serviceTimes[][0],SORT\u ASC,$serviceTimes)

有什么想法吗

理想情况下,最终,这就是我希望生产的产品:

Array (
  [0] => 2:15pm )
  [1] => 7:00pm )
  [2] => 7:00pm )
  [3] => 7:19pm )
  [4] => 8:20pm )
)

使用
array\u column
从子数组中提取
0
列,并在此列上排序:

array_multisort(array_column($serviceTimes, 0), SORT_ASC, $serviceTimes);

您在
0
元素上声明排序,但您的输出显示
1
元素的时间。如果是这样,只需将
array\u列
参数更改为
1

通常,您也可以将()与您自己的compoare函数一起用于这种自定义排序(所有以“u”为前缀的函数:…)


您是否阅读了的文档。我打赌答案已经作为一个例子出现了。修改了我的OQ@axiac你放弃了吗???太棒了…这就是答案@AbraCadaver。谢谢
<?php
function mysort ($a, $b){
    return strcmp($a[0], $b[0]);
}

$serviceTimes = array ( 0 => array ( 0 => 'PM1900', 1 => '7:00pm', ), 1 => array ( 0 => 'PM1900', 1 => '7:00pm', ), 2 => array ( 0 => 'PM1415', 1 => '2:15pm', ), 3 => array ( 0 => 'PM1919', 1 => '7:19pm', ), 4 => array ( 0 => 'PM2020', 1 => '8:20pm', ), );

usort($serviceTimes, 'mysort');

var_dump(serviceTimes);