Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membalikkan tatasusunan php

Bagaimana untuk membalikkan tatasusunan php

藏色散人
藏色散人asal
2021-12-10 09:27:334108semak imbas

Cara melaksanakan pembalikan tatasusunan dalam PHP: 1. Gunakan kaedah "function reverse($arr){...}" untuk mencapai pembalikan tatasusunan; 2. Gunakan "function reverse_arr($arr){.. . }" kaedah boleh digunakan untuk membalikkan tatasusunan.

Bagaimana untuk membalikkan tatasusunan php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.4, komputer Dell G3.

PHP melaksanakan pembalikan tatasusunan

Terdapat fungsi dalam php yang boleh membalikkan tatasusunan, yang 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
)

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)));

输出结果
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
)

Yang 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
)

yang boleh mengendalikan tatasusunan bersekutu pembelajaran: "Tutorial Video PHP"

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

Kenyataan:
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