ASCII码 ASCII码

php有序列表或数组中删除指定的值的实现代码

发布于:2022-03-05 10:54:48  栏目:技术文档

这篇文章主要介绍了php有序列表或数组中删除指定的值的实现代码,删除给定的值之后,得到一个新的有序列表,长度-1,下面是具体的实现方法

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

代码:

`<?php/**

  • Created by PhpStorm.
  • User: wkk
  • Time: 2021/7/11 - 01:03
  • Desc: <线性表>*/

namespace php;

class ListArray{ // 从一个线性表中删除给定的值 public function deleteValue($list, $value) { // 记录是否找到 $flag = false; // 记录这个$value值的位置 $pos = 0; // 存储删除value之后的线性表 $newList = [];

  1. if (!$list) {
  2. $flag = false;
  3. }
  4. // 查找这个给定的值
  5. foreach ($list as $k => $item) {
  6. if ($value === $item) {
  7. $flag = true;
  8. $pos = $k;
  9. break;
  10. } else {
  11. $flag = false;
  12. }
  13. }
  14. // 如果没找到,直接返回原线性表
  15. if (!$flag) {
  16. return $list;
  17. }
  18. // 在被删除的value之前的数据,保留
  19. for ($j = 0; $j < $pos; $j++) {
  20. $newList[$j] = $list[$j];
  21. }
  22. // var_dump($newList);die;
  23. // 如果找到了,删除这个值,其他的值从这个位置开始 依次往前进一位
  24. for ($i = $pos; $i < count($list) - 1; $i++) {
  25. // 往前挪一位
  26. $newList[$i] = $list[$i + 1];
  27. }
  28. return $newList;
  29. }

}

$listObj = new ListArray();

$array = [1, 3, 4, 7, 9, 10, 33];$newList = $listObj->deleteValue($array, 1);var_dump(json_encode($newList));`

相关推荐
阅读 +