首页 » Web前端 » php数组value技巧_PHParray_diff删除数组中指定的value值

php数组value技巧_PHParray_diff删除数组中指定的value值

访客 2024-10-29 0

扫一扫用手机浏览

文章目录 [+]

比如说有个数组;

$names = [ '张三', '李四', '王麻子']

我们希望删除 李四 这个值;

php数组value技巧_PHParray_diff删除数组中指定的value值

常规的思路是先用 array_search 函数获取 李四 在

php数组value技巧_PHParray_diff删除数组中指定的value值
(图片来自网络侵删)

$key = array_search('李四', $names);if ($key !== false) { unset($names[$key]);}

这里有个坑是为了避免要删除的值在数组第0个位置的时候;

此处不能利用 if(names中的键名;然后利用unset删除;为了严谨还得判断李四是否存在;¨G1G这里有个坑是为了避免要删除的值在数组第0个位置的时候;此处不能利用if(key) 来判断;

而是该当利用if ($key !== false) ;

其余unset 不会重新格式化数组的key ;

操作完后会是这个样子的;

这个0和2少了1很是难熬痛苦;

上面这两种操作中我们还可以用 array_splice 替代 unset;

if ($key !== false) { array_splice($names, $key, 1);}

而且一旦数组中有多个李四;

$names = [ '张三', '李四', '王麻子', '李四'];

那上面这种办法还只能删除第一个李四;

如果要删除全部的李四就须要循环了;

foreach ($names as $k => $v) { if ($v === '李四') { unset($names[$k]); }}

除了上面这些常规操作;

还有一个骚操作是利用 array_flip 两次反转数组;

$names = [ '张三', '李四', '王麻子', '李四',];$names = array_flip($names);unset($names['李四']);$names = array_flip($names);

罢特如果王麻子也有两个的话;

由于键名不能重复的缘故原由;

这种操作后只会保留1个王麻子;

因此这种办法不足完美;

文章磨磨唧唧终于算是讲到了末了;

拿出了标题中的array_diff;

array_diff 本来是用来打算数组的差集;

8过根据我们小学学过的知识扩展下;

这个求差集可以用来删除数组指定的值;

如果忘了差集的观点;

现在可以翻开小学数学教材三年级上册《凑集》复习下了;

$names = [ '张三', '李四', '王麻子', '李四',];$names = array_diff($names, ['李四']);

array_diff 跟 unset 一样并不会格式化键名;

如果须要格式化键名;

就再加个 array_value;

$names = [ '张三', '李四', '王麻子', '李四',];$names = array_values(array_diff($names, ['李四']));

举两个例子,怎么样写好代码

最经典的算法,献给正在口试道路上的你

如果你现在在口试PHP的道路上,看看口试根本题吧

标签:

相关文章

介绍百度码,技术革新背后的智慧之光

随着科技的飞速发展,互联网技术已经成为我们生活中不可或缺的一部分。而在这个信息爆炸的时代,如何快速、准确地获取信息,成为了人们关注...

Web前端 2025-01-03 阅读1 评论0

介绍皮箱密码,开启神秘之门的钥匙

皮箱,作为日常生活中常见的收纳工具,承载着我们的珍贵物品。面对紧闭的皮箱,许多人却束手无策。如何才能轻松打开皮箱呢?本文将为您揭秘...

Web前端 2025-01-03 阅读1 评论0

介绍盗号器,网络安全的隐忧与应对步骤

随着互联网的快速发展,网络安全问题日益突出。盗号器作为一种非法工具,对网民的个人信息安全构成了严重威胁。本文将深入剖析盗号器的原理...

Web前端 2025-01-03 阅读1 评论0