Adakah tatasusunan php dalam tatasusunan?

WBOY
Lepaskan: 2023-05-06 09:38:07
asal
535 orang telah melayarinya

Dalam pengaturcaraan PHP, tatasusunan ialah struktur data biasa yang sering digunakan untuk menyimpan dan memproses sejumlah besar data. Dalam sesetengah kes, adalah perlu untuk menentukan sama ada tatasusunan berada dalam tatasusunan lain. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk menentukan sama ada tatasusunan berada dalam tatasusunan lain.

Pertama sekali, kita perlu memahami perwakilan tatasusunan dalam PHP. Secara umumnya, tatasusunan PHP boleh dibuat dalam dua cara berikut:

1 Cipta menggunakan tatasusunan kata kunci:

$array1 = array(“apple”, “orange”, “banana”);
Salin selepas log masuk

2. Cipta menggunakan kurungan segi empat sama []:

$array2 = [“apple”, “orange”, “banana”];
Salin selepas log masuk

. Kedua-dua kaedah mencipta tatasusunan yang mengandungi beberapa elemen. Apabila menentukan sama ada tatasusunan berada dalam tatasusunan lain, kita perlu menggunakan fungsi terbina dalam PHP in_array(). Sintaksnya adalah seperti berikut:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Salin selepas log masuk

Antaranya, parameter $needle ialah nilai yang akan ditemui, parameter $haystack ialah tatasusunan yang hendak dicari dan parameter $strict menunjukkan sama ada hendak menggunakan perbandingan kongruen. Fungsi ini akan mengembalikan nilai Boolean yang mewakili hasil carian.

Melalui fungsi in_array(), kita boleh menentukan dengan mudah sama ada nilai berada dalam tatasusunan. Sebagai contoh, kod berikut menentukan sama ada nilai "epal" berada dalam tatasusunan $array1:

if ( in_array(“apple”, $array1) ) {
    echo “yes”;
} else {
    echo “no”;
}
Salin selepas log masuk

Jika "epal" berada dalam tatasusunan $array1, atur cara akan mengeluarkan "ya", jika tidak ia akan mengeluarkan "tidak".

Jadi, jika kita ingin menentukan sama ada tatasusunan berada dalam tatasusunan lain, bagaimana untuk mencapainya? Mari lihat contoh khusus:

$array1 = [“apple”, “orange”, “banana”];
$array2 = [“orange”, “banana”];
Salin selepas log masuk

Dalam contoh di atas, $array2 ialah subset $array1, kerana semua elemen dalam $array2 muncul dalam $array1.

Untuk menentukan sama ada $array2 berada dalam $array1, kita perlu merentasi semua elemen dalam $array2 dan menentukan sama ada kesemuanya muncul dalam $array1. Kita boleh mencapai ini melalui gelung for:

$flag = true;
for ($i=0; $i<count($array2); $i++) {
    if( !in_array($array2[$i], $array1) ) {
        $flag = false;
        break;
    }
}
if ( $flag ) {
    echo “yes”;
} else {
    echo “no”;
}
Salin selepas log masuk

Dalam kod di atas, kita mula-mula menetapkan pembolehubah $flag untuk menandakan keadaan apabila semua elemen ditemui. Kemudian, kami mengulangi semua elemen dalam $array2 dan menggunakan fungsi in_array() untuk menentukan sama ada kesemuanya muncul dalam $array1. Jika unsur didapati tiada dalam $array1, tetapkan pembolehubah $flag kepada palsu dan keluar dari gelung. Akhirnya, hasilnya adalah output berdasarkan nilai pembolehubah $flag.

Kaedah ini hanyalah cara pertimbangan yang mudah, yang biasanya dapat memenuhi keperluan kita. Walau bagaimanapun, dalam kerja sebenar, kita mungkin menghadapi situasi yang lebih kompleks, contohnya: tatasusunan mengandungi unsur tatasusunan lain, atau tatasusunan mengandungi tatasusunan berbilang dimensi, dsb. Untuk situasi ini, kita perlu menggunakan kaedah pertimbangan yang lebih kompleks, seperti menggunakan fungsi rekursi atau panggil balik.

Ringkasnya, menilai sama ada tatasusunan berada dalam tatasusunan lain dalam PHP pada asasnya adalah untuk merentasi tatasusunan dan membandingkan unsur-unsur di dalamnya. Dalam aplikasi praktikal, kita boleh menggunakan fungsi in_array() atau kaedah pertimbangan yang lebih kompleks untuk melaksanakan fungsi ini untuk memenuhi keperluan yang berbeza.

Atas ialah kandungan terperinci Adakah tatasusunan php dalam tatasusunan?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!