zoukankan      html  css  js  c++  java
  • PHP数组foreach循环如何实现逆序访问?

    PHP数组foreach循环如何实现逆序访问?

    一、总结

    1、array_reverse($array) :foreach(array_reverse($array) as $key=>$value) 。

    二、PHP数组foreach循环如何实现逆序访问?

    简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...

    php数组逆序输出代码
    1. foreach(array_reverse($array) as $key=>$value){ 
    2. echo $value.' '; 

    array_reverse

    (PHP 4, PHP 5)

    array_reverse — 返回一个单元顺序相反的数组

    说明

    array array_reverse ( array $array [, bool $preserve_keys ] )

    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 array_reverse ( array $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,则不会改变。

  • 相关阅读:
    shell脚本while read line的使用
    shell 一次性赋值多个变量
    Docker Volume
    nginx反向代理与负载均衡
    lua中 table.getn(t) 、#t、 table.maxn(t) 这三个什么区别?
    pv绑定pvc
    使用brew services管理服务
    Kubernetes中强制删除Pod、namespace
    shell 中的${},##, %% , :- ,:+, ? 的使用
    petalinux中fsbl源码
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9103087.html
Copyright © 2011-2022 走看看