PHP删除数组中指定的元素

删除数组元素有不同的方法,可以根据具体的需要选择不同的方法。

1.unset() 方法

注意:当您使用unset()方法时,数组Key值不会更改。 如果要重新编号键,您可以在unset()之后使用array_values(),它将所有键转换为从0开始的数值枚举键。

输出

2.array_splice() 方法

注意:如果使用array_splice(),那么键将被自动重新建立索引,但是关联键不会改变,而是将array_values()转换成数字键。

输出

array_splice()与unset()相同,通过引用获取数组,这意味着执行代码后将直接改变原数组数据。

删除数组中多个元素

如果要删除多个数组元素,又不想多次调用unset()或array_splice(),则可以使用函数array_diff()或array_diff_key(),具体取决于你是否知道想删除元素的值或键 。

1.array_diff() 方法

如果你知道要删除的数组元素的值,那么可以使用array_diff()。 与unset()方法一样,它不会重新索引数组的键。

输出

2.array_diff_key() 方法

如果您知道要删除的元素的键,则使用array_diff_key()。 在这里,您必须确保将Key作为第二个参数中的键传递,而不是值。 否则你必须用array_flip()来翻转数组。 而且这里的键也不会重新索引。

输出

另外,如果要使用unset()或array_splice()删除具有相同值的多个元素,可以使用array_keys()获取特定值的所有键,然后删除所有元素。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据