I PHP , är en array en datastruktur som består av nyckel - värde-par . Nyckeln , som också kallas ett index , identifierar var i arrayen elementet bosatt . Värdet är värdet av elementet. Till exempel anser uttalandet $ x [ 12 ] = 100 ; " 12 " är den array index och " 100 " är värdet av elementet vid index " 12 . " I uttalandet : $ x [ ' namn '] = " Mark" , "namn" är arrayen index och " Mark" är värdet av elementet vid detta index . En " oidentifierat index " fel uppstår i PHP när du försöker referera till värdet av ett array-element med ett index som inte finns i arrayen . Tryckfel
Ibland tryckfel orsakar fältindex problems.You kan skapa en slinga för att utföra en operation på varje element i en array och skriver fel variabeln som du använder för att ange index . Till exempel överväga följande kodavsnitt som orsakar ett " oidentifierat index " fel eftersom variabeln var stavat fel i kroppen av slingan
för ( $ index = 0; . $ Index < count ( $ array ) ; $ index + + ) { $ array [ $ idnex ] + = 55 ; } Addera associativ array Indexes
En associativ array kan du använda alfanumeriska tangenter för index . Det är viktigt att förstå att dessa är skiftlägeskänsliga , och att följande kod kommer att producera ett " oidentifierat index " error :
$ array [ ' x ' ] = 5 ; echo $ array [ ' X ' ] ;
Du kan undvika dessa fel genom att omvandla det gäller index variabel med " strtolower " -funktion , som i följande exempel :
foreach ( $ bokstäver som $ brev ) { echo $ array [ strtolower ( $ bokstav ) ] ; }
Bad Data
En " oidentifierat index " fel kan ibland uppstå på grund av dåliga data. Till exempel, om du bearbetar en datamängd som du förväntar alla indexvärden för att vara icke - negativa och du stöter på ett negativt värde i datamängden , kommer det att orsaka en " oidentifierad index " fel . För att förhindra att det här felet uppstår , som en förutsättning för att fånga illegala array index innan de används , som i följande exempel :
medan ( ( $ v = mysql_fetch_assoc ( $ result ) ) ) {if ( $ rad [ " array_index " ] < 0 ) { echo " Bad fältindex värde " . $ rad [ " array_index " ] ; } else { echo $ array [ $ rad [ " array_index " ] ] ; } Addera Förhindra Fel i giltigt mål
Ibland har man en mängd element och du vill kontrollera om ett visst objekt finns i arrayen . Till exempel anser denna samling av objekten och antalet för varje punkt på handen :
$ item [ ' godis ' ] = 100 ; $ item [ ' gummi ' ] = 75 ; $ item [ ' myntverk ' ] = 50 ; .
p Om du vill kolla om du har några sugtabletter , kommer följande uttalande orsaka en " oidentifierad index " fel eftersom det inte finns någon " pastiller " posten i arrayen
echo $ item [ ' pastiller ' ],
att undvika detta fel , använd " isset " funktionen att först kontrollera om elementet är i arrayen innan du kontrollerar den mängd värde , som i följande kod:
if ( isset ( $ item [ ' pastiller ' ] ) echo $ item [ ' pastiller ' ],