PHP 常见问题之 02 PHP 如何删除数组中的元素

实战需求

有没有一种简单的方法可以使用 PHP 从数组中删除元素,从而foreach ($array)不再包含该元素?

我认为将其设置为null可以做到这一点,但显然它不起作用。

解决方案

有多种方法可以删除数组元素,其中一些方法对某些特定任务比其他方法更有用。

删除单个数组元素
如果您只想删除一个数组元素,您可以使用unset()或\array_splice()。

如果您知道值但不知道删除元素的键,您可以使用它\array_search()来获取键。这仅在元素不多次出现时才有效,因为\array_search仅返回第一次命中。

unset()
请注意,当您使用unset()数组键时不会改变。如果你想重新索引你可以使用\array_values()after的键unset(),这会将所有键转换为从 0 开始的数字枚举键。

代码:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete

输出:

[
    [0] => a
    [2] => c
]

\array_splice() 方法
如果您使用\array_splice()这些键将自动重新索引,但关联键不会改变 — 与 相反\array_values(),它将所有键转换为数字键。

\array_splice()需要offset,而不是key,作为第二个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值