[英]How can I sort a two-dimensional array by length in PHP?
我有一个字符串数组,我想按长度降序排序。 但是,它是一个二维数组,我不确定如何实现 function 来满足我的需求。
下面是一个数组示例:
Array
(
[0] => Array
(
[0] => "abc"
[1] => "def"
[2] => "1234"
)
[1] => Array
(
[0] => "ghijkl"
[1] => "092"
[2] => "234234"
)
[2] => Array
(
[0] => "mn"
[1] => "opq"
[2] => "67843"
)
)
我只对子数组中第一项的长度感兴趣。 所以理想情况下它最终看起来像这样:
Array
(
[0] => Array
(
[0] => "ghijkl"
[1] => "092"
[2] => "234234"
)
[1] => Array
(
[0] => "abc"
[1] => "def"
[2] => "1234"
)
[2] => Array
(
[0] => "mn"
[1] => "opq"
[2] => "67843"
)
)
为你能给我的任何帮助干杯。
usort($array, function ($a, $b) { return strlen($b[0]) - strlen($a[0]); });
(使用 PHP 5.3 语法)
<?php
$your_array = array
(
array
(
"abc",
"def",
"1234"
),
array
(
"ghijkl",
"092",
"234234"
),
array
(
"mn",
"opq",
"67843"
)
);
function customSort(Array $a, Array $b){
return strlen($b[0]) - strlen($a[0]);
}
usort($your_array, 'customSort');
var_dump($your_array);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.