扣丁学堂PHP培训简述如何删除一维数组中某一个值元素

2018-09-06 16:31:20 366浏览

最近有小伙伴在扣丁学堂官网留言咨询问题,小伙伴询问扣丁学堂PHP培训老师关于PHP删除一维数组中某一个值元素的操作的方法,小编整理了一下,现在就和大家分享一下如何删除一维数组中某一个值元素吧,对PHP开发感兴趣的小伙伴下面就随小编一起来看一下吧。


扣丁学堂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);
?>


此时:


Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [4] => 325
 [5] => 326
)


要重置索引,加上一句:


foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>


此时结果:


Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)


array_merge()也可以实现同样的效果:


foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>


此时结果:


Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)



2、优先使用php自带函数,因为那是用C实现的,比自己写效率高。


使用array_search和array_splice,这里array_splice自动实现重置序列值。


$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);


此时结果:


Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)


最佳实践:


$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);


结果:


Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)


这里,如果数组元素是复杂数据结构,同样能够实现比较。当然数据本身仍然是一维的。



上面的例子中$tmp是一个值,如果$tmp是一个数组或者其他复杂数据结构,从$array中删除所有$tmp包含的元素,上面的方法同样有效:


$arr = array_merge(array_diff($arr, $tmp));
var_dump($arr);



以上就是扣丁学堂PHP在线学习小编给大家分享的PHP删除一维数组中某一个值元素的操作方法,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。



想要学好PHP开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的PHP学习路线图辅助学员学习,此外还有与时俱进的PHP课程体系和PHP视频教程供学员观看学习,想要学好PHP开发技术的小伙伴快快行动吧。扣丁学堂PHP技术交流群:374332265。


【关注微信公众号获取更多学习资料】

 

 

查看更多关于“php培训资讯”的相关文章>>



标签: PHP培训 PHP基础教程 PHP学习视频 PHP教学视频 PHP入门教程 PHP教程视频 PHP在线学习 PHP在线视频 PHP在线教程 扣丁学堂PHP培训 如何删除一维数组中某一个值元素

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号