php二維數組怎麼取列

PHPz
發布: 2023-04-18 09:16:56
原創
1126 人瀏覽過

在PHP語言中,陣列是常用的資料結構。二維數組是指數組中每個元素也是一個數組。在處理二維數組時,有時需要取出其中的某一列,本篇文章將介紹如何在PHP中取出二維數組的列。

1.使用迴圈遍歷

取出二維陣列的列,最簡單的方法就是使用迴圈遍歷陣列。可以先循環取出陣列中所有元素的某一列,再將這些列組成一個新的陣列。下述程式碼是範例:

$students = array( 
array('name'=>'Alice', 'age'=>18, 'score'=>89), 
array('name'=>'Bob', 'age'=>19, 'score'=>92), 
array('name'=>'Cathy', 'age'=>18, 'score'=>91), 
array('name'=>'David', 'age'=>20, 'score'=>87), 
); 

$scores = array(); 
foreach ($students as $student) { 
    $scores[] = $student['score']; 
} 

print_r($scores);
登入後複製

上述程式碼將取出二維陣列$students中所有元素的score列,並將其組成一個新的陣列$scores。這裡使用foreach循環遍歷數組,對每個數組元素都取出對應的score值,並將其添加到新數組$scores中。

2.使用array_column函數

PHP提供了array_column函數,可以方便地抽取二維數組的某一列。範例程式碼如下:

$students = array( 
array('name'=>'Alice', 'age'=>18, 'score'=>89), 
array('name'=>'Bob', 'age'=>19, 'score'=>92), 
array('name'=>'Cathy', 'age'=>18, 'score'=>91), 
array('name'=>'David', 'age'=>20, 'score'=>87), 
); 

$scores = array_column($students, 'score'); 

print_r($scores);
登入後複製

上述程式碼使用array_column函數取出二維陣列$students中所有元素的score列,並將其組成一個新的陣列$scores。其中,第一個參數為二維數組,第二個參數為要抽取的列名。

要注意的是,array_column函數需要PHP版本在5.5.0及以上,否則會報錯。

3.使用array_map函數

除了array_column函數外,還可以使用array_map函數對二維陣列進行列的抽取。下述程式碼是範例:

$students = array( 
array('name'=>'Alice', 'age'=>18, 'score'=>89), 
array('name'=>'Bob', 'age'=>19, 'score'=>92), 
array('name'=>'Cathy', 'age'=>18, 'score'=>91), 
array('name'=>'David', 'age'=>20, 'score'=>87), 
); 

$scores = array_map(function($student) { 
    return $student['score']; 
}, $students); 

print_r($scores);
登入後複製

上述程式碼使用array_map函數取出二維陣列$students中所有元素的score列,並將其組成一個新的陣列$scores。其中,第一個參數為回呼函數,第二個參數為要操作的陣列。

要注意的是,array_map函數的效率相對較低,可能會在處理大規模陣列時出現效能問題。

幾種取列的方式中,最常用的方法是使用array_column函數。除了取列,array_column函數還能取出指定列的值組成一個新的數組,並且可以以另一個索引列作為新數組的鍵。這些功能很實用,可在實際開發中提高效率。

以上是php二維數組怎麼取列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板