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)
上一篇 2021年10月15日 下午9:00
下一篇 2021年10月15日 下午9:00


相关推荐

  • 词法分析器(分析C语言)

    词法分析器(分析C语言)问题描述 用 C 或 C 语言编写一个简单的词法分析程序 扫描 C 语言小子集的源程序 根据给定的词法规则 识别单词 填写相应的表 如果产生词法错误 则显示错误信息 位置 并试图从错误中恢复 简单的恢复方法是忽略该字符 或单词 重新开始扫描 相关词法规则标识符 字母标识符 标识符字母标识符 标识符数字常量 无符号整数无符号整

    2026年3月19日
    2
  • python协程系列_python asyncio

    python协程系列_python asyncio协程的定义协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)作用:在执行A函数的时候,可以随时中断,去执行B函数,然后中断B函数,继续执行A函数(可以自动

    2022年7月29日
    11
  • 用js来实现那些数据结构15(图01)[通俗易懂]

    其实在上一篇介绍树结构的时候,已经有了一些算法的相关内容介入。而在图这种数据结构下,会有更多有关图的算法,比如广度优先搜索,深度优先搜索最短路径算法等等。这是我们要介绍的最后一个数据结构。同时也是本系

    2022年3月25日
    35
  • mysql b+树优点_基础B

    mysql b+树优点_基础B写在前面大家在面试的时候,肯定都会被问到MySql的知识,以下是面试场景:面试官:对于MySQL,你对他索引原理了解吗?我:了解面试官:MySQL的索引是用什么数据机构的?我:B+树面试官:为什么要用B+树,而不是B树?我:…面试官:用B+树作为MySql的索引结构,用什么好处?我:…B树和B+树是MySQL索引使用的数据结构,对于索引优化和原理理解都非常重要,下面我的写文章就是要把B树,B+树的神秘面纱揭开,让大家在面试的时候碰到这个知识点一往无前,不再成为你的知识盲点!欢迎关注公

    2025年6月3日
    4
  • executequery方法返回值_mysql数据库有什么用

    executequery方法返回值_mysql数据库有什么用1if(AccessCon.ExecuteSql(sql=”select*fromsalesDatawhereindex='”+man.Index+”‘”)>0)2{3retValue=AccessCon.ExecuteSql(sql=”updatesalesDatasetsellingPrize='”+m…

    2025年10月29日
    5
  • html5十大新特性有哪些,HTML5有哪些新特性

    html5十大新特性有哪些,HTML5有哪些新特性摘要 HTML5 有哪些新特性考必过小编为大家整理了关于 HTML5 有哪些新特性的信息 希望可以帮助到大家 HTML5 有哪些新特性标签 定位绘图 group 页眉文档自动拖放包含正则表达 一 语义标签表示页面中一个内容区块或整个页面的标题 页面中的一个内容区块 如章节 页眉 页脚或页面的其他地方 可以和 h1 h2 元素结合起来使用 表示文档结构 表示

    2026年3月19日
    1

发表回复

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

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