PHP陣列foreach迴圈如何實現逆序訪問?

2021-09-07 18:29:49 字數 2472 閱讀 2080

1、array_reverse($array)

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

簡單的乙個php陣列函式,之前沒這個需要一直都不知道有這麼乙個函式,擦汗...

php陣列逆序輸出**

foreach(array_reverse($array) as $key=>$value) 

(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 4, php 5, php 7)

array_reverse — 返回單元順序相反的陣列

arrayarray_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

)

解答:不會,只影響第一維。

解答:true對應的引數是preserve_keys,如果設定為true,true會保留數字的鍵。 非數字的鍵則不受這個設定的影響,總是會被保留。

也就是說陣列逆序了,但是數字鍵和值的對應關係並沒有改變。

解答:如果有數字key,則會按照reverse後的value順序重新指定,如果全是非數字的key,則不會改變。

php 大陣列 foreach 迴圈巢狀的效能優化

前提 最近在做後台的時候,頁面載入太慢,故第一時間想到的自然是優化sql,優化後sql查詢速度從 2秒變成了零點幾秒,以為就這麼完事了,然並卵,載入竟然花費30秒!這麼慢,然後在 中分塊記錄它的耗時時間,發現是在 foreach 遍歷的問題,巢狀資料量太大了,我還巢狀了三層,資料量大約為 30 20...

PHP中的foreach迴圈

php中的foreach語句,常用於遍歷陣列。foreach一般有兩種使用方式 1 只取陣列的值,不取陣列的下標 2 取陣列值,同時也取陣列的下標 以下面的例1和例2來解釋其用法 例1 只取值,不取下標 member array 201201 tom 201203 jack 201211 james...

PHP中foreach迴圈語句

一 語法 foreach array expression as value statement foreach array expression as key value statement foreach語句將遍歷陣列 array expression,每次迴圈時,將當前陣列中的值賦值給 val...