PHP 删除数组中的元素有多种方式,以下列举几种常用的方式。
删除数据中的一个元素
如果你想删除数组中的一个元素,你可以使用 unset() 或 array_splice() *** 。
如果你知道数组元素的值(value),但不知道键(key),你可以使用 array_search() 来获取键(key)。
unset() ***
注意如果你使用 unset() *** ,它是不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。
<?php$array = array(0 => "a", 1 => "b", 2 => "c");unset($array[1]); //↑ 你要删除的数组元素值的键print_r($array);?>
输出结果:
Array ( [0] => a [2] => c)
array_splice() ***
如果你使用 array_splice() *** ,数组的键会自动重新建立索引, 但对关联性的数组不起作用,需要使用 array_values() 将键转换为数字键。
<?php$array = array(0 => "a", 1 => "b", 2 => "c");array_splice($array, 1, 1); //↑ Offset which you want to deleteprint_r($array);?>
输出结果:
Array( [0] => a [1] => c)
array_splice() 在释放数组指定元素上与 unset() 函数取到相同作用。
删除数组中的多个元素
如果你想删除数组中的多个元素就不能使用吗 unset() 或 array_splice() 函数了,你需要使用 array_diff() 或 array_diff_key() *** ,使用该 *** 需要知道要删除的键(key)或值(value)。
array_diff() ***
如果你知道要删除的数组元素, 你可以使用 array_diff()。
<?php$array = array(0 => "a", 1 => "b", 2 => "c");$array = array_diff($array, ["a", "c"]); //└────────┘→你要删除的元素print_r($array );?>
输出结果为:
Array( [1] => b)
array_diff_key() ***
如果你知道要删除的数组元素的键(key), 你可以使用 array_diff_key()。你需要在函数的第二个参数的键值位置输入要删除的键,值不需要,可随意。
<?php$array = array(0 => "a", 1 => "b", 2 => "c");$array = array_diff_key($array, [0 => "xy", "2" => "xy"]); //↑ ↑ 你要删除的数组键print_r($array);?>
输出结果为:
Array ( [1] => b)
俄乌冲突进入第 3 周,一些非常规行为者继续针对俄罗斯国家支持的企业发起攻击,进行一连串的黑客攻击和数据泄露。而由俄罗斯国家控制的石油管道巨头 Transneft 无疑成为了重点攻击对象。 本周四,泄密托管网站 Distributed Denial of Secrets 发布了一个 79GB 的电子...
黑莓威胁情报(BlackBerry Threat Intelligence)团队刚刚发出警报 —— 一款自 2021 年 8 月存续至今的 LokiLocker 勒索软件,正在互联网上传播肆虐。据悉,该恶意软件采用了 AES + RSA 的加密方案,若用户拒绝在指定期限内支付赎金,它就会擦除其 PC...
微软今天宣布近日捣毁了一个名为 ZLoader 的主要犯罪僵尸网络,这也是使用 XLM 宏作为攻击面的僵尸网络之一。微软的最新行动包括技术和法律活动,以破坏利用 ZLoader 作为恶意软件即服务(malware-as-a-service)的犯罪集团的运作。 在本次捣毁行动中,微软还锁定了一位开发...
Hackernews 编译,转载请注明出处: 一个广泛应用于 Windows、 Linux 和 Mac 环境的开源模块的维护者最近破坏了它的功能,以抗议乌克兰的战争,大众再次将注意力集中在与软件代码依赖相关的潜在的严重安全问题上。 Node-ipc 是一个用于进程间通信的 JavaScrip...
美国参议院议员开始注意到关于黑客伪造”紧急数据请求”以获取苹果等科技公司数据的报道,其中一位开始调查隐私问题。3月29日,一份报告显示,黑客正在利用其所俘获的政府和警察电子邮件账户,使他们能够假装成执法官员。通过使用电子邮件账户和连接服务,黑客能够在某些情况下向科技公司索取数据。 具体来说,黑客们...
专业处理固件威胁的安全研究公司 Binarly,刚刚在周二的一篇博客文章中披露了 InsydeH2O“Hardware-2-Operating System”UEFI BIOS 中存在的问题。作为微软、英特尔、惠普、戴尔、联想、西门子、富士通等多家科技巨头的固件供应商,这意味着它们都易受将近两打安全...