标签:序列表 删除 newList list pos value flag 数组 php
有序列表(数组)删除指定的值
实现:删除给定的值之后,得到一个新的有序列表,长度-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));
标签:序列表,删除,newList,list,pos,value,flag,数组,php 来源: https://www.cnblogs.com/alisleepy/p/14998817.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。