91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何使用PHP實現多維度的排名

PHP
小樊
82
2024-09-21 00:31:46
欄目: 編程語言

要使用PHP實現多維度的排名,你可以創建一個函數,該函數接受一個多維數組作為輸入,并返回一個根據指定維度排序的數組。以下是一個示例實現:

<?php

function rankMultiDimensionalArray($array, $dimensions) {
    // 對輸入數組的每個元素進行排序
    usort($array, function ($a, $b) use ($dimensions) {
        foreach ($dimensions as $dimension) {
            $aValue = array_key_first($a[$dimension]);
            $bValue = array_key_first($b[$dimension]);

            if ($aValue != $bValue) {
                return ($aValue < $bValue) ? -1 : 1;
            }
        }

        return 0;
    });

    return $array;
}

// 示例輸入數組
$data = [
    ['name' => 'Alice', 'age' => 30, 'city' => 'New York'],
    ['name' => 'Bob', 'age' => 25, 'city' => 'San Francisco'],
    ['name' => 'Charlie', 'age' => 30, 'city' => 'Los Angeles'],
    ['name' => 'David', 'age' => 28, 'city' => 'San Francisco'],
];

// 指定排序維度
$dimensions = ['age', 'city'];

// 對數組進行排序
$rankedData = rankMultiDimensionalArray($data, $dimensions);

// 輸出排序后的數組
print_r($rankedData);

?>

在這個示例中,我們定義了一個名為rankMultiDimensionalArray的函數,它接受一個多維數組$array和一個維度數組$dimensions作為參數。我們使用usort函數對數組進行排序,根據$dimensions指定的維度進行比較。

在示例輸入數組中,我們有4個人的信息,包括姓名、年齡和城市。我們指定排序維度為年齡和城市。運行此代碼后,我們將得到一個根據年齡和城市排序的新數組。

0
改则县| 肃南| 昂仁县| 安西县| 平利县| 富民县| 平凉市| 石城县| 漾濞| 凤山县| 响水县| 正定县| 金堂县| 唐海县| 三明市| 广汉市| 荃湾区| 昆山市| 柳州市| 江川县| 承德县| 九台市| 开鲁县| 吴江市| 沿河| 大化| 民丰县| 屏边| 巫溪县| 阿勒泰市| 石泉县| 宕昌县| 中方县| 英德市| 海盐县| 密云县| 涿州市| 潮州市| 霍林郭勒市| 阿坝| 唐河县|