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

  • 相关阅读:
    SpringMVC(二)
    SpringMVC(一)
    Mybatis之mapper.xml配置文件中的#{}和${}
    Mybatis(二)
    Mybatis(一)
    Linux部署项目
    BOS物流项目第十三天
    Failed to read schema document 'http://www.springframework.org/schema/beans/spring-beans.xsd'
    景点API支持查询携程旅游门票景点详情
    Html引入百度富文本编辑器ueditor及自定义工具栏
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9103087.html
Copyright © 2020-2023  润新知