I PHP, er en matrise en datastruktur bestående av nøkkel - verdi-par . Nøkkelen , også kalt en indeks , identifiserer hvor i rekken elementet ligger. Verdien er verdien av elementet. For eksempel vurdere uttalelsen $ x [ 12 ] = 100; " 12 " er datatabellindekser og " 100 " er verdien av elementet på indeks " 12 ". I uttalelsen : $ x ['name '] = " Mark" ; "navn" er matrisen indeks og " Mark " er verdien av elementet ved at indeksen. En " uidentifisert indeks" feil oppstår i PHP når du prøver å referere til verdien av en matrise element ved hjelp av en indeks som ikke finnes i tabellen. Typografiske feil
Noen ganger typografiske feil føre datatabellindekser problems.You kan lage en løkke til å utføre en operasjon på hvert element i en matrise og skriver feil den variabelen som du bruker for å angi indeksen. For eksempel vurdere følgende kodesnutt som forårsaker en " uidentifisert index " feil fordi variabelen ble skrevet feil i kroppen av loopen
for ($ index = 0; . $ Index < count ( $ array) ; $ index + + ) {$ matrise [$ idnex ] + = 55 ;}
assosiativ array Indexes
en assosiativ array lar deg bruke alfanumeriske taster for indekser. Det er viktig å forstå at disse tastene er store og små bokstaver , og at følgende kode vil produsere en " uidentifisert index " feil : en
$ matrise [' x '] = 5; echo $ matrise [' X '] ;
Du kan unngå disse feilene ved å forvandle det gjelder indeksen variabel ved hjelp av " strtolower "-funksjonen , som i følgende eksempel : en
foreach ( $ bokstaver som $ brev ) { echo $ matrise [ strtolower ( $ brev ) ]; }
onde Data
En " uidentifisert indeks" feil kan noen ganger oppstå på grunn av dårlige data . For eksempel, hvis du behandler et datasett der du forventer at alle indeksverdier å være ikke- negativ og du får en negativ verdi i datasettet , vil det føre til en " uidentifisert index " feil. For å hindre at feil oppstår, satt en betingelse for å fange opp ulovlige rekke indekser før de brukes , som i følgende eksempel : en
while ( ( $ row = mysql_fetch_assoc ($ resultat ) ) ) { if ( $ rad [" array_index "] < 0 ) { echo " Bad datatabellindekser verdi " . $ row [" array_index "] ;} else { echo $ matrise [ $ row [" array_index "] ]; }
Hindre Feil i Gyldige tilfeller
< p > Noen ganger må en rekke elementer og du ønsker å sjekke om et bestemt element er i matrisen . For eksempel vurdere denne rekke elementer og mengden av hvert element på hånden : en
$ element [' godteri '] = 100 , $ item [' tyggis '] = 75 , $ item [' Mints '] = 50; .
p Hvis du ønsker å sjekke for å se om du har noen pastiller , vil følgende utsagn føre til en " uidentifisert index " feil fordi det ikke er " pastiller " element i matrisen
echo $ element [ ' pastiller ' ];
å unngå denne feilen , kan du bruke " isset "-funksjonen til å først sjekke om elementet er i matrisen før du sjekke mengden verdi , som i følgende kode :
if ( isset ( $ item [ ' pastiller ' ] ) echo $ element [' pastiller ' ];