PHP从数组中删除元素的四种方法实例

一、总结

一句话总结:unset(),array_splice(),array_diff(),array_diff_key()

二、PHP从数组中删除元素的四种方法实例

茴香豆的“茴”字有四种写法,PHP从数组中删除元素也有四种方法 ^_^。

删除一个元素,且保持原有索引不变

使用 unset 函数,示例如下:

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
//↑ 你想删除的key
?>

输出:

Array (
    [0] => a
    [2] => c
)

使用 unset 并未改变数组的原有索引。如果打算重排索引(让索引从0开始,并且连续),可以使用 array_values 函数:

$array = array_values($array);
/*
输出
array(2) {
[0]=>
string(1) "a"
[1]=>
string(1) "c"
}
*/

删除一个元素,不保持索引

使用 array_splice 函数,示例如下:

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
//↑ 你想删除的元素的Offset
?>

输出:

Array (
    [0] => a
    [1] => c
)

按值删除多个元素,保持索引

使用 array_diff 函数,示例如下:

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
//└────────┘→ 你想删除的数组元素值values
?>

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff 也将保持索引。

按键删除多个元素,保持索引

使用 array_diff_key 函数,示例如下:

<?php

  $array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
//↑ ↑ 你想删除的数组键keys
?>

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff_key 也将保持索引。

 
 

最新文章

  1. Mac下安装nginx
  2. aspnet超级链接 传递 当前页面 textbox值
  3. 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
  4. Java Web开发之Servlet获取ckeditor内容
  5. eclipse安装JS插件
  6. hdu 1577 WisKey的眼神 (数学几何)
  7. AndroidStudio .gitinore编写
  8. SQL例题合集
  9. 【python cookbook】【字符串与文本】7.定义实现最短匹配的正则表达式
  10. mongodb 非 admin 库 认证登陆失败 原因(百度好多都 是渣)db.addUser() 请走开。
  11. MVC 控制器详解
  12. 【精品】Android游戏类源码大集合
  13. MYSQL知识点
  14. HTML5示例之WebSocket
  15. ARP攻击之Kali Linux局域网断网攻击
  16. laravel-- facade 实现CURD
  17. Leetcode480-Binary Tree Paths-Easy
  18. 安装ReactNative开发IDE
  19. Nginx 实现端口转发
  20. 模态推出 全屏 隐藏tabbar

热门文章

  1. qt获取磁盘序列号
  2. 使用cocos2dx 3.2和cocosstudio屏幕适配总结----相对布局
  3. 关于ajax访问express服务器的跨域问题
  4. Ubuntu 12.04使用演示
  5. Android 如何获取Android RecyclerView滑动的距离
  6. uname 命令
  7. 小程序block总结
  8. ble_app_hrs心率程序 nrf51822
  9. ZJOI2008骑士
  10. Ansible学习记录二:命令