Ano ang Undefined Index Error sa PHP at Paano Ito Ayusin?

Ano Ang Undefined Index Error Sa Php At Paano Ito Ayusin



Kapag nagtatrabaho sa PHP, karaniwan nang makatagpo ng ' Hindi Natukoy na Index ” pagkakamali. Ang error na ito ay nangyayari kapag sinubukan mong i-access ang isang array element o variable gamit ang isang index na hindi umiiral, na humahantong sa mga hindi inaasahang resulta o isang pag-crash ng program.

Sa artikulong ito, ipapaliwanag namin nang detalyado kung ano ang ' Hindi natukoy na index ” ang error ay, ang mga posibleng dahilan nito, at kung paano ito ayusin.







Hindi Natukoy na Error sa Index sa PHP

isang ' Hindi Natukoy na Index ” gaya ng nabanggit na ay isang error na nangyayari kapag sinubukan ng isang user na i-access ang isang elemento o variable sa isang array gamit ang isang index na hindi tinukoy sa isang code.





Mga Dahilan ng Undefined Index Error sa PHP

Mayroong ilang mga posibleng dahilan para sa error na ito:





  • Mali ang spelling ng Index Name
  • Pag-access sa isang Hindi Umiiral na Index
  • Hindi nakatakda ang Index Value
  • Ang Array Key ay wala

Paano Ayusin ang Undefined Index Error sa PHP

Upang ayusin ang error na ito sa PHP, maaaring gamitin ng mga user ang sumusunod na tatlong paraan:

1: isset() function

Ang isset() Ang function ay isang built-in na function sa PHP na nagbibigay-daan sa iyong suriin ang pagkakaroon ng variable o index sa isang array. Nagbabalik ito totoo kung mayroong variable o index sa isang array, at false sa ibang kaso. Kung gusto mong ayusin ang hindi natukoy na index error sa PHP, maaari mong gamitin ang function na ito sa pamamagitan ng pagsasaalang-alang sa sumusunod na code bilang isang halimbawa na sumusuri sa variable na umiiral sa isang programa.





$myarray = array ( 'index1' => 'value1' , 'index2' => 'value2' , 'index3' => 'value3' ) ;

kung ( isset ( $myarray [ 'index' ] ) ) {

echo $myarray [ 'index' ] ;

} iba pa {

echo 'Hindi nakita ang index sa array' ;

}

?>

Ang code sa itaas ay gumagamit ng isset() function upang suriin kung ang ' index 'Ang susi ay umiiral sa $myarray array. Kung gagawin nito, ligtas nating maa-access ang halaga nito gamit $myarray['index'] nang hindi gumagawa ng error. Kung hindi, nakakakuha kami ng mensahe na nagsasaad na ang hindi natagpuan ang index sa hanay. Mula sa itaas code index key ay hindi magagamit ang code ay maglalabas ng resulta ' Hindi nakita ang index sa array ”.

2: array_key_exists() Function

Ito ay isa pang kapaki-pakinabang na function sa PHP na nagbibigay-daan sa iyong suriin para sa isang index sa isang array. Gumagana ito nang katulad sa function sa itaas sa pamamagitan ng pagbabalik ng true kung mayroong isang index sa isang array. Kung hindi, ilalabas nito ang index na hindi nahanap na error.

Ang ibinigay na halimbawa sa ibaba ay nagpapakita ng paggana ng function na ito sa PHP.



$myarray = array ( 'index1' => 'value1' , 'index2' => 'value2' , 'index3' => 'value3' ) ;

kung ( array_key_exists ( 'index' , $myarray ) ) {

echo $myarray [ 'index' ] ;

} iba pa {

echo 'Hindi nakita ang index sa array' ;

}

?>

Ang code sa itaas ay gumagamit ng array_key_exists() function upang suriin kung ang ' index 'Ang susi ay umiiral sa $myarray array. Kung gagawin nito, ligtas nating maa-access ang halaga nito gamit $myarray['index'] nang hindi gumagawa ng error.

Dahil ang code sa itaas index key isn't available the code will output the result ' Hindi nakita ang index sa array ”.

3: Paggamit ng Null Coalescing Operator

Ang null coalescing operator (??) ay isa pang kapaki-pakinabang na paraan upang suriin ang pagkakaroon ng index sa isang array dahil makakatulong ito sa iyong ayusin ang hindi natukoy na index error sa iyong PHP code. Isaalang-alang ang ibinigay na code sa ibaba upang matutunan kung paano gamitin ang null coalescing operator sa PHP.



$myarray = array ( 'index1' => 'value1' , 'index2' => 'value2' , 'index3' => 'value3' ) ;

echo $myarray [ 'index' ] ?? 'Hindi nakita ang index sa array' ;

?>

Ang code sa itaas ay gumagamit ng null coalescing operator (??) upang suriin ang index key na umiiral sa $myarray array . Kung mangyayari ito, makukuha natin ang halaga sa console. Gayunpaman, kung ang index ay hindi umiiral, ibinabalik nito ang ' Hindi nakita ang index sa array ” output sa console.

Konklusyon

Ang ' Hindi natukoy na index ” ay isang karaniwang error sa PHP na nangyayari kapag sinubukan mong i-access ang isang hindi umiiral na array index. Ang maling spelling ng pangalan ng index, hindi umiiral na index, o hindi naitakdang halaga ng index ay maaaring magdulot ng ganitong uri ng error. Upang ayusin ito, maaaring gamitin ng isa ang isset(), array_key_exists() , o ang null coalescing operator (??). Sundin ang ibinigay na mga alituntunin sa itaas upang malaman ang tungkol sa mga pamamaraang ito nang detalyado.