Мне кажется, что все остальные ответы работают слишком усердно.usort()
, count()
и foreach()
не нужны, и когда я попытался natsort()
, он дал мне: <b>Notice</b>: Array to string conversion in <b>[...][...]</b>
.
rsort () установит самый длинныйсначала подмассивы.
Код:
$array=array(
["2012-02-26 18:55:00","2012-02-26 17:45:00"],
["2012-02-26 07:15:00"],
["2012-02-26 18:57:00","2012-02-26 17:45:00","2012-02-26 18:55:00"],
["2012-02-26 17:45:00","2012-02-26 18:55:00"]
);
$size=3; // modify this line to declare how many subarrays to capture
rsort($array); // sort the subarrays in DESC order
var_export(array_slice($array,0,$size)); // print the first n subarrays
Вывод:
array (
0 =>
array (
0 => '2012-02-26 18:57:00',
1 => '2012-02-26 17:45:00',
2 => '2012-02-26 18:55:00',
),
1 =>
array (
0 => '2012-02-26 18:55:00',
1 => '2012-02-26 17:45:00',
),
2 =>
array (
0 => '2012-02-26 17:45:00',
1 => '2012-02-26 18:55:00',
),
)
Если вы хотите реализовать некоторую дополнительную сортировку для разрыва связей длины (как между двумя2-элементные подмассивы), тогда вам нужно будет указать это в своем вопросе.