欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php 二維數組 某一列

劉雅靜1年前7瀏覽0評論

PHP二維數組中,有時候需要獲取或操作某一列的值。比如一個保存學生信息的二維數組,我們需要獲取所有學生的姓名,或者按照學生的成績進行排序。

舉例來說,我們有以下的二維數組:

$students = array(
array("name" => "小明", "age" => 18, "score" => 90),
array("name" => "小紅", "age" => 17, "score" => 85),
array("name" => "小剛", "age" => 19, "score" => 92)
);

如果我們需要獲取所有學生的姓名,可以使用foreach循環遍歷數組,并使用鍵值來獲取姓名:

foreach($students as $student) {
$name = $student["name"];
echo $name . " ";
}
//輸出:小明 小紅 小剛

如果我們需要按照學生的成績進行排序,可以使用usort函數,并傳入一個比較函數。比較函數接收兩個參數,分別表示要比較的數據。如果第一個參數比第二個參數小,則返回負數;如果第一個參數比第二個參數大,則返回正數;如果兩個參數相等,則返回0。

function compare($a, $b) {
if ($a["score"] == $b["score"]) {
return 0;
}
return ($a["score"] < $b["score"]) ? -1 : 1;
}
usort($students, "compare");
foreach($students as $student) {
$name = $student["name"];
$score = $student["score"];
echo $name . "的成績是" . $score . "<br>";
}
//輸出:
//小紅的成績是85
//小明的成績是90
//小剛的成績是92

如果我們只需要獲取某一列的值,可以使用數組映射函數array_map。將該函數作用于二維數組的某一列,即可得到一個一維數組。

$scores = array_map(function ($student) {
return $student["score"];
}, $students);
print_r($scores);
//輸出:Array ( [0] => 90 [1] => 85 [2] => 92 )

以上是獲取二維數組中某一列的幾種方法。注意,動態獲取某一列的方法可能導致性能問題,盡量在編寫代碼時保持一致的數據結構。