实现:删除给定的值之后,得到一个新的有序列表,长度-1

代码:

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wkk
  5. * Time: 2021/7/11 - 01:03
  6. * Desc: <线性表>
  7. */
  8. namespace php;
  9. class ListArray
  10. {
  11. // 从一个线性表中删除给定的值
  12. public function deleteValue($list, $value)
  13. {
  14. // 记录是否找到
  15. $flag = false;
  16. // 记录这个$value值的位置
  17. $pos = 0;
  18. // 存储删除value之后的线性表
  19. $newList = [];
  20. if (!$list) {
  21. $flag = false;
  22. }
  23. // 查找这个给定的值
  24. foreach ($list as $k => $item) {
  25. if ($value === $item) {
  26. $flag = true;
  27. $pos = $k;
  28. break;
  29. } else {
  30. $flag = false;
  31. }
  32. }
  33. // 如果没找到,直接返回原线性表
  34. if (!$flag) {
  35. return $list;
  36. }
  37. // 在被删除的value之前的数据,保留
  38. for ($j = 0; $j < $pos; $j++) {
  39. $newList[$j] = $list[$j];
  40. }
  41. // var_dump($newList);die;
  42. // 如果找到了,删除这个值,其他的值从这个位置开始 依次往前进一位
  43. for ($i = $pos; $i < count($list) - 1; $i++) {
  44. // 往前挪一位
  45. $newList[$i] = $list[$i + 1];
  46. }
  47. return $newList;
  48. }
  49. $listObj = new ListArray();
  50. $array = [1, 3, 4, 7, 9, 10, 33];
  51. $newList = $listObj->deleteValue($array, 1);
  52. var_dump(json_encode($newList));

到此这篇关于php有序列表或数组中删除指定的值的实现代码的文章就介绍到这了,更多相关php有序数组删除内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

更多相关文章

  1. sqlserver通用的删除服务器上的所有相同后缀的临时表
  2. 使用FORFILES命令来删除SQLServer备份的批处理
  3. 判断触发器正在处理的是插入,删除还是更新触发
  4. sqlserver对字段的添加修改删除、以及字段的说明
  5. SQL建立数据库及删除数据库命令
  6. 动态给表添加删除字段并同时修改它的插入更新存储过程
  7. 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备
  8. SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期
  9. sql不常用函数总结以及事务,增加,删除触发器

随机推荐

  1. Python学习系列(六)(模块)
  2. 校招录取之后前往公司实习,现在感觉自己前
  3. 如何将dict转换为spark map输出
  4. 当使用一个传送到另一个的python文件时,我
  5. matplotlib绘制符合论文要求的图片
  6. classmethod,staticmethod,还有类里面一般
  7. Python文件操作大全,随机删除文件夹内的任
  8. 获取错误“ValueError:int()的无效文字,基数
  9. C++各大有名库的介绍——准标准库Boost
  10. 从Python中的列表元素中删除URL