
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删除数组中空值的方法介绍
说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: 复制代码 代码如下: <?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); } ?> 而且自我感觉还挺不错,只是这样的效率并不高也曾经试过,先将$arr转为对象,然后利用对象的特性来删除,因为:foreach是将当前操作的数组进行copy,每操作一下f
-
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
本文实例讲述了PHP删除数组中指定值的元素.分享给大家供大家参考,具体如下: 测试数组如下: //这是一个测试数组 $testArr = array( 't' => 'qq', 'q' => 'qq', 'b' => 'baidu', 'a' => 'ali', 'm' => 'xiaomi' ); 方法一: //foreach遍历后unset删除,这种方法也是最容易想到的方法 function delByValue($arr, $value){ if(!is_array($
-
PHP从数组中删除元素的四种方法实例
茴香豆的"茴"字有四种写法,PHP从数组中删除元素也有四种方法 ^_^. 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: <?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你想删除的key ?> 输出: Array ( [0] => a [2] =>
-
PHP删除数组中的特定元素的代码
比如下面的程序: 复制代码 代码如下: <?php $arr = array('apple','banana','cat','dog'); unset($arr[2]); print_r($arr); ?> 程序运行结果: 复制代码 代码如下: Array ( [0] => apple [1] => banana [3] => dog ) 但是这种方法的最大缺点是没有重建数组索引,就是说,数组的第三个元素没了. 经过查资料后,原来PHP提供了这个功能,只不过很间接.这个函数是
-
PHP删除数组中指定下标的元素方法
1.前面有讲数组作为堆栈和队列时的删除元素操作,即按顺序有规律的进行删除.那么,如果需要从数组的中间位置删除某个元素该如何操作呢?就需要我们今天要讲的unset()函数了. 2.unset()函数允许取消一个数组中的元素,但数组并不会重建索引,即保持原有索引,因为php中的索引具有特殊的含义. 3.示例展示: <?php $arr = array(1=>'one',2=>'two',3=>'three'); //删除下标为2的元素 unset($arr[2]); //将得到Arra
-
php 删除一维数组中某一个值元素的操作方法
1. 自己写for循环 从array里去掉$tmp这个元素的值 <?php $tmp = '324'; $arr = array( '0' => '321', '1' => '322', '2' => '323', '3' => '324', '4' => '325', '5' => '326', ); 代码 foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } print_r($arr);
-
php删除数组指定元素实现代码
php删除数组指定元素实现代码 在PHP中删除数组指定元素的函数没有直接能使用的,多数只能封装方法 例如array_slice() 函数在数组中根据条件取出一段值,并返回. array_slice(array,offset,length,preserve) array:数组 offset: 规定取出元素的开始位置.如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值. <?php $a=array(0=>"Dog",1=>"Cat&qu
-
PHP中unset,array_splice删除数组中元素的区别
如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> 结果是: Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice(): <?php $arr = array('a','b','c','d
-
PHP删除数组中特定元素的两种方法
方法一: 复制代码 代码如下: <?php$arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1); if ($key !== false) array_splice($arr1, $key, 1);var_dump($arr1);?> 输出:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) } 方法二: 复制代码 代码如下: <
-
PHP根据key删除数组中指定的元素
php数组中元素的存在方式是以键值对的方式('key'=>'value'),有时候我们需要根据键删除数组中指定的某个元素. function bykey_reitem($arr, $key){ if(!array_key_exists($key, $arr)){ return $arr; } $keys = array_keys($arr); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($arr,
随机推荐
- JSP Session超时设置的实现方法
- VB实现的《QQ美女找茬游戏》作弊器实例
- js 操作符实例代码
- thinkPHP中验证码的简单实现方法
- 手把手教你打印出PDF(关于fpdf的简单应用)
- JavaScript使用简单正则表达式的数据验证功能示例
- 在Python中使用元类的教程
- vue子组件使用自定义事件向父组件传递数据
- MySQL性能参数详解之Max_connect_errors 使用介绍
- 修改PHP脚本使WordPress拦截垃圾评论的方法示例
- js中encode、decode的应用说明
- 纯js模拟div层弹性运动的方法
- 用C语言进行最基本的socket编程
- adbrite网络广告
- C++实现接两个链表实例代码
- Java中使用jaxp进行sax解析_动力节点Java学院整理
- Android绘制机器人小实例
- Linux中mkdir命令详解
- SpringBoot 2 统一异常处理过程解析
- iOS中gif图的显示方法示例
其他
- 保留小数点后两位不四舍五入 asp
- 指定接口 超时时间 spring boot
- vue项目为什么要求组件模板只能有一个根元素
- jCarouselLite最开始元素隐藏获取不到高度
- mounted调取数据会掉两次
- android 浮动框打开主界面
- FaceRecognizer 阀值
- .net core ILogger 保存文件的配置
- string 字符串转数组空字符会被忽略
- router.beforeEach比请求接口快
- hbuilder app打包编译成功但无法打包
- python setter和getter方法
- vue怎么渲染返回的dom节点
- Optional<User> 值不更新
- ffmpeg 添加水印慢
- mybatis 联表查询逗号分割
- wilcox秩和检验 R
- jQuery右下角弹出消息提示框代码
- Android studio 开源项目 UI
- 切换python解释器异常