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
));
到此这篇关于php有序列表或数组中删除指定的值的实现代码的文章就介绍到这了,更多相关php有序数组删除内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
上一篇:php之深入理解架构布局讲解
PSTrayFactory.exe是什么文件?PSTrayFactory.exe是不是病毒
pcboost.exe是什么文件?pcboost.exe是不是病毒
POCO2004.exe是什么文件?POCO2004.exe是不是病毒
PNXSERVR.exe是什么文件?PNXSERVR.exe是不是病毒
PhotoUD.exe是什么文件?PhotoUD.exe是不是病毒
Pccspyui.exe是什么文件?Pccspyui.exe是不是病毒
PasswordGuard.exe是什么文件?PasswordGuard.exe是不是病毒
pmProtect.exe是什么文件?pmProtect.exe是不是病毒
PPPoECat.exe是什么文件?PPPoECat.exe是不是病毒
plsqldev.exe是什么文件?plsqldev.exe是不是病毒