比如这样的一个php数组:
$arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' );
想要转换为这样的数组:
$arr = array( 0 => 'apple', 1 => 'banana', 2 => 'orange' );
1、推荐的方式 array_values 方法
这样方式无论对普通数组还是关联数组都适用
<?php $arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' ); print_r(array_values($arr)); $arr1 = array( 'name' => 'jerry', 'age' => 16, 'height' => '18cm' ); print_r(array_values($arr1));
输出结果:
[root@localhost php]# php array.php Array ( [0] => apple [1] => banana [2] => orange ) Array ( [0] => jerry [1] => 16 [2] => 18cm )
2、使用 array_merge 方法
该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。
<?php $arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' ); print_r(array_merge($arr)); $arr1 = array( 'name' => 'jerry', 'age' => 16, 'height' => '18cm' ); print_r(array_merge($arr1));
输出结果:
[root@localhost php]# php array.php Array ( [0] => apple [1] => banana [2] => orange ) Array ( [name] => jerry [age] => 16 [height] => 18cm )
3、循环遍历
最原始的方式,臃肿且不够优雅,极力抵制。
<?php function resetArr($arr){ $temp = array(); foreach($arr as $v){ $temp[] = $v; } return $temp; } $arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' ); print_r(resetArr($arr)); $arr1 = array( 'name' => 'jerry', 'age' => 16, 'height' => '18cm' ); print_r(resetArr($arr1));
以上这篇PHP重置数组为连续数字索引的几种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。