PHP中优雅的从数组中删除指定的值
数据库中有一个字段是这样存的一个数组: 张三,李四,王麻子
现在需要删除李四。结果就是 张三,王麻子
不能直接replace,因为那样可能会匹配到麻子,结果是 张三,李四,王 所以这里需要按逗号解数组,然后删除,然后平回去。这个求差集 的概念;
现在可以翻开小学数学课本三年级上册《集合》复习下了;
$names = ['张三','李四','王麻子','李四'];$names = array_diff($names, ['李四']);$names = array_values(array_diff($names, ['李四']));
array_diff
跟 unset
一样并不会格式化键名;
就再加个 array_value
;
再配合save.
private function deleteLp( $KP_Name ){$LpModel = new LpModel; $list = LpModel::where('KP_TsType', 'like' ,'%' . $KP_Name . '%')->select();$result =[];foreach ($list as $k => $v) {$tmp = explode("," , $v['KP_TsType']);$names = array_values(array_diff($tmp, [$KP_Name])); $result[$k]['id'] = $v['id'];$result[$k]['KP_TsType'] = join(",", $names); } $LpModel->saveAll($result);}
PHP中优雅的从数组中删除指定的值相关推荐
- C++ 读取txt文件中数据并存入数组中
#include<iostream> #include<iomanip> #include<fstream> using namespace std; int ma ...
- Python中可以使用字符串处理函数来删除指定的字符或者字符集合。在这篇文章中,我们将会介绍如何使用Python来删除一个或多个指定字符。作为标题,《用Pyth...
Python中可以使用字符串处理函数来删除指定的字符或者字符集合.在这篇文章中,我们将会介绍如何使用Python来删除一个或多个指定字符.作为标题,<用Python删除指定字符(Removing ...
- PTA 一维数组 7-3 删除指定数据
在一列数据中,删除指定的值.输出每次删除后的数列.若数列中无待删除数据,则输出原数列. 输入格式: 在第1行输入一个整数n(0<n<=1000),表示数据个数: 在第2行输入n个整数,以空 ...
- js 数组删除指定的值
方法利用indexOf以及splice来删除指定的值 案例 var array = [2, 5, 9]; var index = array.indexOf(5); array.splice(inde ...
- php根据键值去除数组中的某个元素_php数组删除元素 删除指定键值元素
这个属于PHP操作数组的基本应用,但是小应用有大用途,而且一不留心操作错了,还可能给你造出意想不到的bug. 最近写程序的时候要拼装一个检索数组,要求每个栏目的检索条件还不一样,于是乎将获取到的检索条 ...
- java数组--数组中删除指定某个值
1 Arrays.asList() public static void main(String[] args) {String[] str={"11","22" ...
- c++删除数组中重复元素_leetcode 数组中重复的数字
找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...
- e339 java_java-在Spring Mongo中从文档数组中删除项目
我在mongo db中有这样的文档集合: "_id" : ObjectId("592bc37c339e7a23788b4c7c"), "trips&q ...
- java 数组 包含_Java中高效的判断数组中某个元素是否存在详解
一.检查数组是否包含某个值的方法 使用List public static boolean useList(String[] arr, String targetValue) { return Arr ...
最新文章
- WPF拖放功能实现zz
- 国考中的电子信息类与计算机类,信息工程属于什么类-电子信息工程在公务员考试中属于计算机类吗 – 手机爱问...
- VC6生成随机浮点数、C++11的random头文件以及Dev C++支持C++11
- 第一次正经面试之发现自己的缺陷和不足
- OpenFire源码学习之二十一:openfie对用户的优化(上)
- 【MySQL】MySQL运维及开发规范
- Linux系统编程 -- 进程与线程之间差别 进程是系统资源分配的最小单位,线程是进程执行的最小单位
- 线性代数-线性转化和矩阵
- 取最大值_举一反三17——线段平方和的最小值与最大值
- FFplay源码分析-EOF
- android前置摄像头预览,Android - 前置摄像头预览SurfaceView
- conda安装环境报错:Solving environment: failed with initial frozen solve.
- [SSL_CHX][2022-02-23]进制转换
- 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)
- 如何用Excel制作工作计划,跟踪任务进度,快来学习吧
- wsl2使用vscode无法写入文件permission denied解决方法
- 互联网创业成功之道(三):网站支付功能配置
- 计算机毕业后的打算英语作文,毕业后规划英语作文
- 习题2.4 编写程序,从键盘输入两个整数分别给变量x,y,如果x大于y,则输出x及x-y的值;否则,输出y及y-x的值
- 网络安全一哥的奇安信发布了全球高级可持续威胁年度报告 值得学习
热门文章
- 用户运营方法论:解析不同时期的拉新策略
- java计算机毕业设计高校多媒体设备运维管理系统服务端MyBatis+系统+LW文档+源码+调试部署
- 解决No module named flask的问题
- NFS 高可用方案(NFS+keepalived+Sersync)
- Matlab进阶绘图第6期—雷达图/蜘蛛图/星图
- pip使用阿里云源进行加速
- 3.13 总起句和中心句的区别
- LSM树数据结构介绍
- 动态规划之背包问题总结
- 微信小程序开发中遇到的问题“Provisional headers are shown“解决方案