PHP删除数组指定值时unset()和array_slice()区别

来源:互联网 发布:光的双缝干涉实验 知乎 编辑:程序博客网 时间:2024/06/02 03:45
  • 使用unset( )时
<?php    $list = array(        array(            'id' => 1,            'name' => 'jack',            ),        array(            'id' => 2,            'name' => 'rose',            ),        array(            'id' => 3,            'name' => 'kobi',            ),        );    unset($list[1]);    var_dump($list);

输出结果:
array (size=2)
0 =>
array (size=2)
'id' => int 1
'name' => string 'jack' (length=4)
2 =>
array (size=2)
'id' => int 3
'name' => string 'kobi' (length=4)

  • 使用array_slice()时
<?php    $list = array(        array(            'id' => 1,            'name' => 'jack',            ),        array(            'id' => 2,            'name' => 'rose',            ),        array(            'id' => 3,            'name' => 'kobi',            ),        );    $list = array_slice($list,1);    var_dump($list);

输出结果:
array (size=2)
0 =>
array (size=2)
'id' => int 2
'name' => string 'rose' (length=4)
1 =>
array (size=2)
'id' => int 3
'name' => string 'kobi' (length=4)

说明:后者删除数组元素会重组数组键值

注意:使用array_slice()时 输出的时返回值 该函数并不会像unset()
一样影响原数组

0 0