[英]iterate reverse over php associative array
如何反向遍歷php關聯數組? https://stackoverflow.com/a/10777617/1032531提供了非關聯陣列的解決方案。
我的嘗試:
$a=['5'=>'five','3'=>'three','7'=>'seven'];
var_dump($a);
foreach($a as $k=>$v){echo("$k $v\n");}
$a=array_reverse($a);
var_dump($a);
foreach($a as $k=>$v){echo("$k $v\n");}
產生以下結果:
array(3) {
[5]=>
string(4) "five"
[3]=>
string(5) "three"
[7]=>
string(5) "seven"
}
5 five
3 three
7 seven
array(3) {
[0]=>
string(5) "seven"
[1]=>
string(5) "three"
[2]=>
string(4) "five"
}
0 seven
1 three
2 five
我希望保留密鑰,然后返回:
array(3) {
[5]=>
string(4) "five"
[3]=>
string(5) "three"
[7]=>
string(5) "seven"
}
5 five
3 three
7 seven
array(3) {
[7]=>
string(5) "seven"
[3]=>
string(5) "three"
[5]=>
string(4) "five"
}
7 seven
3 three
5 five
您非常親密-您已經掌握了所有關鍵字-只需記住PHP手冊是您的朋友:)
array_reverse
的手冊頁列出了可選參數$preserve_keys
,默認為false。
因此,您只需要更改$a=array_reverse($a);
到$a=array_reverse($a, true);
,那么您應該得到想要的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.