删除数组元素

1.unset(释放给定的变量)

他除了可以删除数组中的一些元素,也可以删除其他的一些变量

<?php
header('content-type:text/html;charset=utf-8');
$a=5;//或 $a='张三'   $a = array('张三','李四','王五');
echo $a;
unset($a);//释放变量(销毁变量)
echo($a);

如果写的代码是以上情况,会报语法错误。因为我们已经释放了这个变量,它的内存已被收回,不在识别$a。如果$a是一个数组的话,这个数组中的元素都会被释放。

如果想要删除数组中的某个元素,也可以使用unset.

<?php
header('content-type:text/html;charset=utf-8');
$a=array('张三','李四','王五');//如果数组中有键 $a=array('a01'=>'张三','a02'=>'李四','a03'=>'王五');  删除的话这样写  unset($a['a02']);
print_r($a);
echo '<br>';
unset($a[1]);

这样写,结果为

Array ( [0] => 张三 [1] => 李四 [2] => 王五 ) 
Array ( [0] => 张三 [2] => 王五 )

2.array_splice

array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )

input 数组中由 offset length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。

注意 input 中的数字键名不被保留。

offset( 如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除。)

length( 如果省略 length ,则移除数组中从 offset 到结尾的所有部分。如果指定了 length 并且为正值,则移除这么多单元。如果指定了 length 并且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的单元。)

array_splice和unset的区别

扫描二维码关注公众号,回复: 4187478 查看本文章
<?php
header('content-type:text/html;charset=utf-8');
$a=array('张三','李四','王五');
print_r($a);
echo '<br>';
unset($a[1]);
print_r($a);
//输出结果为   王五下标还是2
//Array ( [0] => 张三 [1] => 李四 [2] => 王五 ) 
//Array ( [0] => 张三 [2] => 王五 )

把unset($a[1])换成array_splice($a, 1,1);
//输出结果为   王五下标是1
//Array ( [0] => 张三 [1] => 李四 [2] => 王五 ) 
//Array ( [0] => 张三 [1] => 王五 )

猜你喜欢

转载自blog.csdn.net/maqian627426/article/details/83991568