• 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,则不会改变。

  • 相关阅读:
    ubuntu 软件包(package)更换源(source)为阿里云镜像 update&upgrade
    【转载】 ftp 命令行
    阿里云服务器开启端口
    [转载] login shell和non-login shell
    python中global变量释疑
    python 用abc模块构建抽象基类Abstract Base Classes
    【转载】python 特殊函数 dunder function
    tensorflow2.0——波士顿房价数据与多个特征的关系(多元函数的预测)
    tensorflow2.0——波士顿房价数据与房间数关系的预测
    tensorflow2.0——自动求导GradientTape
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9103087.html
Copyright © 2020-2023  润新知