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

admin3年前PHP教程93

实现:删除给定的值之后,得到一个新的有序列表,长度-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函数漏洞

目录1.MD5 compare漏洞2.ereg函数漏洞:00截断3.变量本身的key4.变量覆盖5.strcmp6.sha1 和 md5 函数7.is_numeric8.preg_match9.par...

详解PHP解决守护进程Redis假死

目录一、一个简单的守护进程示例二、一个不再假死(伪活)的 Redis 常驻进程示例一、一个简单的守护进程示例<?php$redis = new \Redis();$redis->conne...

江苏BGP高防服务器的性能指标怎么看

江苏BGP高防服务器的性能指标怎么看?选择江苏BGP高防服务器时,以下几个性能指标是需要关注的:CPU:中央处理器,是服务器的核心部件,处理服务器上的各种计算任务,CPU的核数、主频等都会影响服务器的...

如何选择GPU服务器美国GPU服务器租用地址是多少

GPU服务器成为大数据以及人工智能时代所必需的。众多周知,GPU服务器加速服务,有效解决用户面临的大量计算压力,大幅度的简化部署和运维的复杂度。面对庞大的数据量,我们不能要求人工计算,并且CPU不能处...

laravel数据库查询结果自动转数组修改实例

在项目中再次碰见laravel中从数据库中查询到的结果是对象,用toArray也不好用,之前改过一次,印象中是在/confing/database.php, 'fetch' =>...

美国高防服务器有什么独特之处呢

美国高防服务器具有以下独特之处:高安全性:美国高防服务器通常具有较高的安全性能,可以提供强大的DDoS攻击防护、防火墙、加密传输等安全措施,可以保护用户的数据安全和隐私。可定制性强:美国高防服务器提供...