PHP array_shift()用法实例分析
本文实例讲述了PHP array_shift()用法。分享给大家供大家参考,具体如下:
array_shift()
将数组开头的单元移出数组,并作为结果返回,将数组长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果数组为空或不是一个数组则返回 NULL。
注意:如果元素量很大,这个操作会很耗时,因为要重新计算索引,时间复杂度为O(n);改进方法是先用array_reverse()
,再用array_pop()
。
简单事例如下:
$arr = array('a','b','c','d','e'); print_r($arr); $arr0 = array_shift($arr); print_r($arr0); $arr1 = array_reverse($arr); print_r($arr1); array_pop($arr1); print_r($arr1); $arr = array_reverse($arr1); print_r($arr);
运行结果:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
)
aArray
(
[0] => e
[1] => d
[2] => c
[3] => b
)
Array
(
[0] => e
[1] => d
[2] => c
)
Array
(
[0] => c
[1] => d
[2] => e
)
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php数组函数序列之array_unique() - 去除数组中重复的元素值
array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名不变. 语法 array_unique(array) 参数 描述 array 必需.规定输入的数组. 说明 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名.这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留. 提示和注
-
php使用array_rand()函数从数组中随机选择一个或多个元素
使用array_rand() 函数从数组中随机选出一个或多个元素,并返回. 复制代码 代码如下: array_rand(array,number) 参数 描述 array 必需.规定输入的数组参数. number 可选.默认是 1.规定返回多少个随机的元素. 例子: 复制代码 代码如下: <?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"
-
php数组函数序列之array_pop() - 删除数组中的最后一个元素
array_pop()定义和用法 array_pop() 函数删除数组中的最后一个元素. 语法 array_pop(array)参数 描述 array 必需.规定输入的数组参数. 例子 复制代码 代码如下: <?php $a=array("Dog","Cat","Horse"); array_pop($a); print_r($a); ?> 输出: Array ( [0] => Dog [1] => Cat )
-
php array_filter除去数组中的空字符元素
除去数组中的空字符元素 复制代码 代码如下: <?php $str1_array=array('我们','','http://www.jb51.net','','1654',''); $str1_array=array_filter($str1_array); print_r($str1_array); ?> 显示结果: 复制代码 代码如下: Array ( [0] => 我们 [2] => http://www.jb51.net [4] => 1654 )
-
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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
shuffle()定义和用法 shuffle() 函数把数组中的元素按随机顺序重新排列. 若成功,则返回 TRUE,否则返回 FALSE. 注释:本函数为数组中的单元赋予新的键名.这将删除原有的键名而不仅是重新排序. 注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成. 语法 shuffle(array) 参数 描述 array 必需.规定要使用的数组. 例子 复制代码 代码如下: <?php $my_array = a
-
php通过array_shift()函数移除数组第一个元素的方法
本文实例讲述了php通过array_shift()函数移除数组第一个元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码通过array_shift()函数加while循环不断移除数组的第一个元素,直到数组为空 <?php $alpha = array("a", "b", "c"); while ( count( $alpha ) ) { $val = array_shift( $alpha); print "$val<
-
php数组函数序列之array_keys() - 获取数组键名
array_keys() 定义和用法 array_keys() 函数返回包含数组中所有键名的一个新数组. 如果提供了第二个参数,则只返回键值为该值的键名. 如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型. 语法 array_keys(array,value) 参数 描述 array 必需.规定输入的数组. value 可选.指定值的索引(键). strict 可选.与 value 参数一起使用.可能的值: true - 根据类型返回带有
-
php数组函数序列之array_key_exists() - 查找数组键名是否存在
array_key_exists() 定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false. 语法 array_key_exists(key,array) 参数 描述 key 必需.规定键名. array 必需.规定输入的数组. 例子 1 复制代码 代码如下: <?php $a=array("a"=>"Dog","b"=>&quo
-
php array_flip() 删除数组重复元素
方法如下: $arr = array(----) ;//假设有一万个元素的数组,里面有重复的元素. $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array ("age" => 30, "name" => "快乐园"); $arr2 = a
-
PHP中把stdClass Object转array的几个方法
方法一: 复制代码 代码如下: //PHP stdClass Object转array function object_array($array) { if(is_object($array)) { $array = (array)$array; } if(is_array($array)) { foreach($array as $key=>$value) { $array[$key] = object_
随机推荐
- bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
- 详解C++11中的右值引用与移动语义
- 【算法】扑克发牌算法实现
- 伪静态技术介绍与优缺点分析(较完整篇)
- 电信ADSL技术词典
- ASP.NET过滤器的应用方法介绍
- 详解iOS 滚动视图的复用问题解决方案
- js实现在网页上简单显示时间的方法
- jQuery ajax(复习)—Baidu ajax request分离版
- 浅谈在js传递参数中含加号(+)的处理方式
- C#中的委托和事件学习(续)
- asp实现一个统计当前在线用户的解决方案
- 深入理解C语言 static、extern与指针函数
- C#判断指定文件是否是只读的方法
- mysql 双向同步的键值冲突问题的解决方法分享
- jQuery加密密码到cookie的实现代码
- sql server递归子节点、父节点sql查询表结构的实例
- jQuery EasyUI框架中的Datagrid数据表格组件结构详解
- jQuery Ajax之load()方法
- Java实现鼠标拖放功能的方法