Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah tatasusunan php wujud dan apakah nilai berangkanya?

Adakah tatasusunan php wujud dan apakah nilai berangkanya?

PHPz
PHPzasal
2023-05-06 09:08:06421semak imbas

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 "不存在";
}

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 "该数值不存在于数组中";
}

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;
}

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 "该数值不存在于数组中";
}

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:
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