新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
php數(shù)組如何反轉(zhuǎn)
本文操作環(huán)境:windows7系統(tǒng),php7.4版,Dell G3電腦。

10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有永勝免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
php實(shí)現(xiàn)數(shù)組反轉(zhuǎn)
php里面有個(gè)函數(shù)可以反轉(zhuǎn)數(shù)組,工作中也經(jīng)常用到,非常方便。今天來自己實(shí)現(xiàn)這樣的功能。
$arr = [2,5,6,1,8,16,12];
function reverse($arr){
$left = 0;
$right = count($arr) -1;
$temp = [];
while ($left <= $right){
$temp[$left] = $arr[$right];
$temp[$right] = $arr[$left];
$left++;
$right--;
}
ksort($temp);
return $temp;
}
效果
Array
(
[0] => 12
[1] => 16
[2] => 8
[4] => 6
[5] => 5
[6] => 2
)
不過這個(gè)函數(shù)只能處理一維數(shù)組。在實(shí)現(xiàn)一個(gè)可以處理多維的。
$arr = [2,[6,3,9],1,[5,2,1,[10,8,7]],5,0];
function reverse_arr($arr){
$index = 0;
$reverse_array = [];
foreach ($arr as $sub_arr){
if(is_array($sub_arr)){
$sub_arr = reverse($sub_arr);
$arr_ = reverse_arr($sub_arr);
$reverse_array[$index] = $arr_;
}else{
$reverse_array[$index] = $sub_arr;
}
$index++;
}
return $reverse_array;
}
print_r(reverse(reverse_arr($arr)));
輸出結(jié)果
Array
(
[0] => 0
[1] => 5
[2] => Array
(
[0] => Array
(
[0] => 7
[1] => 8
[2] => 10
)
[1] => 1
[2] => 2
[3] => 5
)
[3] => 1
[4] => Array
(
[0] => 9
[1] => 3
[2] => 6
)
[5] => 2
)
上面都是數(shù)字索引數(shù)組,不能處理關(guān)聯(lián)數(shù)組,接著來個(gè)可以處理關(guān)聯(lián)數(shù)組的
$arr = ['a'=>'aa','b'=>'bb','c'=>'cc','d'=>'dd','e'=>'ee'];
function reverse($arr){
$temp = [];
end($arr);
while (($value = current($arr)) != null){
$temp[key($arr)] = $value;
prev($arr);
}
return $temp;
}
print_r(reverse($arr));
結(jié)果
Array
(
[e] => ee
[d] => dd
[c] => cc
[b] => bb
[a] => aa
) 文章名稱:php數(shù)組如何反轉(zhuǎn)
分享路徑:http://m.fisionsoft.com.cn/article/ccdhjio.html


咨詢
建站咨詢
