两种转换方法:1、使用array_values()函数将数组转为索引数组,会将原键名转为从0开始且以1递增的数字键名,语法“array_values($arr)”。2、定义一个空数组,利用foreach语句循环遍历原数组,在循环体中将原数组的键值传入空数组即可,语法“$res=[];foreach($arr as $v){$res[]=$v;}”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php将数组转为索引数组的两种方法
方法1:使用array_values()函数将数组转为索引数组
array_values()函数的作用是返回数组中所有元素的值
array_values(array)
使用起来非常简单,只有一个必选参数,就可以返回一个包含给定数组中所有值的数组,但不保留键名。被返回的数组将使用索引数组的形式,数组的索引从 0 开始且以 1 递增。
简单来说,利用该函数可以重置数组键名,将字符串或数值混乱的键名转为从0开始且以1递增的数字键名。
array_values() 函数特别适合用于数组中元素下标混乱的数组(可重置数字键),或者用于将关联数组转化为索引数组。
<?php header('content-type:text/html;charset=utf-8'); $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90,2,3,4); echo "原数组:"; var_dump($arr); $res=array_values($arr); echo "转为索引数组后:"; var_dump($res); ?>
方法2:利用foreach循环和一个空数组来将数组转为索引数组
-
利用foreach语句循环遍历原数组
-
在循环体中,将原数组的键值传入空数组
<?php header('content-type:text/html;charset=utf-8'); $arr=array(2,"Peter"=>65,3,"Harry"=>80,4,"John"=>78,"Clark"=>90); echo "原数组:"; var_dump($arr); $res=[]; foreach($arr as $v){ $res[]=$v; } echo "转为索引数组后:"; var_dump($res); ?>
说明:
空数组赋值的语法:
$数组变量名[键名] = 值;
给空数组赋值时,可以不在方括号内指定具体的键名值,这时键名值默认是数值,且从 0 开始依次增加。
推荐学习:《PHP视频教程》