Rumah pembangunan bahagian belakang masalah PHP Adakah tatasusunan php wujud dan apakah nilai berangkanya?

Adakah tatasusunan php wujud dan apakah nilai berangkanya?

May 06, 2023 am 09:08 AM

Dalam pengaturcaraan PHP, tatasusunan ialah salah satu struktur data yang paling biasa. Apabila kita perlu mencari kedudukan di mana nilai tertentu muncul dalam tatasusunan, kita mungkin menghadapi masalah berikut: Bagaimana untuk mengetahui kedudukan nilai dalam tatasusunan? Bagaimana untuk menentukan sama ada nilai itu wujud dalam tatasusunan?

Artikel ini akan membincangkan masalah di atas secara terperinci dan memberikan penyelesaian.

1 Tentukan sama ada nilai wujud dalam tatasusunan

Kita boleh menggunakan fungsi in_array untuk menentukan sama ada nilai wujud dalam tatasusunan. Fungsi ini mencari tatasusunan untuk nilai yang diberikan dan mengembalikan nilai Boolean (Benar atau Salah). Jika Benar dikembalikan, ini bermakna nilai wujud dalam tatasusunan; jika Salah dikembalikan, ini bermakna nilai itu tidak wujud dalam tatasusunan.

Berikut ialah contoh kod:

$my_array = array('apple', 'orange', 'banana');
if (in_array('apple', $my_array)) {
    echo "存在";
} else {
    echo "不存在";
}
Salin selepas log masuk

Kod di atas akan menyemak sama ada tatasusunan $my_array mengandungi rentetan "epal". Jika ia wujud, keluaran "wujud"; jika ia tidak wujud, keluaran "tidak wujud".

2. Cari kedudukan nilai dalam tatasusunan

Jika kita perlu mendapatkan kedudukan nilai dalam tatasusunan, kita boleh menggunakan fungsi carian_tatasusunan. Fungsi ini akan mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan nama kunci nilai dalam tatasusunan (nama kunci ialah kedudukan nilai). Jika nilai tidak ditemui, False dikembalikan.

Berikut ialah kod sampel:

$my_array = array('apple', 'orange', 'banana');
$position = array_search('apple', $my_array);
if ($position !== False) {
    echo "该数值在数组中的位置为:" . $position;
} else {
    echo "该数值不存在于数组中";
}
Salin selepas log masuk

Kod di atas akan mendapat kedudukan rentetan "epal" dalam tatasusunan $my_array. Jika ia wujud, kedudukan nilai dalam tatasusunan adalah output;

Perlu diambil perhatian bahawa jika nilai yang dikembalikan oleh fungsi $array_search ialah 0 (iaitu, nilai berada pada kedudukan pertama tatasusunan), ia akan dinilai sebagai Palsu dalam fungsi tersebut. Oleh itu, kita perlu menggunakan pernyataan seperti $position !== False untuk menentukan nilai pulangan bagi fungsi $array_search.

3 Cari semua kedudukan di mana nilai tertentu muncul dalam tatasusunan

Jika kita perlu mencari semua kedudukan di mana nilai tertentu muncul dalam tatasusunan, kita boleh menggunakan gelung sementara digabungkan dengan fungsi array_search untuk mencapai ini. Kod khusus adalah seperti berikut:

$my_array = array('apple', 'orange', 'banana', 'apple', 'orange', 'apple');
$search_value = 'apple';
$offset = 0;
while (($position = array_search($search_value, $my_array, $offset)) !== False) {
    echo "该数值在数组中的位置为:" . $position . "<br/>";
    $offset = $position + 1;
}
Salin selepas log masuk

Kod di atas akan menemui semua kedudukan rentetan "epal" dalam tatasusunan $my_array dan mengeluarkan kedudukan ini dalam urutan. Antaranya, pembolehubah $offset digunakan untuk menetapkan kedudukan permulaan carian. Jika $offset tidak ditetapkan, fungsi array_search akan mula mencari dari elemen pertama tatasusunan.

Perlu diambil perhatian bahawa apabila nilai yang ditentukan tidak dapat ditemui, fungsi array_search akan mengembalikan False, jadi !== False harus digunakan untuk menentukan nilai pulangan.

4 Tentukan sama ada nilai wujud dalam tatasusunan pada kedudukan mana

Jika kita perlu mengetahui kedudukan nilai tertentu dalam tatasusunan (iaitu, kedudukan nilai dalam tatasusunan. array) , yang boleh dicapai menggunakan fungsi array_flip dan array_keys. Kod khusus adalah seperti berikut:

$my_array = array('apple', 'orange', 'banana', 'apple', 'orange', 'apple');
$search_value = 'orange';
$keys = array_keys(array_flip($my_array));
$position = array_search($search_value, $keys);
if ($position !== False) {
    echo "该数值在数组中的排名为:" . ($position + 1);
} else {
    echo "该数值不存在于数组中";
}
Salin selepas log masuk

Kod di atas mula-mula menggunakan fungsi array_flip untuk menukar semua nilai kunci dalam tatasusunan (iaitu, menukar nilai menjadi kunci dan kunci menjadi value), dan kemudian menggunakan fungsi array_keys untuk mendapatkan semua nama kunci (iaitu semua nilai). Seterusnya, kita boleh menggunakan fungsi array_search untuk mencari kedudukan nilai yang ditentukan dalam tatasusunan. Akhir sekali, menambah 1 pada kedudukan ini ialah kedudukan nilai dalam tatasusunan.

Di atas ialah kaedah dalam PHP untuk menentukan sama ada nilai tertentu wujud dalam tatasusunan dan untuk mencari kedudukan nilai dalam tatasusunan. Perlu diingatkan bahawa dalam pembangunan sebenar, kita harus memilih kaedah yang paling sesuai untuk mencapai prestasi dan kecekapan yang terbaik.

Atas ialah kandungan terperinci Adakah tatasusunan php wujud dan apakah nilai berangkanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?

See all articles