PHP是一種流行的程式語言,常被用於Web開發。在 PHP 中,陣列是一種非常實用的資料類型,其被廣泛應用於多個場景中。二維數組是一種特殊的數組類型,它由多個數組組成,每個數組都包含固定數量的元素。通常情況下,每個陣列都代表一行,每個元素都代表該行中的一個列。當需要從一個二維數組中取到特定的列時,可以使用 PHP 提供的多個函數和技巧來實現。
方法1:使用 foreach 迴圈
使用 foreach 迴圈遍歷一個二維陣列是一種簡單直接的方式。在循環的過程中,可以使用陣列下標來取到每個陣列中的特定列。例如,以下程式展示如何從一個二維數組中取到特定列。該數組有兩行,分別代表“姓名”和“年齡”,每行中有兩列,分別是“張三”和“李四”的姓名和年齡。
$students = array( array("name" => "张三", "age" => 18), array("name" => "李四", "age" => 20) ); foreach($students as $row){ echo $row["name"] ."的年龄是:".$row["age"]."<br>"; }
在上述程式中,使用 foreach 迴圈遍歷了 $students 陣列。在每次循環中,$row 包含了目前數組的一個元素,即一個包含了 "name" 和 "age" 兩列的關聯數組。下標 "name" 和 "age" 分別代表了該數組中的兩個列,使用 $row["name"] 和 $row["age"] 就可以分別取到這兩個列了。
方法2:使用 array_column 函數
array_column 函數是 PHP 提供的一個用於取得多維數組中指定列的函數。此函數需要兩個參數,第一個參數是要取出列的原始數組,第二個參數是指定要取出的列的名稱(下標)。
以下程式展示如何使用 array_column 函數從一個二維陣列中取到特定列。此數組與上述程序中的 $students 數組一致。需要取出的欄位是 "name" 欄位。
$names = array_column($students, "name"); print_r($names);
在上述程式中,使用 array_column 函數從 $students 陣列中取出了 "name" 列,然後將其儲存在 $names 陣列中。印出$names 陣列的結果為:
Array ( [0] => 张三 [1] => 李四 )
方法3:使用array_map 函數
array_map 函數是PHP 的另一個非常有用的函數,可以將一個或多個陣列中的元素傳遞給一個回呼函數,並將該函數的回傳值儲存在一個新的陣列中。
以下程式展示如何使用 array_map 函數從一個二維陣列中取到特定列。此數組與上述程序中的 $students 數組一致。需要取出的列是 "age" 列。
$ages = array_map(function($row) { return $row['age']; }, $students); print_r($ages);
在上述程式中,使用了一個匿名函數來從 $students 陣列中取出 "age" 列。使用 array_map 函數遍歷 $students 數組,每次從數組中取出一行數據,然後調用匿名函數來取出該行中的 "age" 列,最後將得到的結果儲存在 $ages 數組中。列印 $ages 陣列的結果為:
Array ( [0] => 18 [1] => 20 )
總結
以上就是三種從 PHP 二維陣列中取出列的方法。其中,使用foreach 迴圈是最基本的方法,也非常容易理解和掌握;而使用array_column 函數可以快速地取出指定列的所有值,並將其儲存在一個新的陣列中;而使用array_map 函數則非常靈活,可以方便地呼叫自訂的回呼函數來處理每行資料中的某個列。根據具體的情況,可以選擇最適合自己的方法來處理二維數組中的列。
以上是php二維數組如何取到列的詳細內容。更多資訊請關注PHP中文網其他相關文章!