兩種改變方法:1、使用array_values()函數(shù)重置數(shù)組的鍵名(key),語法“array_values($array)”,適用于關(guān)聯(lián)函數(shù)或鍵名(key)混亂的數(shù)組,將其變?yōu)閺?開始且以1遞增的數(shù)字值。2、使用array_combine()函數(shù)更改數(shù)組的鍵(key),可將一個數(shù)組的值作為另一個數(shù)組的鍵名,語法“array_combine(鍵名數(shù)組,原數(shù)組)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php改變數(shù)組key的值,即改變數(shù)組的鍵名。有兩種方法:
-
使用array_values()函數(shù)
-
使用array_combine()函數(shù)
方法1:使用array_values()函數(shù)重置數(shù)組的鍵名(key)
array_values() 函數(shù)可以獲取數(shù)組中所有元素的值,該函數(shù)語法格式如下:
array_values($array)
-
參數(shù) $array 為被操作的數(shù)組。
array_values() 函數(shù)特別適合用于數(shù)組中元素下標(biāo)混亂的數(shù)組,或者關(guān)聯(lián)數(shù)組。
array_values() 函數(shù)可以返回一個包含給定數(shù)組中所有值的數(shù)組,但不保留鍵名。即被返回的數(shù)組將使用索引數(shù)組的形式,數(shù)組的索引從 0 開始且以 1 遞增。
示例:
<?php $arr1=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90); var_dump($arr1); var_dump(array_values($arr1)); $arr2=array(2=>65,8=>80,5=>78,0=>90); var_dump($arr2); var_dump(array_values($arr2)); ?>
方法2:使用array_combine()函數(shù)更改一個數(shù)組的鍵(key)
array_combine() 函數(shù)通過合并兩個數(shù)組來創(chuàng)建一個新數(shù)組,其中的一個數(shù)組是鍵名,另一個數(shù)組的值為鍵值。
利用這個特性,可以將一個數(shù)組的值作為另一個數(shù)組的鍵名。
語法:
array_combine($keys,$values);
-
$keys 必需。鍵名數(shù)組。
-
$values 必需。鍵值數(shù)組。
需要注意的是,使用array_combine()函數(shù)創(chuàng)建數(shù)組時,$keys數(shù)組和$values數(shù)組中的元素個數(shù)必須要一致,這才能讓鍵名和鍵值一一對應(yīng),否則就會報錯并返回 FALSE。
示例:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array("red","green","blue","yellow"); var_dump($arr); $keys=array("a","b","c","d"); var_dump($keys); echo "使用array_combine()后:"; $arr=array_combine($keys,$arr); var_dump($arr); ?>
推薦學(xué)習(xí):《PHP視頻教程》