Det er flere vanlige PHP bugs som programmerere introdusere når du skriver PHP-kode . Noen av feilene forårsaker feilmeldinger fra tolken , men feilmeldingene ofte ikke forholder seg til den faktiske feilen og kan peke på en helt annen linje i manuset. Andre bugs ikke forårsake noen feilmelding i det hele tatt , men føre til at programmet oppfører seg annerledes enn forutsatt. Det er nyttig å gjennomgå disse vanligste feilene , fordi disse feilene er laget av nybegynnere og erfarne programmerere likt. Ved hjelp av et oppdrag operatør i et betinget uttrykk
likhetstegnet er et oppdrag operatør i PHP. For eksempel tildeler følgende uttalelse verdien fem til variabelen $ x : en
$ x = 5 ;
To like tegn sammen lage en betinget operatør. For eksempel tildeler følgende uttalelse verdien tre til variabelen $ y , hvis variabelen $ x er lik fem : en
if ( $ x == 5 ) $ y = 3;
< p > En vanlig PHP bug er å utelate en av de like tegn i den betingede uttrykk. Dette fører til at tolken til å utføre en oppgave og deretter en betinget evaluering på resultatet av oppdraget , for som noen annen verdi enn null vil vurdere å For eksempel vurdere følgende utsagn "true ". : En
if ( $ x = 5) $ y = 3;
den variable $ y alltid vil være lik tre , fordi verdien fem er tilordnet til, i stedet for i forhold til, den variable $ x . Siden fem ikke er null , vil resultatet alltid vurdere å "true ".
Utelate en etterfølgende sitat fra en String
annen vanlig PHP bug oppstår når du trenger ikke ordentlig lukke en streng med en etterfølgende sitat. Det er enkelt å gjøre dette, spesielt hvis du blander enkle og doble anførselstegn i samme strengen . Det er noen ganger vanskelig å spore kilden til denne feilen fordi feilmeldingen kan være ganske forskjellig fra det virkelige problemet , og tolken ofte peker på en linje som er flere linjer forbi der det virkelige problemet er . Dette er fordi tolken fortsetter å forsøke å behandle kode til tross for den manglende sitat. Tenk på følgende script : en
< php $ streng1 = ' Og hun sa: "Jeg lurer på hvorfor ? "; $ String2 =' Og han svarte: "Jeg tror jeg vet svaret ! " ? ; '; if ( $ plot_path1 ) echo $ streng1 ; elseecho $ string2 ;
Denne koden vil generere en " uventet T_STRING " feil som peker til linjen som inneholder "hvis" statement, som er to linjer under der det virkelige problemet oppstår .
Glemme "$" ved bytte mellom språk
PHP -programmer har ofte både HTML markup og JavaScript-kode ispedd med PHP script . Når du bytter mellom PHP og JavaScript, er det lett å glemme hvilket språk du bruker, og å vedta standarder for feil skriptspråk. En vanlig feil er å utelate dollartegn foran en PHP variabel , siden det kreves i PHP , men ikke i JavaScript. For eksempel utelater følgende skript dollartegnet fra variabelen " i" i " for " loop etter JavaScript kodebit : ?
< Php $ total = sum ( $ deler) ; ? . ? >