在PHP開發中,經常需要操作數組資料。 PHP數組有兩種形式:索引數組和關聯數組。通常我們在寫程式碼時會用到二維數組(包含多個關聯數組),這時候如果不需要二維數組的鍵名,就需要從二維數組中去掉鍵名。本文將介紹一些簡單的方法來完成這個任務。
一、使用array_values函數
使用array_values函數可以很方便地去掉二維陣列的鍵名。下面是範例程式碼:
$person = array( array("name" => "Tom", "age" => 20, "gender" => "Male"), array("name" => "Lily", "age" => 18, "gender" => "Female"), array("name" => "Jane", "age" => 22, "gender" => "Female") ); $person = array_map('array_values', $person);
在上面的程式碼中,我們先定義了一個包含三個關聯陣列的二維陣列。接著透過array_map函數和array_values函數,將二維陣列中的每個關聯陣列去掉了鍵名。解釋一下array_map函數,它的作用是將給定函數作用到陣列的每個元素上,並傳回一個新的陣列。
現在我們可以使用print_r函數輸出去掉鍵名後的陣列:
Array ( [0] => Array ( [0] => Tom [1] => 20 [2] => Male ) [1] => Array ( [0] => Lily [1] => 18 [2] => Female ) [2] => Array ( [0] => Jane [1] => 22 [2] => Female ) )
從輸出結果可以看出,二維數組中的每個關聯數組已經去掉了鍵名。
二、使用循環
另一種方法是使用循環,逐一取得關聯陣列的值並儲存到新的索引陣列中。以下是範例程式碼:
$person = array( array("name" => "Tom", "age" => 20, "gender" => "Male"), array("name" => "Lily", "age" => 18, "gender" => "Female"), array("name" => "Jane", "age" => 22, "gender" => "Female") ); $newPerson = array(); foreach ($person as $p) { $newPerson[] = array_values($p); } print_r($newPerson);
在上面的程式碼中,我們使用foreach循環遍歷二維數組$person,每次取出一個關聯數組,然後透過array_values函數將其鍵名去掉並儲存到新的索引數組$newPerson中。
現在我們可以使用print_r函數輸出去掉鍵名後的陣列:
Array ( [0] => Array ( [0] => Tom [1] => 20 [2] => Male ) [1] => Array ( [0] => Lily [1] => 18 [2] => Female ) [2] => Array ( [0] => Jane [1] => 22 [2] => Female ) )
與第一種方法相比,這種方法更加繁瑣,但是也更加靈活,因為我們可以在循環中進行一些其他的操作。
總結
在PHP開發中,操作陣列是非常常見的。去掉二維數組的鍵名是常見的需求,也是比較容易實現的。本文介紹了使用array_values函數和迴圈兩種去掉二維數組鍵名的方法。無論是哪種方式,我們都可以在一些特殊情況下根據需要進行選擇。
以上是php怎麼去掉二維數組的key的詳細內容。更多資訊請關注PHP中文網其他相關文章!