PHP数组删除元素的多种方法(附带实例)
借助 PHP 中的内置函数,可以快速删除数组中的指定元素。当然,也可以利用自定义函数删除数组中的元素。
【实例 1】删除数组中的首个元素。
【实例 2】删除数组中的末尾元素。
【实例 3】删除数组中指定键名的元素。
删除函数的对比如下表所示:
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] => 水浒传
[小说] => 人生若只如初见
)
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] => 水浒传
[小说] => 人生若只如初见
)