PHP数组foreach循环如何实现逆序访问?
PHP数组foreach循环如何实现逆序访问?
一、总结
1、array_reverse($array) :foreach(array_reverse($array) as $key=>$value) 。
二、PHP数组foreach循环如何实现逆序访问?
简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...
- foreach(array_reverse($array) as $key=>$value){
- echo $value.' ';
- }
array_reverse
(PHP 4, PHP 5)
array_reverse — 返回一个单元顺序相反的数组
说明
array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。
Example #1 array_reverse() 例子
<?php
$input = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
$result_keyed = array_reverse($input,true);
?>
这将使 $result 和 $result_keyed 具有相同的单元,但是注意键名的区别。$result 和 $result_keyed 的打印输出显示分别为:
Array
(
[0] => Array
(
[0] => green
[1] => red
) [1] => 4
[2] => php
)
Array
(
[2] => Array
(
[0] => green
[1] => red
) [1] => 4
[0] => php
)
Note: 第二个参数是 PHP 4.0.3 中新加的。
总结:
如果 array_reverse($arr) 不行,就用 array_reverse($arr,true)
三、php参考手册:array_reverse
array_reverse
(PHP 4, PHP 5, PHP 7)
array_reverse — 返回单元顺序相反的数组
说明¶
$array
[, bool $preserve_keys
= false ] )array_reverse() 接受数组 array
作为输入并返回一个单元为相反顺序的新数组。
参数¶
array
-
输入的数组。
preserve_keys
-
如果设置为
TRUE
会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。
返回值¶
返回反转后的数组。
范例¶
Example #1 array_reverse() 例子
<?php
$input = array("php", 4.0, array("green", "red"));
$reversed = array_reverse($input);
$preserved = array_reverse($input, true);
print_r($input);
print_r($reversed);
print_r($preserved);
?>
以上例程会输出:
Array
(
[0] => php
[1] => 4
[2] => Array
(
[0] => green
[1] => red
) )
Array
(
[0] => Array
(
[0] => green
[1] => red
) [1] => 4
[2] => php
)
Array
(
[2] => Array
(
[0] => green
[1] => red
) [1] => 4
[0] => php
)
四、测试题-简答题
1、array_reverse()数组会影响到二维数组的第二维么?
解答:不会,只影响第一维。
2、array_reverse($input, true);
中的true的作用是什么?
解答:true对应的参数是preserve_keys
,如果设置为true,TRUE
会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。
也就是说数组逆序了,但是数字键和值的对应关系并没有改变。
3、array_reverse($input);会改变键和值的对应关系么?
解答:如果有数字key,则会按照reverse后的value顺序重新指定,如果全是非数字的key,则不会改变。
最新文章
- 多线程迭代之——LINQ to TaskQuery
- java 线程安全 synchronized
- jQuery判断元素是否在可视区
- 移动端H5页面的设计稿尺寸大小规范-转载自http://www.chinaz.com/design/2015/1103/465670.shtml
- Java基础复习之二:运算符,键盘录入,流程控制语句,if语句,三元运算
- js基础第七天
- 用它解决大问题啦,STRACE应用
- C语言(按键获取与函数)
- linux下挂载iso镜像文件(转)
- 分针网—每日分享:HTML解析原理
- 模拟EF CodeFist 实现自己的ORM
- FileSaver.js 介绍
- Linux下解压后缀名为".tar.xz"的文件
- 第十一节 JS事件基础
- Linux系统的命令别名功能(转)
- 【独家】硅谷创业公司在中国常跌的五个坑|禾赛科技CEO李一帆柏林亚太周主题演讲
- shell命令记录
- PTA 7-9 旅游规划(SPFA)
- 第一个 smarty 程序
- Jira 添加自定义字段