PHP generellt kommer att fungera som förväntat vid sortering värden inklusive numerisk nolla , sortera det som mindre än ett och större än någon negativt tal . De vanligaste felkällor när man hanterar nollvärden härrör från hur de används i matriser , eller förvirrande ett numeriskt nollvärde med texten " 0 " värde . Typer av Arrays
En array är en variabel som innehåller en lista med värden . PHP har två typer av matriser som skiljer sig i hur var och refereras av array -kommandon . En array kan ha ett numeriskt index i vilken varje element i arrayen är tilldelad ett sekventiellt nummer , eller den kan använda en nycklad index i vilken ett nyckelord tilldelas varje element. Till exempel , båda dessa är giltiga PHP arrayer :
$ familjen = array ( " John " , " Mary " , " Dick " , " Jane " ) katalog
$ familjen = array ( " fadern " = > " John " , " mamma " = > " Mary " , " son " = > " Dick " , " dotter " = > " Jane " ) Addera nollbaserat Indexes
PHP använder en nolla grund för array indexering , som är den tekniska sätt att säga att istället för att räkna poster som börjar med en, matriser är räknas med början noll . Sunt förnuft kan tyda på att $ familjen [ 1 ] är " John " , men detta kommer att resultera i " Mary " . $ familj [ 0 ] är den numeriska hänvisningen att använda för att återvända " John " . Zero - indexering orsakar ofta programmeringsfel när en indexering förväntas av programmeraren , men det kommer sällan orsaka sortera fel eftersom noll sorteras före en som skulle generellt kan förväntas .
String och siffran noll
En mer trolig orsak till att sortera fel där noll är blanda text och numeriska typer värde . PHP skiljer mellan texten " 0 " och siffran 0 . Detta skiljer sig från andra programmeringsspråk som använder automatisk tvång , där språket försök att omvandla text som innehåller numeriska data till siffror vid programmering syntax blandar datatyper . PHP dokumentation anger att sortera rutiner kommer att agera oförutsägbart när datatyper blandas , så bekräfta att alla variabler som du förväntar dig att hålla numeriska data som faktiskt gör det .
Typer av Sortering
PHP har olika slags funktioner för sortering arrayer av innehållet i arrayen , eller genom de sökord som tilldelats arrayelementen . PHP tillåter överlåtelse av sökordet " 0 " som en namngiven inslag , vilket kan skilja sig från elementet 0 i matrisen . Om du sorterar nycklar i en array , ta dina nycklar samt dina datauppställning för blandade datatyper .