首页 > 编程笔记 > PHP笔记 阅读:10

PHP数组删除元素的多种方法(附带实例)

借助 PHP 中的内置函数,可以快速删除数组中的指定元素。当然,也可以利用自定义函数删除数组中的元素。

PHP删除数组中的首个元素

使用 Array_shift() 函数可以删除数组中的第一个元素,基本语法如下:
mixed Array_shift(Array $Array);

【实例 1】删除数组中的首个元素。
<?php
header("content-type:text/html;charset=utf-8");
$booklist=Array("PHP",4=>"ASP","JSP","名著1"=>"西游记","名著2"=>"水浒传","小说"=>"人生若只如初见");
Array_shift($booklist);
print_r($booklist);
?>
运行结果为:

Array
(
    [0] => ASP
    [1] => JSP
    [名著1] => 西游记
    [名著2] => 水浒传
    [小说] => 人生若只如初见
)

由该实例可以看出,利用该函数可移除数组中的首个元素,并且所有数字键名从 0 开始计数。

PHP删除数组中的末尾元素

使用 Array_pop() 函数可以删除数组中的最后一个元素,基本语法如下:
mixed Array_pop(Array $Array)

【实例 2】删除数组中的末尾元素。
<?php
header("content-type:text/html;charset=utf-8");
$booklist=Array("PHP",4=>"ASP","JSP","名著1"=>"西游记","名著2"=>"水浒传","小说"=>"人生若只如初见");
Array_pop($booklist);
print_r($booklist);
?>
运行结果为:

Array
(
    [0] => PHP
    [4] => ASP
    [5] => JSP
    [名著1] => 西游记
    [名著2] => 水浒传
)

由该实例可以看出使用该函数可以移除数组中的末尾元素,并且所有数字键名保持不变。

PHP删除数组中指定键名的元素

使用 unset() 函数可以删除数组中指定键名的元素。

【实例 3】删除数组中指定键名的元素。
<?php
header("content-type:text/html;charset=utf-8");
$booklist=Array("PHP",4=>"ASP","JSP","名著1"=>"西游记","名著2"=>"水浒传","小说"=>"人生若只如初见");
unset($booklist["名著1"]);
print_r($booklist);
?>
运行结果为:

Array
(
    [0] => PHP
    [4] => ASP
    [5] => JSP
    [名著2] => 水浒传
    [小说] => 人生若只如初见
)


删除函数的对比如下表所示:

表:删除函数的对比
函数 删除位置 返回值 影响
Array_shift() 删除首个元素 被移除的首个元素 数字键名从 0 开始重新计数
Array_pop() 删除末尾元素 被移除的末尾元素 数字键名保持不变
unset() 删除指定键名的元素 无返回值 数字键名保持不变

PHP自定义函数删除数组元素

【实例 4】自定义函数删除数组元素,并输出删除前和删除后的元素。
<?php
header("content-type:text/html;charset=utf-8");
function bookRemove(&$Array,$offset,$length=1)
{
    return Array_splice($Array,$offset,$length);
}
$booklist=Array("PHP",4=>"ASP","JSP","名著1"=>"西游记","名著2"=>"水浒传","小说"=>"人生若只如初见");
echo "删除前的元素<br>";
print_r($booklist);
echo "<br>";
echo "删除后的元素<br>";
bookRemove($booklist,1,3);
print_r($booklist);
?>
运行结果为:

删除前的元素Array
(
    [0] => PHP
    [4] => ASP
    [5] => JSP
    [名著1] => 西游记
    [名著2] => 水浒传
    [小说] => 人生若只如初见
)
删除后的元素Array
(
    [0] => PHP
    [名著2] => 水浒传
    [小说] => 人生若只如初见
)

相关文章