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 款擦除恶意软件。 这种被称为 CaddyWiper 的恶意软件是由总部位于斯洛伐克的网络安全公司 ESET 的研究人员发现的,他们在周一发布的推文中分享了细节。 据研究人员称,该...
据报道,犯罪黑客正在通过一种有效的、狡猾的技术用偷来的执法部门的电子邮件从大型科技公司、ISP、运营商和社交媒体公司窃取用户数据。据网络安全记者Brian Krebs称,更具体地说,攻击者显然正在伪装成执法官员以获取传票特权数据。 一般来说,他们使用被破坏的执法部门电子邮件账户。 这种策略还依赖于...
黑莓威胁情报(BlackBerry Threat Intelligence)团队刚刚发出警报 —— 一款自 2021 年 8 月存续至今的 LokiLocker 勒索软件,正在互联网上传播肆虐。据悉,该恶意软件采用了 AES + RSA 的加密方案,若用户拒绝在指定期限内支付赎金,它就会擦除其 PC...
文件压缩软件 7-Zip 被爆零日安全漏洞,允许攻击者提权并执行任意代码。目前开发团队并未发布补丁,但普通用户可以通过简单操作来让这个漏洞失效。上周,研究人员 Kağan Çapar 发现并公布了 7-Zip 的一个零日漏洞,该漏洞可以授予权限升级和命令执行。 它被命名为 CVE-2022-290...
经历了持续一年多的追踪,网络安全研究人员终于摸清了“中东之眼”新闻网站入侵事件的来龙去脉。由 ESET 周二发布的报告可知,一群黑客入侵了总部位于伦敦的这家热门新闻网站。这家网站着眼于中东地区的新闻报道,而攻击者的最终目标却是网站访客。 伊朗驻阿布扎比大使馆网站的脚本注入 据悉,这轮黑客活动一直从...
周五晚上,一场破坏性网络攻击使巴基斯坦国家银行运营陷入瘫痪。该事件影响了该银行的自动取款机、内部网络和移动应用程序。目前,该事件被定为抹除数据的恶意软件攻击,而不是勒索软件攻击。 该事件发生在周五和周六之间的晚上,影响了银行后台系统,并影响了用于连接银行分支机构的服务器、控制银行ATM网络的后台基础...