Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Notis PHP Indeks Tidak Ditakrifkan

Notis PHP Indeks Tidak Ditakrifkan

WBOY
WBOYasal
2024-08-29 13:00:59471semak imbas

Notis Undefined Index dalam PHP ialah ralat yang berlaku apabila kita cuba mengakses nilai atau pembolehubah yang tidak wujud dalam realiti. Indeks Tidak Ditakrifkan ialah ralat biasa yang timbul apabila kita cuba mengakses pembolehubah yang tidak berterusan. Sebagai contoh, tatasusunan yang kami cuba akses indeks tidak benar-benar wujud di dalamnya, jadi dalam senario ini, kami akan mendapat Indeks Tidak Ditakrifkan dalam PHP. Tidak ditentukan di sini bermakna kami belum menentukan nilainya dan cuba mengaksesnya.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks Notis PHP Indeks Tidak Ditakrifkan

Tiada sintaks sedemikian yang ditakrifkan untuk indeks yang tidak ditentukan dalam php kerana ia adalah sejenis ralat yang kami dapat apabila kami cuba mengakses nilai atau pembolehubah dalam kod kami yang tidak benar-benar wujud atau tiada nilai yang diberikan kepada mereka, dan kami cuba mengakses nilainya di suatu tempat dalam kod.

$myarray = array(value1, value2, value3, so on..)
$myarray[value_does_not_exists]

Dalam baris sintaks di atas, kami cuba mengakses tatasusunan dengan menghantar kunci yang tidak wujud dalam tatasusunan. Jadi ini akan menyebabkan kita ralat indeks Tidak ditentukan dalam masa jalan.

Mari lihat satu contoh bagaimana kita boleh melakukan ini semasa pengaturcaraan:

Kod:

$myarray = array(100, 200, 300, 400)
$myarray[1000]

Dengan cara ini, kami boleh meniru ralat ini dalam PHP, tetapi ini boleh dicegah dengan menggunakan kaedah isst() dalam PHP untuk menjadikan kod kami berfungsi dalam situasi sedemikian.

Bagaimana Indeks Notice Undefined berfungsi dalam PHP?

Setakat ini, kita tahu bahawa indeks yang tidak ditentukan adalah sejenis pengecualian, atau kita boleh katakan ralat dalam PHP. Ini akan berlaku jika kita ingin mengakses pembolehubah yang tidak benar-benar wujud dalam program kita. Ini perlu ditangani; jika tidak, ia akan menyebabkan isu serius kepada permohonan kami dan penamatan program. Kami mempunyai beberapa kaedah yang ditakrifkan dalam PHP untuk mengendalikan ralat jenis ini dalam atur cara.

Di sini kita akan melihat satu contoh sekeping kod dan fungsinya, cara ini berlaku dalam program dan cara ia harus dikendalikan.

Contoh:

Kod:

<?php
// Your code here!
$myarray = array('200','300','400', '500', '600', '700', '1000');
echo $myarray[4];
echo $myarray['Hello '];
?>

Dalam baris kod di atas, kami mencipta satu tatasusunan bernama '$myarray', dan kami telah memulakan nilainya dengan beberapa integer rentetan di dalamnya. Dalam baris kedua, kami cuba mengakses pembolehubah tatasusunan dengan menggunakan nilai yang diberikan kepadanya dan juga, kami menggunakan indeks. Jadi indeks '4' hadir dalam tatasusunan, jadi baris ini akan berfungsi dengan baik seperti yang dijangkakan, tetapi sejurus selepas baris ini, kami mempunyai baris lain di mana kami cuba mengakses elemen tatasusunan dengan kuncinya. Jadi, dalam kes ini, kita akan mendapat Notis: Indeks Tidak Ditakrifkan dalam PHP dengan nombor baris disebut di dalamnya. Sekarang kita akan melihat bagaimana kita boleh menghalang perkara ini daripada berlaku dalam kod kita; untuk ini, kami mempunyai dua kaedah yang tersedia dalam PHP yang boleh digunakan sebelum mengakses elemen atau nilai daripada tatasusunan.

Diberikan di bawah adalah kaedahnya:

1. array_key_exists()

Kaedah ini digunakan untuk menyemak sama ada kunci terdapat di dalam tatasusunan atau tidak sebelum mengakses nilainya. Kaedah ini boleh digunakan di mana kami cuba mengakses elemen tatasusunan, dan kami tidak pasti tentang perkara ini. Jadi sebelum menggunakan nilai pembolehubah, kita boleh menyemak dengan menggunakan kaedah ini sama ada unsur atau kunci itu wujud.

Kaedah ini mengambil dua parameter sebagai parameter input. Baris pertama ialah kunci dan yang kedua ialah tatasusunan itu sendiri.

Mari lihat sintaks kaedahnya

Tandatangan:

array_key_exists(your_key, your_array)

Di sini kita lulus dua parameter kunci yang kita luluskan menyemaknya ke dalam keseluruhan tatasusunan. Jenis pulangannya ialah Boolean; ia akan kembali benar jika kunci terdapat dalam tatasusunan, jika tidak ia akan kembali palsu jika kunci tidak wujud.

2. isset()

Kaedah ini juga menyemak pembolehubah ditetapkan dalam program atau tidak sebelum mengakses nilainya. Ia juga menyemak pembolehubah NULL. Ia melaksanakan dua perkara; pembolehubah semakan pertama ditakrifkan, dan yang satu lagi ialah ia tidak sepatutnya NULL.

Tandatangan:

isset(variables);

Di sini kita boleh lulus pembolehubah kita, yang ingin kita periksa sebelum mengaksesnya dalam program. Jenis pulangan untuk kaedah ini juga Boolean; jika ia menemui pembolehubah dan ia bukan NULL, maka ia akan kembali sebagai benar sebagai nilai. Jika syarat sebelumnya tidak dinyatakan, maka ia akan mengembalikan Palsu.

Contoh Notis PHP Indeks Tidak Ditakrifkan

Diberikan di bawah adalah contoh PHP Notice Undefined Index:

Contoh #1

Dalam contoh ini, kami cuba mengakses kunci yang tidak mengakses tatasusunan, jadi semasa pelaksanaan program, kami akan mendapat ralat Notice Undefined Index dalam PHP.

Kod:

<?php
// Your code here!
// creating an array here
$myarray = array(0=>'Hi',1=>'Hello',2=>'To', 3=>'All', 4=>'Stay', 5=>'Safe', 6=>'Enjoy !!');
//try to print values from array
echo $myarray[0]."\n";
echo $myarray[1]."\n";
echo $myarray[2]."\n";
//trying to access the element which does not exists.
echo $myarray['World']."\n";
?>

Output:

Notis PHP Indeks Tidak Ditakrifkan

Example #2

To prevent this error while occurring in program execution.

Code:

<?php
// Your code here!
// creating an array here
$myarray = array(0=>'Hi',1=>'Hello',2=>'To', 3=>'All', 4=>'Stay', 5=>'Safe', 6=>'Enjoy !!');
//try to print values from array
echo $myarray[0]."\n";
echo $myarray[1]."\n";
echo $myarray[2]."\n";
//trying to access the element which does not exists.
if(array_key_exists('World', $myarray)){
echo "Key exists in array !!";
}else {
echo "Key does not exists in array !! :)";
}
?>

Output:

Notis PHP Indeks Tidak Ditakrifkan

Conclusion

Notice Undefined Index is a kind of error we got in PHP when we try to access the non-existing element from the array or in our program. One more case is that it can occur when we try to access a NULL value in the program. So we can use two methods, isset() and array_key_exists() methods in PHP, to overcome this error in the application.

Atas ialah kandungan terperinci Notis PHP Indeks Tidak Ditakrifkan. 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
Artikel sebelumnya:Pengepala PHP XMLArtikel seterusnya:Pengepala PHP XML