Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mengalih keluar subskrip daripada elemen tatasusunan berbilang dimensi dalam PHP

Bagaimana untuk mengalih keluar subskrip daripada elemen tatasusunan berbilang dimensi dalam PHP

PHPz
Lepaskan: 2023-04-26 10:12:15
asal
675 orang telah melayarinya

Dalam PHP, tatasusunan ialah jenis data penting yang membolehkan berbilang nilai disimpan, dan setiap nilai boleh diakses melalui kunci unik. Tatasusunan dalam PHP boleh menjadi tatasusunan satu dimensi atau tatasusunan berbilang dimensi. Apabila tatasusunan ialah tatasusunan berbilang dimensi, kita perlu tahu cara mengakses dan mendapatkan semula subskrip elemen tatasusunan berbilang dimensi.

Pertama, kita perlu memahami struktur dan sintaks tatasusunan berbilang dimensi. Tatasusunan berbilang dimensi sebenarnya ialah tatasusunan bersarang dalam tatasusunan lain Setiap subarray ialah tatasusunan, dan tatasusunan lain juga boleh bersarang. Tatasusunan berbilang dimensi boleh ditakrifkan dan dimulakan melalui sintaks berikut:

$array = array(
    array('a', 'b', 'c'),
    array('d', 'e', 'f'),
    array('g', 'h', 'i')
);
Salin selepas log masuk

Tatasusunan berbilang dimensi yang ditakrifkan di atas ialah matriks persegi 3x3 dengan 3 subarray, setiap satunya mengandungi 3 elemen. Dalam tatasusunan berbilang dimensi, kami boleh mengakses elemen tatasusunan melalui sintaks kurungan segi empat sama. Contohnya, untuk mengakses elemen dalam baris kedua dan lajur ketiga tatasusunan di atas, anda boleh menggunakan kod berikut:

echo $array[1][2];
//输出:f
Salin selepas log masuk

Dalam PHP, terdapat banyak cara untuk mengalih keluar subskrip berbilang dimensi elemen tatasusunan. Di bawah ini kami memperkenalkan beberapa kaedah yang lebih meluas digunakan.

1. Gunakan gelung foreach

Ini ialah kaedah yang paling biasa Anda boleh menggunakan gelung foreach untuk merentasi semua elemen dalam tatasusunan berbilang dimensi, supaya anda boleh mendapatkan bahagian bawah. setiap elemen dalam gelung. Berikut ialah kod sampel:

foreach ($array as $key1 => $value1) {
    foreach ($value1 as $key2 => $value2) {
        echo "下标为:$key1-$key2, 值为:$value2<br>";
    }
}
Salin selepas log masuk

Kod di atas merentasi keseluruhan tatasusunan berbilang dimensi melalui dua gelung foreach, dan menggunakan pembolehubah $key1 dan $key2 untuk mendapatkan subskrip setiap elemen. Kaedah ini sesuai untuk tatasusunan berbilang dimensi dengan sebarang bilangan peringkat, tetapi perlu diperhatikan bahawa nama pembolehubah subskrip dalam gelung tidak semestinya konsisten dengan subskrip sebenar elemen tatasusunan, terutamanya apabila panjang sub-tatasusunan dalam tatasusunan berbilang dimensi tidak konsisten.

2. Gunakan fungsi array_keys()

Gunakan fungsi array_keys() untuk mendapatkan subskrip semua elemen dalam tatasusunan berbilang dimensi dan mengembalikan tatasusunan baharu yang mengandungi semua subskrip. Berikut ialah kod sampel:

$keys = array_keys($array); //获取所有下标
foreach($keys as $key) {
    foreach($array[$key] as $subKey => $subValue) {
        echo "下标为:$key-$subKey, 值为:$subValue<br>";
    }
}
Salin selepas log masuk

Dalam kod di atas, mula-mula gunakan fungsi array_keys() untuk mendapatkan semua subskrip, kemudian gunakan gelung foreach untuk melintasi tatasusunan asal, dapatkan subray yang sepadan melalui subskrip tatasusunan, dan kemudian Traverse subarray untuk mendapatkan indeks elemen. Kaedah ini sesuai untuk tatasusunan dua dimensi, tetapi lebih menyusahkan untuk tatasusunan berbilang dimensi dengan lapisan yang lebih dalam.

3. Gunakan fungsi array_walk_recursive()

Gunakan fungsi array_walk_recursive() untuk melintasi semua elemen dalam tatasusunan berbilang dimensi dan hantar subskrip semua elemen sebagai parameter pertama kepada panggilan balik fungsi. Berikut ialah kod sampel:

function output($value, $key) {
    echo "下标为:$key, 值为:$value<br>";
}
array_walk_recursive($array, 'output');
Salin selepas log masuk

Kod di atas merentasi semua elemen dalam tatasusunan berbilang dimensi melalui fungsi array_walk_recursive() dan menghantar subskrip dan nilai setiap elemen sebagai parameter kepada output fungsi panggil balik( ). Kaedah ini boleh digunakan pada tatasusunan berbilang dimensi dengan sebarang bilangan tahap dan panjang, tetapi anda perlu memberi perhatian kepada jenis parameter dan nombor fungsi panggil balik.

Ringkasnya, terdapat banyak cara untuk mengekstrak subskrip elemen tatasusunan berbilang dimensi dalam PHP Kita boleh memilih kaedah yang sesuai mengikut keperluan sebenar. Dalam kerja sebenar, kita perlu memilih kaedah yang sesuai berdasarkan struktur tatasusunan berbilang dimensi yang berbeza, dan mengoptimumkan serta mengembangkan kaedah untuk meningkatkan kecekapan dan kebolehgunaan semula kod.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar subskrip daripada elemen tatasusunan berbilang dimensi 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