我们来举一个例子:
<?php
$arr = array(\'a\',\'b\',\'c\',\'d\');
unset($arr[1]);
print_r($arr);
?>
我之前想象的是unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d );
如果是这样的话,那我们就来看看数字数组的形式
<?php
$arr = range(5,10,4);
print_r($arr);//<span style=\"font-family: Simsun;font-size:16px; \">Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )</span>
unset($arr[1]);//<span style=\"font-family: Simsun;font-size:16px; \">Array ( [0] => 5 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )</span>
print_r($arr);
?>
可以看到输出的形式也是数组是会填补缺少的元素的位置。那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():<pre name=\"code\" class=\"php\"><?php
$arr = array(\'a\',\'b\',\'c\',\'d\');
array_splice($arr,1,1);
print_r($arr); // <span style=\"font-family: Simsun;font-size:16px; \">Array ( [0] => a [1] => c [2] => d )</span>
?>
本文地址:https://www.stayed.cn/item/19339
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我