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)
一家欧洲隐私监督机构已经制裁了有争议的面部识别公司Clearview AI,该公司从互联网上搜刮自拍,积累了约100亿张脸的数据库,为其出售给执法部门的身份匹配服务。意大利的数据保护机构今天宣布对Clearview AI违反欧盟法律的行为处以2000万欧元罚款。 同时命令这家有争议的公司删除其...
上周,Chrome Security 团队的 Adrian Taylor,在一篇谷歌安全博客文章中解释了“为何在野外被利用的 CVE 漏洞似乎有所增加”。对于这种漏洞利用的可见性增长趋势,归咎于多个方面的因素。而谷歌旗下的 Project Zero 团队,也有对包括 WebKit、IE、Flash、...
Surfshark的一项研究显示,自3月开始入侵乌克兰以来,俄罗斯账户被攻破的次数比2月多136%。反过来,乌克兰在黑客攻击中充当受害者的场景比战争前的那个季度少67%。这些数字很可能是由于黑客组织Anonymous在冲突开始时宣布它将特意针对俄罗斯的事实。 sandr Valentij说。”泄...
文件压缩软件 7-Zip 被爆零日安全漏洞,允许攻击者提权并执行任意代码。目前开发团队并未发布补丁,但普通用户可以通过简单操作来让这个漏洞失效。上周,研究人员 Kağan Çapar 发现并公布了 7-Zip 的一个零日漏洞,该漏洞可以授予权限升级和命令执行。 它被命名为 CVE-2022-290...
眼下,勒索软件已经成为互联网上的一种趋势,它的目标包括企业、政府机构、医院和学校。这是一个几十年前就存在的问题,但在过去几年中变得非常普遍。最初,黑客以个人为目标,要求提供几百美元的比特币,但现在他们追求更大的目标,他们可以勒索更大的金额,并且被勒索放在没有电脑和服务器的情况下无法继续正常使用 密...
白俄罗斯政府被指控至少对欧洲的Ghostwriters攻击事件负有部分责任。虽然网络安全公司在涉及威胁集团的归属时通常会谨慎行事,但Mandiant表示,它有高度的信心认为Ghostwriter–同时跟UNC115活动也有关联–是一个可能代表该国政府的网络犯罪组织。 今年早些时候,在一架商业飞机被...