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,則不會改變。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM