PHP vil generelt opptre som forventet når sortering verdier inklusive numerisk null , sortere det som mindre enn ett og større enn noen negativt tall . De vanligste feilkilder når du arbeider med null verdier stammer fra hvordan de blir brukt i matriser , eller forvirrende en numerisk null verdi med teksten " 0 " verdi. Typer Arrays
En matrise er en enkelt variabel som inneholder en liste over verdier. PHP har to typer matriser som varierer i måten hver er referert av array- kommandoer. En matrise kan ha en numerisk indeks , der hvert element i matrisen er tilordnet et sekvensielt nummer, eller det kan brukes en kodede indeksen som et søkeord er tilordnet hvert element . For eksempel , begge disse er gyldige PHP arrays : en
$ familie = array (" John" , "Mary" , "Dick ", " Jane" )
$ familie = array (" far " = > " John" , " mor " = > " Mary" , " sønn " = > " Dick" , "datter " = > " Jane" )
Zero- Based Indexes
PHP bruker en null grunnlag for matrise indeksering, som er den teknisk måte å si at i stedet for å telle objekter som begynner med en, arrays er telles som starter med null. Sunn fornuft kan tyde på at $ familie [ 1 ] er " John" , men dette vil resultere i " Mary" . $ familie [ 0 ] er den numeriske referanse til bruke til å returnere " John" . Zero- indeksering fører ofte programmeringsfeil når en - indeksering er forventet av programmerer , men dette vil sjelden føre til sortering feil siden null sorteres før en som vanligvis ville bli forventet.
String og Numerisk Zero
En mer sannsynlig årsak til sortering feil som involverer null er å blande tekst og numeriske typer verdier . PHP skiller mellom teksten " 0 " og tallet 0 . Dette skiller seg fra andre programmeringsspråk som bruker automatisk tvang , hvor språket forsøker å konvertere tekst som inneholder numeriske data til tall når du programmerer syntaks blander datatyper . PHP dokumentasjon sier den slags rutiner vil handle uberegnelig når datatyper er blandet, så bekrefte at alle variabler som du forventer å holde numeriske data faktisk gjøre det.
Typer Sortering
< p> PHP har forskjellige sortere funksjoner for sortering arrays av innholdet i matrise, eller av søkeordene tildelt array elementer . PHP tillater overdragelse av søkeordet "0" som en navngitt element , som kan variere fra element 0 av tabellen. Hvis du sorterer nøklene i en matrise, sjekk nøklene samt din rekke data for blandede datatyper .