这篇文章主要介绍了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));`

更多相关文章

  1. 【北亚数据恢复】zfs文件系统的服务器误删除的数据恢复
  2. Android(安卓)保存数据到文件
  3. Android(安卓)Studio build.gradle productFlavors
  4. 递归函数删除缓存目录,数据库简单CURD(增删查改)
  5. 使用递归函数删除目录及目录下文件,mysql数据库的增删改查。
  6. PHP递归函数实现删除文件夹及其子目录
  7. 使用递归函数删除目录及目录下文件,mysql数据库的增删改查。
  8. 递归函数删除缓存目录,数据库简单CURD(增删查改)
  9. 【北亚数据恢复】EMC Unity 400存储误操作删除POOL上的数据卷的

随机推荐

  1. Android 短信发送器
  2. Android7.0中文文档(API)-- ShareActionPro
  3. AndroidStudio使用教程(第一弹)
  4. Cocos2d-x C++调用Android弹出提示框
  5. Android 麦克风录音动画
  6. json解析android客户端源码
  7. 不错的Android开发资料,收藏一下
  8. android视频录制MediaStore.ACTION_VIDEO
  9. android:debuggable属性
  10. widget(1、TextView)