您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關PHP中如何改變一維和二維數組的鍵key的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
首先我們來看看如何修改一維數組的鍵名?
想要修改數組的鍵名,可以借助array_combine()函數。這里就直接給出實現代碼:
<?php header("content-type:text/html;charset=utf-8"); $arr=array(1 => 1, 2 => "張三", 3 => 20, 4 => "男", 5 => 'PHP編程', 6 => '億速云'); $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 => '億速云'), array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端編程', 6 => '億速云'), array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端編程', 6 => '億速云') ); $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 => '億速云'), array(1 => 2, 2 =>"李四", 3 => 18, 4 => "男", 5 => '前端編程', 6 => '億速云'), array(1 => 3, 2 =>"李娜", 3 => 19, 4 => "女", 5 => '前端編程', 6 => '億速云') ); $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中如何改變一維和二維數組的鍵key”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。