PHP二維數組排序
在PHP編程中,二維數組排序是一件非常常見的事情。通過對一個數組進行排序,可以使得程序更加高效,也可以使得調試過程更加簡單。
在PHP中,二維數組排序通常是根據一個特定的鍵(即“排序鍵”)進行排序的。下面我們將以實例的方式來介紹PHP二維數組排序的操作。
一、PHP數組排序
在PHP中,有兩個非常常用的函數來對數組進行排序。它們分別是sort()和rsort()函數。
sort()函數用于對數組進行升序排列,而rsort()函數則用于對數組進行降序排列。下面分別給出它們的使用方法。
$arr1 = array("apple", "banana", "cat", "dog", "elephant");
sort($arr1);
$arr2 = array("apple", "banana", "cat", "dog", "elephant");
rsort($arr1);
?>
上面兩個例子中,我們分別使用了sort()函數和rsort()函數對數組進行排序。在sort()函數中,數組會按照字母的順序進行升序排列;而在rsort()函數中,數組會按照字母的順序進行降序排列。
二、PHP二維數組排序
在PHP中,如果要對一個二維數組進行排序,就需要將以上兩個函數進行組合使用。我們可以通過使用array_multisort()函數來實現對二維數組的排序。
下面給出一個實例,通過對二維數組按照“年齡”進行升序排序。
$people = array(
array("name" =>"Peter", "age" =>19),
array("name" =>"John", "age" =>20),
array("name" =>"Jack", "age" =>23),
array("name" =>"Mike", "age" =>18),
array("name" =>"David", "age" =>22)
);
foreach ($people as $key =>$row) {
$age[$key] = $row['age'];
}
array_multisort($age, SORT_ASC, $people);
print_r($people);
?>
上面這個實例中,我們首先定義了一個二維數組$people,其中包含了每個人的姓名和年齡。然后我們通過使用foreach()循環語句,將每個人的年齡存放到$age數組中。接著,我們通過調用array_multisort()函數,對$age數組進行升序排列,再將排好序的結果“傳回”到$people數組中。
三、PHP二維數組排序之多級排序
在PHP中,多級排序是非常常見的需求。例如,對一個學生名單進行排序時,可以首先按照成績先進行排序,再按照年齡進行排序,最后按照姓名進行排序。這些排序可以分別針對不同的鍵來進行。
下面給出一個實例,通過對學生信息進行多級排序。
$students = array(
array("name" =>"Peter", "age" =>19, "score" =>78),
array("name" =>"Jack", "age" =>23, "score" =>87),
array("name" =>"John", "age" =>20, "score" =>92),
array("name" =>"David", "age" =>22, "score" =>85),
array("name" =>"Mike", "age" =>18, "score" =>90)
);
foreach ($students as $key =>$row) {
$age[$key] = $row['age'];
$score[$key] = $row['score'];
$name[$key] = $row['name'];
}
array_multisort($score, SORT_DESC, $age, SORT_ASC, $name, SORT_ASC, $students);
print_r($students);
?>
上面這個實例中,首先我們定義了一個$students數組,其中包含了每個學生的姓名、年齡和成績。接著,我們通過foreach()循環語句將每個學生的姓名、年齡和成績分別存放到$name、$age和$score這三個數組中。然后,我們通過調用array_multisort()函數進行多級排序。在這里,我們首先按照成績進行降序排列,再按照年齡進行升序排列,最后按照姓名進行升序排列。最后,我們將排好序的結果輸出到屏幕上。
總之,PHP二維數組排序可以采用array_multisort()函數來實現。對于多級排序,可以通過將多個排序鍵依次“傳入”到array_multisort()函數中,來實現對數組的多級排序。
在PHP編程中,二維數組排序是一件非常常見的事情。通過對一個數組進行排序,可以使得程序更加高效,也可以使得調試過程更加簡單。
在PHP中,二維數組排序通常是根據一個特定的鍵(即“排序鍵”)進行排序的。下面我們將以實例的方式來介紹PHP二維數組排序的操作。
一、PHP數組排序
在PHP中,有兩個非常常用的函數來對數組進行排序。它們分別是sort()和rsort()函數。
sort()函數用于對數組進行升序排列,而rsort()函數則用于對數組進行降序排列。下面分別給出它們的使用方法。
$arr1 = array("apple", "banana", "cat", "dog", "elephant");
sort($arr1);
$arr2 = array("apple", "banana", "cat", "dog", "elephant");
rsort($arr1);
?>
上面兩個例子中,我們分別使用了sort()函數和rsort()函數對數組進行排序。在sort()函數中,數組會按照字母的順序進行升序排列;而在rsort()函數中,數組會按照字母的順序進行降序排列。
二、PHP二維數組排序
在PHP中,如果要對一個二維數組進行排序,就需要將以上兩個函數進行組合使用。我們可以通過使用array_multisort()函數來實現對二維數組的排序。
下面給出一個實例,通過對二維數組按照“年齡”進行升序排序。
$people = array(
array("name" =>"Peter", "age" =>19),
array("name" =>"John", "age" =>20),
array("name" =>"Jack", "age" =>23),
array("name" =>"Mike", "age" =>18),
array("name" =>"David", "age" =>22)
);
foreach ($people as $key =>$row) {
$age[$key] = $row['age'];
}
array_multisort($age, SORT_ASC, $people);
print_r($people);
?>
上面這個實例中,我們首先定義了一個二維數組$people,其中包含了每個人的姓名和年齡。然后我們通過使用foreach()循環語句,將每個人的年齡存放到$age數組中。接著,我們通過調用array_multisort()函數,對$age數組進行升序排列,再將排好序的結果“傳回”到$people數組中。
三、PHP二維數組排序之多級排序
在PHP中,多級排序是非常常見的需求。例如,對一個學生名單進行排序時,可以首先按照成績先進行排序,再按照年齡進行排序,最后按照姓名進行排序。這些排序可以分別針對不同的鍵來進行。
下面給出一個實例,通過對學生信息進行多級排序。
$students = array(
array("name" =>"Peter", "age" =>19, "score" =>78),
array("name" =>"Jack", "age" =>23, "score" =>87),
array("name" =>"John", "age" =>20, "score" =>92),
array("name" =>"David", "age" =>22, "score" =>85),
array("name" =>"Mike", "age" =>18, "score" =>90)
);
foreach ($students as $key =>$row) {
$age[$key] = $row['age'];
$score[$key] = $row['score'];
$name[$key] = $row['name'];
}
array_multisort($score, SORT_DESC, $age, SORT_ASC, $name, SORT_ASC, $students);
print_r($students);
?>
上面這個實例中,首先我們定義了一個$students數組,其中包含了每個學生的姓名、年齡和成績。接著,我們通過foreach()循環語句將每個學生的姓名、年齡和成績分別存放到$name、$age和$score這三個數組中。然后,我們通過調用array_multisort()函數進行多級排序。在這里,我們首先按照成績進行降序排列,再按照年齡進行升序排列,最后按照姓名進行升序排列。最后,我們將排好序的結果輸出到屏幕上。
總之,PHP二維數組排序可以采用array_multisort()函數來實現。對于多級排序,可以通過將多個排序鍵依次“傳入”到array_multisort()函數中,來實現對數組的多級排序。
下一篇php 產品收藏