PHP中unset,array_splice删除数组中元素的区别
2015-01-24信息快讯网
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'); array_splice($arr,1,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()函数删除的话,数组的索引值没有变化。
php提示Warning:mysql_fetch_array() expects的解决方法
PHP使用array_multisort对多个数组或多维数组进行排序
smarty缓存用法分析
smarty表格换行实例
php中Array2xml类实现数组转化成XML实例
ThinkPHP模板输出display用法分析
PHP中array_slice函数用法实例详解
php中in_array函数用法探究
PHP之sprintf函数用法详解
php中spl_autoload详解
跟我学Laravel之视图 & Response
php 模拟 asp.net webFrom 按钮提交事件实例
取得单条网站评论以数组形式进行输出
PHP常用数组函数介绍
PHP中可以自动分割查询字符的Parse_str函数使用示例
php之Smarty模板使用方法示例详解
PHP关于htmlspecialchars、strip_tags、addslashes的解释
ThinkPHP使用smarty模板引擎的方法
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
php数组合并array_merge()函数使用注意事项
PHP错误Cannot use object of type stdClass as array in错误的解决办法
PHP微框架Dispatch简介
PHP命名空间(Namespace)简明教程
PHP中spl_autoload_register()和__autoload()区别分析
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
PHP中把stdClass Object转array的几个方法
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
php使用array_rand()函数从数组中随机选择一个或多个元素