栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从PHP中的数组中删除元素

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从PHP中的数组中删除元素

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

删除一个数组元素

如果只想删除一个数组元素,则可以使用

unset()
array_splice()

另外,如果您具有值并且不知道要删除元素的键,则可以使用

array_search()
该键来获取键。

unset()

请注意,使用

unset()
数组键时不会更改/重新索引。如果要重新索引键,则可以使用它,
array_values()
之后
unset()
将所有键转换为从0开始的数字枚举键。

<?php    $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()
需要偏移量,不是关键!作为第二个参数。

<?php    $array = [0 => "a", 1 => "b", 2 => "c"];    array_splice($array, 1, 1);  //↑ Offset which you want to delete?>

输出量

[    [0] => a    [1] => c]

array_splice()
就像
unset()
通过引用获取数组一样,这意味着您不想将这些函数的返回值分配回数组。

删除多个数组元素

如果你想删除多个数组元素,不想打电话

unset()
array_splice()
多次,你可以使用的功能
array_diff()
array_diff_key()
取决于如果你知道的值或要删除的元素的键。

array_diff()
方法

如果知道要删除的数组元素的值,则可以使用

array_diff()
。和以前一样,
unset()
它不会更改/重新索引数组的键。

<?php    $array = [0 => "a", 1 => "b", 2 => "c"];    $array = array_diff($array, ["a", "c"]);         //└────────┘→ Array values which you want to delete?>

输出量

[    [1] => b]

[
array_diff_key()
](http://php.net/manual/en/function.array-diff-

key.php) 方法

如果知道要删除的元素的键,则要使用

array_diff_key()
。在这里,您必须确保将键作为第二个参数中的键而不是值来传递。否则,您必须使用翻转数组
array_flip()
。而且这里的键不会更改/重新索引。

<?php    $array = [0 => "a", 1 => "b", 2 => "c"];    $array = array_diff_key($array, [0 => "xy", "2" => "xy"]);   //↑↑ Array keys which you want to delete?>

输出量

[    [1] => b]

同样,如果您要使用

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568645.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号