您的位置:首页 > 编程语言 > PHP开发

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

2021-09-14 04:07 2016 查看

实现:删除给定的值之后,得到一个新的有序列表,长度-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 = [];

if (!$list) {
$flag = false;
}

// 查找这个给定的值
foreach ($list as $k => $item) {
if ($value === $item) {
$flag = true;
$pos  = $k;
break;
} else {
$flag = false;
}
}

// 如果没找到,直接返回原线性表
if (!$flag) {
return $list;
}

// 在被删除的value之前的数据,保留
for ($j = 0; $j < $pos; $j++) {
$newList[$j] = $list[$j];
}
// var_dump($newList);die;

// 如果找到了,删除这个值,其他的值从这个位置开始 依次往前进一位
for ($i = $pos; $i < count($list) - 1; $i++) {
// 往前挪一位
$newList[$i] = $list[$i + 1];
}

return $newList;

}
}

$listObj = new ListArray();

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

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

您可能感兴趣的文章:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 数组 列表 指定