Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar elemen di bawah tatasusunan multidimensi dalam php

Bagaimana untuk menukar elemen di bawah tatasusunan multidimensi dalam php

PHPz
Lepaskan: 2023-04-27 10:28:53
asal
616 orang telah melayarinya

PHP ialah bahasa pengaturcaraan web yang sangat popular yang popular kerana pelbagai aplikasinya. Array adalah jenis data yang sangat berguna dalam PHP. Terdapat banyak jenis tatasusunan dalam PHP, yang paling biasa digunakan ialah tatasusunan berbilang dimensi. Dalam tatasusunan berbilang dimensi, setiap elemen tatasusunan boleh menjadi tatasusunan, membentuk struktur tatasusunan dua dimensi, tiga dimensi atau lebih tinggi dimensi. Walau bagaimanapun, apabila berurusan dengan tatasusunan berbilang dimensi, mengubah suai elemen tertentu boleh menjadi agak rumit. Artikel ini menerangkan cara menukar elemen dalam tatasusunan berbilang dimensi.

Melintasi tatasusunan berbilang dimensi

Sebelum memahami cara menukar elemen tatasusunan multidimensi, kita perlu memahami cara melintasi tatasusunan berbilang dimensi dalam PHP. Terdapat banyak cara untuk merentasi tatasusunan berbilang dimensi, di bawah kami akan memperkenalkan tiga kaedah yang paling biasa.

Kaedah 1: Gunakan gelung for untuk melintasi

Menggunakan gelung for boleh melintasi tatasusunan dua dimensi dengan mudah. Untuk tatasusunan tiga dimensi, empat dimensi atau lebih tinggi dimensi, berbilang untuk gelung perlu disarangkan. Seperti yang ditunjukkan di bawah:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo $array[$i][$j] . " ";
    }
    echo "<br>";
}
Salin selepas log masuk

Hasil output ialah:

1 2 3 
4 5 6 
7 8 9
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan gelung foreach untuk melintasi

Gunakan gelung foreach untuk melintasi tatasusunan mana-mana dimensi, seperti ditunjukkan di bawah :

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

foreach ($array as $value1) {
    foreach ($value1 as $value2) {
        echo $value2 . " ";
    }
    echo "<br>";
}
Salin selepas log masuk

Hasil output ialah:

1 2 3 
4 5 6 
7 8 9
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 3: Gunakan rekursif traversal

Menggunakan kaedah rekursif, anda boleh melintasi tatasusunan mana-mana dimensi, seperti yang ditunjukkan di bawah:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

function traverse($array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            traverse($value);
        } else {
            echo $value . " ";
        }
    }
    echo "<br>";
}

traverse($array);
Salin selepas log masuk

Hasil keluaran adalah sama seperti dua kaedah pertama:

1 2 3 
4 5 6 
7 8 9
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ubah suai elemen tatasusunan berbilang dimensi

Selepas anda tahu cara melintasi pelbagai dimensi tatasusunan, lebih mudah untuk mengubah suai elemen tatasusunan. Dalam PHP, kita boleh menggunakan subskrip tatasusunan untuk mengubah suai nilai elemen. Di bawah ini kami akan memperkenalkan kaedah mengubah suai elemen dalam tatasusunan dua dimensi dan tatasusunan tiga dimensi masing-masing.

Mengubah suai elemen dalam tatasusunan dua dimensi

Mengubah suai elemen dalam tatasusunan dua dimensi adalah sangat mudah. Kita hanya perlu menggunakan subskrip tatasusunan untuk mengemas kini nilai elemen seperti berikut:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$array[1][1] = 10;

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo $array[$i][$j] . " ";
    }
    echo "<br>";
}
Salin selepas log masuk

Outputnya ialah:

1 2 3 
4 10 6 
7 8 9
Salin selepas log masuk

Dalam contoh di atas, kami mengemas kini elemen kedua menggunakan $array[1][1] = 10; elemen dalam tatasusunan dimensi. Kami kemudian menggunakan gelung for untuk mengesahkan bahawa elemen telah dikemas kini.

Mengubah suai elemen dalam tatasusunan tiga dimensi

Mengubah suai elemen dalam tatasusunan tiga dimensi adalah lebih rumit sedikit. Kita perlu menggunakan berbilang subskrip tatasusunan untuk mengakses elemen dalam tatasusunan. Seperti yang ditunjukkan di bawah:

$array = array(
    array(
        array(1, 2, 3),
        array(4, 5, 6),
        array(7, 8, 9)
    ),
    array(
        array(10, 11, 12),
        array(13, 14, 15),
        array(16, 17, 18)
    )
);

$array[1][1][1] = 20;

function traverse($array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            traverse($value);
        } else {
            echo $value . " ";
        }
    }
    echo "<br>";
}

traverse($array);
Salin selepas log masuk

Outputnya ialah:

1 2 3 
4 5 6 
7 8 9 
10 11 12 
13 20 15 
16 17 18
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan $array[1][1][1] = 20; untuk mengemas kini elemen dalam tatasusunan tiga dimensi. Memandangkan rekursi diperlukan apabila merentasi tatasusunan tiga dimensi, kami menggunakan fungsi traverse untuk melintasi keseluruhan tatasusunan.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara mengubah suai elemen dalam tatasusunan berbilang dimensi menggunakan PHP. Kami mempelajari tentang tiga cara untuk bekerja dengan tatasusunan berbilang dimensi dan memberikan contoh tatasusunan dua dan tiga dimensi yang menunjukkan cara menggunakan subskrip tatasusunan untuk mengakses dan mengemas kini elemen tatasusunan. Dengan cara ini, semua orang boleh menggunakan PHP dengan lebih fleksibel untuk memproses struktur tatasusunan berbilang dimensi yang kompleks.

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

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