Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan nombor yang tidak wujud dalam tatasusunan php

Bagaimana untuk mendapatkan nombor yang tidak wujud dalam tatasusunan php

PHPz
PHPzasal
2023-04-18 14:07:33531semak imbas

Array sering digunakan semasa menulis kod PHP. Tatasusunan ialah koleksi data berkaitan yang boleh dimanipulasi dan diproses dengan mudah. Jika kita ingin mendapatkan elemen tatasusunan tertentu, kami boleh menggunakan pengindeksan tatasusunan. Tetapi apa yang berlaku jika anda ingin mendapatkan elemen tatasusunan yang tidak wujud?

Dalam PHP, jika kami cuba mendapatkan elemen tatasusunan yang tidak wujud, kami akan mendapat mesej amaran yang memberitahu kami bahawa elemen itu tidak ditentukan. Ini biasanya kerana kami cuba mengakses kunci yang tidak wujud semasa melelaran melalui tatasusunan. Sebagai contoh, katakan kita mempunyai tatasusunan berikut:

$fruits = array("apple", "banana", "orange");

Jika kita cuba mendapatkan elemen keempat:

echo $fruits[3];

kita mendapat mesej amaran berikut:

Notice: Undefined offset: 3

Ini kerana terdapat hanya tiga elemen dalam tatasusunan, jadi kami tidak boleh mengakses elemen keempat.

Jadi, bagaimana anda menulis kod PHP tanpa mengakses elemen tatasusunan yang tidak wujud? Terdapat beberapa cara untuk menyelesaikan masalah ini.

  1. Menggunakan fungsi isset()

Kita boleh menggunakan fungsi isset() terbina dalam PHP untuk menyemak sama ada unsur tatasusunan wujud. Fungsi ini mengembalikan nilai Boolean, benar bermakna unsur wujud, palsu bermakna unsur itu tidak wujud. Gunakan fungsi ini untuk mengelakkan mengakses elemen tatasusunan yang tidak wujud. Contohnya:

if (isset($fruits[3])) {
    echo $fruits[3];
} else {
    echo "该元素不存在";
}

Jika terdapat elemen keempat dalam tatasusunan, ia akan dicetak. Jika tidak, "Elemen tidak wujud" akan dicetak.

  1. Menggunakan fungsi array_key_exists()

Kita juga boleh menggunakan fungsi array_key_exists() untuk menyemak sama ada kunci yang ditentukan wujud dalam tatasusunan. Fungsi ini adalah serupa dengan isset(), tetapi ia bukan sahaja mengesan sama ada nilai itu nol, tetapi juga mengesan sama ada kunci itu wujud. Contohnya:

if (array_key_exists(3, $fruits)) {
    echo $fruits[3];
} else {
    echo "该元素不存在";
}

Kod ini sangat serupa dengan kod sebelumnya, tetapi ia menggunakan fungsi array_key_exists() untuk menyemak sama ada elemen keempat wujud. Jika ia wujud, ia mencetaknya, jika tidak ia mencetak "Elemen tidak wujud".

  1. Gunakan operator bersyarat

Menggunakan operator bersyarat juga boleh mengelak daripada mengakses elemen tatasusunan yang tidak wujud. Pengendali bersyarat ialah operator ternary dengan sintaks berikut:

$variable = (condition) ? value1 : value2;

Jika syarat adalah benar, pembolehubah akan diberikan nilai1. Jika tidak, ia akan diberikan nilai2.

Anda boleh menggunakan pengendali bersyarat untuk menyemak sama ada unsur tatasusunan wujud Jika ia wujud, tetapkan nilainya kepada pembolehubah, jika tidak, lakukan apa-apa. Contohnya:

$fruit = (isset($fruits[3])) ? $fruits[3] : "";
echo $fruit;

Kod ini akan menggunakan fungsi isset() untuk menyemak sama ada unsur keempat wujud. Jika ada, ia akan diberikan kepada pembolehubah $fruit. Jika tidak, pembolehubah $fruit akan diberikan rentetan kosong.

Tidak kira kaedah yang anda gunakan, terdapat satu kaveat: apabila mengakses elemen tatasusunan yang tidak wujud, selain daripada menerima mesej amaran, tingkah laku yang tidak dapat diramalkan mungkin berlaku. Oleh itu, kita harus sentiasa menyemak sama ada unsur wujud dalam kod kita untuk mengelakkan situasi ini.

Apabila bekerja dengan tatasusunan, adalah penting untuk memahami cara mengendalikan elemen yang tidak wujud. Menggunakan pendekatan ini kita boleh mengelakkan ranap program atau hasil yang tidak dijangka. Tidak kira kaedah yang digunakan, amalan pengaturcaraan yang baik untuk menyemak dan mengendalikan elemen tatasusunan yang tidak wujud dengan segera.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan nombor yang tidak wujud dalam tatasusunan php. 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