-
- $arr = array('a','b','c','d');
- unset($arr[1]);
- print_r($arr);
- ?>
复制代码
之前想用unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,最终结果是 Array ( [0] => a [2] => c [3] => d );
来看看数字数组的形式:
-
- $arr = range(5,10,4);
- print_r($arr);//Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )
- unset($arr[1]);//Array ( [0] => 5 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )
- print_r($arr);
- ?>
复制代码
可以看到输出的形式也是数组是会填补缺少的元素的位置。
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?
使用:array_splice():
例子:
-
-
- $arr = array('a','b','c','d');
- array_splice($arr,1,1);
- print_r($arr); // Array ( [0] => a [1] => c [2] => d )
- ?>
复制代码
|