在先前的文章中我們介紹了重置多維數組索引的方法,有興趣的可以點擊連結查閱→《PHP數組學習之怎麼重置多維數組的索引》。這次我們繼續PHP陣列的學習與練習,來聊聊修改陣列鍵名的方法,有需要的可以了解一下~
→相關推薦:《PHP數組學習系列大匯總(持續更新~)》
今天本文的主要的內容是:改變數組鍵名,聊聊使用PHP如何修改一維數組和二維數組的鍵名key。
首先我們來看看如何修改一維陣列的鍵名?
想要修改陣列的鍵名,可以藉助array_combine()函數。這裡就直接給出實作程式碼:
<?php header("content-type:text/html;charset=utf-8"); $arr=array(1 => 1, 2 => "张三", 3 => 20, 4 => "男", 5 => 'PHP编程', 6 => 'PHP中文网'); $key=array("id","姓名","年龄","性别","课程","网站"); $array=array_combine($key, $arr); var_dump($arr); echo "修改了键名的数组:"; var_dump($array); ?>
分析程式碼:
array_combine() 函數透過合併兩個陣列來建立一個新數組,其中一個陣列的元素為鍵名,另一個數組的元素為鍵值。註:兩個陣列中元素個數必須要一致,這才能讓鍵名和鍵值一一對應,否則就會報錯並傳回 FALSE。 【推薦文章《PHP數組學習如何以合併方式建立數組》】
#我們定義一個鍵名數組$key
,將其作為array_combine() 函數的第一個參數(新數組的鍵名);而原始數組$arr作為array_combine() 函數的第二個參數(新數組的鍵值)。
這樣得到的新數組就是使用新鍵名的陣列(鍵值沒有改變),我們看看輸出結果:
好了,了解了一維數組修改鍵名的方法,下面來看看二維數組,同樣需要使用array_combine() 函數。以下介紹兩種方法:
方法1:利用foreach語句遍歷陣列
<?php header("content-type:text/html;charset=utf-8"); $arr=array( array(1 => 1, 2 =>"张三", 3 => 20, 4 => "男", 5 => 'PHP编程', 6 => 'PHP中文网'), array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端编程', 6 => 'PHP中文网'), array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端编程', 6 => 'PHP中文网') ); $key=array("id","姓名","年龄","性别","课程","网站"); foreach($arr as $k=>$v){ $arr[$k] = array_combine($key, $v); } var_dump($arr); ?>
利用foreach語句遍歷一次二維陣列$arr,在每次迴圈中將內層數群組賦值給$v
;然後使用array_combine($key, $v)
語句修改內層陣列$v
的鍵名即可。讓我們來看看輸出結果:
方法2:利用array_walk() array_slice()函數來取得內層數組
<?php header("content-type:text/html;charset=utf-8"); $arr=array( array(1 => 1, 2 =>"张三", 3 => 20, 4 => "男", 5 => 'PHP编程', 6 => 'PHP中文网'), array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端编程', 6 => 'PHP中文网'), array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端编程', 6 => 'PHP中文网') ); $key=array("id","姓名","年龄","性别","课程","网站"); function foo(&$v, $k, $key) { $v = array_combine($key, array_slice($v, 0)); } array_walk($arr, 'foo', $key); echo "修改了键名的数组:"; var_dump($arr); ?>
array_walk() 函數對數組中的每個元素應用使用者自訂函數。在函數中,陣列的鍵名和鍵值是參數。
我們看看輸出結果:
好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學
最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!
以上是PHP數組學習改變一維和二維數組的鍵key的詳細內容。更多資訊請關注PHP中文網其他相關文章!