Bagaimana untuk membalikkan tatasusunan dalam php

DDD
Lepaskan: 2023-06-02 10:45:08
asal
1335 orang telah melayarinya

Kaedah untuk mencapai pembalikan tatasusunan dalam PHP ialah: 1. Gunakan sintaks "function reverse($arr){...}" untuk mencapai pembalikan tatasusunan, tetapi fungsi ini hanya boleh mengendalikan tatasusunan satu dimensi; 2. Gunakan sintaks "function reverse_arr($arr){...}" untuk mencapai pembalikan tatasusunan Fungsi ini boleh mengendalikan tatasusunan berbilang dimensi.

Bagaimana untuk membalikkan tatasusunan dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi php8.1.3, komputer dell g3

php melaksanakan pembalikan tatasusunan :

Terdapat fungsi dalam php yang boleh membalikkan tatasusunan Ia sering digunakan dalam kerja dan sangat mudah. Mari kita laksanakan fungsi ini sendiri hari ini.

$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
)
Salin selepas log masuk

Walau bagaimanapun, fungsi ini hanya boleh mengendalikan tatasusunan satu dimensi. Semasa melaksanakan satu yang boleh mengendalikan pelbagai dimensi.

$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)));
 
输出结果
Salin selepas log masuk
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
)
Salin selepas log masuk

Di atas adalah semua tatasusunan indeks berangka dan tidak boleh mengendalikan tatasusunan bersekutu Seterusnya ialah

$arr = [&#39;a&#39;=>&#39;aa&#39;,&#39;b&#39;=>&#39;bb&#39;,&#39;c&#39;=>&#39;cc&#39;,&#39;d&#39;=>&#39;dd&#39;,&#39;e&#39;=>&#39;ee&#39;];
function reverse($arr){
    $temp = [];
    end($arr);
    while (($value = current($arr)) != null){
        $temp[key($arr)] = $value;
        prev($arr);
    }
    return $temp;
}
print_r(reverse($arr));
 
结果
Array
(
    [e] => ee
    [d] => dd
    [c] => cc
    [b] => bb
    [a] => aa
)
Salin selepas log masuk
yang boleh mengendalikan tatasusunan bersekutu.

Atas ialah kandungan terperinci Bagaimana untuk membalikkan tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan