PHP中unset,array_splice删除数组中元素的区别

PHP中unset,array_splice删除数组中元素的区别

php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧

 

如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排:

?
1
2
3
4
5
<?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');
unset($arr[1]);
print_r($arr);
?>

 

   

结果是:

Array ( [0] => a [1] => c [2] => d )
 
删除数组中特定元素

<?php
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value)
{
  if ($value === 3)
    unset($arr2[$key]);
}
var_dump($arr2);
?>

 

   

补充删除空数组

实例:

<?php
  $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
  array_filter($array);
  echo "<pre>";
  print_r($array);
?>

 

   

结果:

Array (
     [a] => abc
     [b] => bcd
     [c] => cde
    [d] => def
)

总结
 

array_splice()函数删除的话,数组的索引值也变化了。
unset()函数删除的话,数组的索引值没有变化。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113566.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如果SQL Server 配置管理器没有找到就代表安装失败?

    如果SQL Server 配置管理器没有找到就代表安装失败?首先,只要你安装的方法正确,就不要有安装失败或安装不完全的想法(或许安装时没有勾选配置管理工具),不要立马重装或者修复或其他操作。因为我之前因为重装电脑,安装过无数次,就有一次没有找到,在网上找解决方法,一律是“证明你安装不完全”、“重装,安装有问题”之类的回答,看完立马就泻气,但不要这样,浪费时间还不一定会解决问题。解决方法:1、一般安装完SQLServer2008或其他版本,在“

    2022年7月20日
    17
  • MySQL 5.7.27详细下载安装配置教程

    MySQL 5.7.27详细下载安装配置教程本文详细介绍了Win10下MySQL5.7.27的安装及配置步骤,也列举出了一些常见的问题及解决方案

    2022年4月28日
    43
  • 详细解读Spatial Transformer Networks(STN)-一篇文章让你完全理解STN了

    详细解读Spatial Transformer Networks(STN)-一篇文章让你完全理解STN了目录STN的作用1.1灵感来源1.2什么是STN?STN的基本架构Localisationnet是如何实现参数的选取的?3.1实现平移3.2实现缩放3.3实现旋转3.4实现剪切3.5小结Gridgenerator实现像素点坐标的对应关系4.1为什么会有坐标的问题?4.2仿射变换关系Sampler实现坐标求解的可微性5.1小数

    2022年10月19日
    4
  • Web Server与App Server

    Web Server与App ServerWebServer 常见的 WebServer 有 ApacheServer 与 Nginx ApacheHttpSe 是 Apache 软件基金会下的一个项目 是一款开源的 HTTP 服务器软件 它也可以作为邮件代理服务器 通用的 TCP 代理服务器 Nginx 之前有配置它的博文 大多数用它来做负载均衡 这两者基本相同 HTTP 服务器本质上也是一种应用程序 通常运行在

    2025年12月13日
    6
  • 3DMax And PS 快捷键大全(整理)

    3DMax And PS 快捷键大全(整理)显示降级适配(开关)【O】适应透视图格点【Shift】+【Ctrl】+【A】排列【Alt】+【A】角度捕捉(开关)【A】动画模式(开关)【N】改变到后视图【K】背景锁定(开关)【Alt】+【Ctrl】+【B】前一时间单位【.】下一时间单位【,】改变到上(Top)视图【T】改变到底(Bottom)视图【B】改变到相机(Camera)视图【C】改变到前

    2022年9月29日
    4
  • hdu 3081 hdu 3277 hdu 3416 Marriage Match II III IV //灵活运用最大流量

    hdu 3081 hdu 3277 hdu 3416 Marriage Match II III IV //灵活运用最大流量

    2022年1月6日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号