首页 > 解决方案 > 我想显示 10 个数据中最大的数组 5

问题描述

我的代码是:

$dataBerita = array(
 'Babakan' => array(5),
 'Babakan Pasar' => array(30),
 'Bantar Jati' => array(70),
 'Baranang Siang' => array(50),
 'Batutulis' => array(40),
 'Bojongkerta' => array(25),
 'Bondongan' => array(90),
 'Ciampea' => array(5),
 'Cibadak' => array(2),
 'Cilubang' => array(6)
);

array_multisort($dataBerita, SORT_DESC);

foreach ($dataBerita as $key => $value) {
 echo $value.", ";
}

我想显示 10 个数据数组中最大的 5 个数据数组,如下所示:

90,70,50,40,30,

标签: phparrays

解决方案


您需要通过删除除前 5 个以外的所有内容来对数组进行排序和拼接

$top = 5; // you can change it anytime
array_multisort($dataBerita, SORT_DESC);
array_splice($dataBerita, -(count($dataBerita)-$top));

array_splice — 删除数组的一部分并将其替换为其他内容

输出

Array
(
    [Bondongan] => Array
        (
            [0] => 90
        )

    [Bantar Jati] => Array
        (
            [0] => 70
        )

    [Baranang Siang] => Array
        (
            [0] => 50
        )

    [Batutulis] => Array
        (
            [0] => 40
        )

    [Babakan Pasar] => Array
        (
            [0] => 30
        )

)

演示


推荐阅读