Rumah >pembangunan bahagian belakang >masalah PHP >Adakah rentetan php dalam tatasusunan?

Adakah rentetan php dalam tatasusunan?

WBOY
WBOYasal
2023-05-19 14:56:381144semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan Ia mempunyai perpustakaan fungsi yang sangat kaya dan fungsi terbina dalam, termasuk banyak fungsi yang berkaitan dengan rentetan dan tatasusunan. Dalam PHP, menggunakan tatasusunan untuk penyimpanan dan pemprosesan data adalah operasi yang sangat biasa, dan mencari sama ada rentetan tertentu wujud dalam tatasusunan juga merupakan keperluan biasa.

Terdapat banyak cara untuk menentukan sama ada rentetan wujud dalam tatasusunan Kita boleh menggunakan gelung untuk merentasi tatasusunan, atau kita boleh menggunakan fungsi terbina dalam PHP di bawah kami akan memperkenalkan secara terperinci beberapa cara untuk menentukan sama ada rentetan dalam kaedah tatasusunan.

Kaedah 1: Gunakan fungsi in_array() untuk menentukan

PHP menyediakan fungsi in_array(), yang boleh menentukan dengan cepat sama ada nilai wujud dalam tatasusunan. Penggunaan asas fungsi in_array() adalah seperti berikut:

in_array($needle, $haystack);

di mana $needle ialah nilai untuk ditemui dan $haystack ialah tatasusunan untuk ditemui. Fungsi ini mengembalikan nilai Boolean, true jika elemen yang ditentukan ditemui, jika tidak false.

Contohnya:

$names = ['Alice', 'Bob', 'Charlie'];
var_dump(in_array('Charlie', $names)); // 输出 true
var_dump(in_array('David', $names)); // 输出 false

Dalam kod di atas, kami mentakrifkan tatasusunan $names, dan kemudian gunakan fungsi in_array() untuk mencari dua nilai ​​​​'Charlie' dan 'David', dan hasilnya masing-masing Dikembalikan true dan false.

Apabila menggunakan fungsi in_array() untuk menentukan sama ada rentetan berada dalam tatasusunan, anda perlu memberi perhatian kepada isu berikut:

  1. Fungsi in_array() ialah case- sensitif secara lalai, iaitu penghakiman Kes mestilah konsisten; fungsi
  2. in_array() hanya boleh menentukan sama ada nilai itu wujud dalam tatasusunan, tetapi bukan kedudukan nilai dalam tatasusunan; 🎜>
  3. fungsi in_array() hanya boleh Untuk menilai elemen dalam tatasusunan satu dimensi, untuk tatasusunan berbilang dimensi, kaedah lain perlu digunakan untuk pertimbangan.
Kaedah 2: Gunakan fungsi array_search() untuk menentukan

Jika anda perlu mencari kedudukan tertentu yang muncul dalam tatasusunan, kita boleh menggunakan fungsi array_search(). Fungsi ini serupa dengan fungsi in_array(), kecuali ia mengembalikan nama kunci nilai yang ditemui dalam tatasusunan dan bukannya mengembalikan nilai Boolean. Penggunaan asas fungsi

array_search() adalah seperti berikut:

array_search($needle, $haystack);

di mana

ialah nilai untuk ditemui dan $needle ialah tatasusunan untuk ditemui. Jika elemen yang ditentukan ditemui, fungsi akan mengembalikan nama kunci elemen dalam tatasusunan (iaitu subskrip tatasusunan yang sepadan dengan elemen), jika tidak, ia akan mengembalikan $haystack. false

Contohnya:

$names = ['Alice', 'Bob', 'Charlie'];
echo array_search('Charlie', $names); // 输出 2
echo array_search('David', $names); // 输出 ''

Dalam kod di atas, kami mentakrifkan tatasusunan

, dan kemudian gunakan fungsi array_search() untuk mencari dua nilai ​​​​$names dan 'Charlie', dan hasilnya masing-masing Dikembalikan 'David' dan 2. Ambil perhatian bahawa mencari '' mengembalikan rentetan kosong dan bukannya 'David'. false

Seperti fungsi in_array(), apabila menggunakan fungsi array_search() untuk menentukan sama ada rentetan berada dalam tatasusunan, anda juga perlu memberi perhatian kepada isu kes.

Kaedah 3: Gunakan fungsi array_key_exists() untuk menentukan

Jika anda ingin menentukan sama ada nama kunci yang ditentukan wujud dalam tatasusunan, anda boleh menggunakan fungsi array_key_exists(). Penggunaan asas fungsi ini adalah seperti berikut:

array_key_exists($key, $array);

di mana

ialah nama kunci untuk dicari dan $key ialah tatasusunan yang hendak dicari. Jika nama kunci yang ditentukan ditemui, fungsi mengembalikan $array, jika tidak ia mengembalikan true. false

Contohnya:

$ages = ['Alice' => 18, 'Bob' => 21, 'Charlie' => 24];
var_dump(array_key_exists('Alice', $ages)); // 输出 true
var_dump(array_key_exists('David', $ages)); // 输出 false

Dalam kod di atas, kami mentakrifkan tatasusunan bersekutu

, dan kemudian gunakan fungsi array_key_exists() untuk mencari dua nama kunci $ages dan 'Alice'. Hasilnya kembali 'David' dan true masing-masing. false

Perlu diambil perhatian bahawa fungsi array_key_exists() hanya boleh digunakan untuk mencari nama kunci dalam tatasusunan bersekutu, dan tidak boleh digunakan untuk mencari nilai elemen dalam tatasusunan biasa.

Kaedah 4: Gunakan fungsi isset() untuk menilai

Jika terdapat beberapa kemungkinan nama kunci yang boleh dipadankan, anda boleh menggunakan fungsi isset() untuk menilai. Penggunaan asas fungsi ini adalah seperti berikut:

isset($array[$key]);

di mana

ialah tatasusunan untuk ditemui dan $array ialah nama kunci yang akan dipadankan. Jika nama kunci boleh dipadankan, fungsi isset() mengembalikan $key, jika tidak ia mengembalikan true. false

Contohnya:

$settings = ['debug' => true, 'auth' => false, 'port' => 80];
var_dump(isset($settings['debug'])); // 输出 true
var_dump(isset($settings['logging'])); // 输出 false

Dalam kod di atas, kami mentakrifkan tatasusunan bersekutu

, dan kemudian gunakan fungsi isset() untuk mencari dua nama kunci $settings dan 'debug', Hasilnya kembali 'logging' dan true masing-masing. false

Ringkasan:

Dalam PHP, terdapat banyak cara untuk menentukan sama ada rentetan wujud dalam tatasusunan, termasuk menggunakan fungsi in_array(), array_search() fungsi, array_key_exists() fungsi dan isset () fungsi, dsb. Apabila menggunakan fungsi ini untuk membuat pertimbangan, anda perlu memberi perhatian kepada isu kes dan jenis tatasusunan (tatasusunan satu dimensi dan tatasusunan berbilang dimensi). Memilih kaedah yang sesuai berdasarkan keperluan sebenar boleh meningkatkan kecekapan operasi dan ketepatan program.

Atas ialah kandungan terperinci Adakah rentetan php dalam tatasusunan?. 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