Kas ir nenoteikta indeksa kļūda PHP un kā to labot?

Kas Ir Nenoteikta Indeksa Kluda Php Un Ka To Labot



Strādājot ar PHP, bieži rodas “ Nedefinēts indekss ” kļūda. Šī kļūda rodas, mēģinot piekļūt masīva elementam vai mainīgajam, izmantojot indeksu, kas neeksistē, izraisot negaidītus rezultātus vai programmas avāriju.

Šajā rakstā mēs detalizēti paskaidrosim, kas ir ' Nedefinēts indekss ” ir kļūda, tās iespējamie iemesli un to novēršana.







Nedefinēta indeksa kļūda PHP

Nedefinēts indekss ” kā jau minēts, ir kļūda, kas rodas, kad lietotājs mēģina piekļūt elementam vai mainīgajam masīvā, izmantojot indeksu, kas nav definēts kodā.





PHP nenoteiktas indeksa kļūdas iemesli

Šai kļūdai ir vairāki iespējamie iemesli:





  • Kļūdaini uzrakstīts rādītāja nosaukums
  • Piekļuve neesošam indeksam
  • Indeksa vērtība nav iestatīta
  • Masīva atslēga nepastāv

Kā labot nedefinētu indeksa kļūdu PHP

Lai labotu šo kļūdu PHP, lietotāji var izmantot šādas trīs metodes:

1: isset() funkcija

The isset() funkcija ir PHP iebūvēta funkcija, kas ļauj pārbaudīt mainīgā vai indeksa esamību masīvā. Tas atgriežas taisnība ja mainīgais vai indekss eksistē masīvā, un false citā gadījumā. Ja vēlaties salabot nenoteikta indeksa kļūda PHP var izmantot šo funkciju, uzskatot šādu kodu kā piemēru, kas pārbauda programmā esošo mainīgo.





$myarray = masīvs ( 'index1' => 'value1' , 'indekss2' => 'value2' , 'indekss3' => 'value3' ) ;

ja ( isset ( $myarray [ 'indekss' ] ) ) {

atbalss $myarray [ 'indekss' ] ;

} cits {

atbalss 'Indekss masīvā nav atrasts' ;

}

?>

Iepriekš minētais kods izmanto isset() funkcija, lai pārbaudītu, vai “ rādītājs “ atslēga pastāv $myarray masīvs. Ja tā notiek, mēs varam droši piekļūt tā vērtībai, izmantojot $myarray['indekss'] neģenerējot kļūdu. Pretējā gadījumā mēs saņemam ziņojumu, kas norāda, ka indekss netika atrasts masīvā. Kopš iepriekš minētā kodu indeksa atslēga nav pieejama, kods izvadīs rezultātu ' Indekss masīvā nav atrasts ”.

2: array_key_exists() funkcija

Šī ir vēl viena noderīga PHP funkcija, kas ļauj pārbaudīt indeksu masīvā. Tā darbojas līdzīgi iepriekšminētajai funkcijai, atgriežot patiesu, ja masīvā ir indekss. Pretējā gadījumā tas izvada kļūdu indekss nav atrasts.

Tālāk sniegtais piemērs parāda šīs funkcijas darbību PHP.



$myarray = masīvs ( 'index1' => 'value1' , 'indekss2' => 'value2' , 'indekss3' => 'value3' ) ;

ja ( masīva_atslēga_eksistē ( 'indekss' , $myarray ) ) {

atbalss $myarray [ 'indekss' ] ;

} cits {

atbalss 'Indekss masīvā nav atrasts' ;

}

?>

Iepriekš minētais kods izmanto array_key_exists() funkcija, lai pārbaudītu, vai “ rādītājs “ atslēga pastāv $myarray masīvs. Ja tā notiek, mēs varam droši piekļūt tā vērtībai, izmantojot $myarray['indekss'] neģenerējot kļūdu.

Kopš iepriekš minētā koda rādītājs atslēga nav pieejama kods izvadīs rezultātu ' Indekss masīvā nav atrasts ”.

3: Null Coalescing Operator izmantošana

The nulles apvienošanas operators (??) ir vēl viena noderīga metode, lai pārbaudītu indeksa esamību masīvā, jo tā palīdzēs novērst nedefinēto indeksa kļūdu jūsu PHP kodā. Apsveriet tālāk norādīto kodu, lai uzzinātu, kā izmantot nulles apvienošanas operators PHP.



$myarray = masīvs ( 'index1' => 'value1' , 'indekss2' => 'value2' , 'indekss3' => 'value3' ) ;

atbalss $myarray [ 'indekss' ] ?? 'Indekss masīvā nav atrasts' ;

?>

Iepriekš minētais kods izmanto nulles apvienošanas operators (??) lai pārbaudītu, vai ir pieejama indeksa atslēga $myarray masīvs . Ja tā notiek, mēs varam iegūt vērtību konsolē. Tomēr, ja indekss neeksistē, tas atgriež ' Indekss masīvā nav atrasts ” izvade konsolē.

Secinājums

' Nedefinēts indekss ” ir bieži sastopama PHP kļūda, kas rodas, mēģinot piekļūt neesošam masīva indeksam. Šāda veida kļūdu var izraisīt nepareizi uzrakstīts indeksa nosaukums, neesošs indekss vai nenoteikta indeksa vērtība. Lai to labotu, var izmantot isset(), array_key_exists() , vai nulles apvienošanas operators (??). Izpildiet iepriekš sniegtos norādījumus, lai uzzinātu par šīm metodēm sīkāk.