在PHP程式設計中,我們常常會使用到陣列來儲存一些數據,而且PHP提供了許多方便的陣列操作函數和方法。不過,當我們需要對一個二維數組的鍵進行處理時,有時候需要將二維數組的鍵去除,只保留值,這時候該怎麼做呢?本文將為您介紹如何使用PHP去除二維數組的鍵。
一、什麼是二維陣列?
二維數組是指數組中的元素也是數組的一種資料型態。它由一個主數組和若干個子數組組成,每個子數組都可以看成一個獨立的數組。我們可以用下標來存取二維數組中的元素,例如,$arr0表示存取二維數組中的第一行第一列的元素。
下面是一個簡單的二維陣列範例:
$arr = array( array('name' => 'Tom', 'age' => 18), array('name' => 'Jerry', 'age' => 20), );
二、 二維陣列的鍵和值
在上面的範例中,二維陣列的鍵分別是0和1,每個子數組的鍵分別是name和age,對應的值分別是Tom、18、Jerry和20。在實際開發中,有時候我們需要將二維數組的鍵去掉,只保留其中的值,這時候可以使用PHP提供的array_values函數來實現。
array_values函數的作用是傳回一個二維陣列中所有的值,並重新建立一個索引陣列。也就是說,它拋棄了原數組的鍵,只保留值。以下是使用array_values函數的範例:
$newArr = array_values($arr); print_r($newArr);
輸出結果如下:
Array ( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jerry [age] => 20 ) )
可以看到,$newArr這個陣列只保留了原始數組中的值,而且每個子數組的鍵都被拋棄了,只剩下name和age對應的值。
三、 array_map函數
上面介紹的array_values函數只能針對二維陣列中的每個子陣列進行操作,如果我們需要對整個二維陣列進行操作,可以使用PHP提供的array_map函數。
array_map函數可以將自訂函數作用於二維數組中的所有元素,然後傳回一個新的二維數組,它的鍵被重置為從0開始的整數索引。以下是使用array_map函數的範例:
function removeKey($arr) { return array_values($arr); } $newArr = array_map('removeKey', $arr); print_r($newArr);
輸出結果如下:
Array ( [0] => Array ( [0] => Tom [1] => 18 ) [1] => Array ( [0] => Jerry [1] => 20 ) )
在這個範例中,我們定義了一個名為removeKey的自訂函數,這個函數和array_values類似,只不過它可以被array_map函數使用。我們將removeKey作為array_map的回呼函數傳入,$arr是需要處理的二維陣列。最後,$newArr是處理後的新陣列。
可以看到,$newArr這個陣列只保留了原始數組中的值,每個子數組的鍵都被拋棄了,只剩下name和age對應的值。
總結:
在PHP開發中,我們常常會使用到數組,而且數組運算非常靈活,可謂是PHP程式設計的基礎。當我們需要將二維陣列的鍵去掉時,可以使用PHP提供的array_values函數或array_map函數實作。這些函數都能夠拋棄原數組的鍵,只保留值,讓我們更方便地處理二維數組中的資料。
以上是php怎麼去除二維數組的key(鍵)的詳細內容。更多資訊請關注PHP中文網其他相關文章!