Un PHP Array Sort problema con il numero zero

March 15

PHP generalmente agiscono come previsto durante l'ordinamento dei valori compreso lo zero numerico, l'ordinamento come meno di uno e più grande di qualsiasi numero negativo. Le fonti più comuni di errore quando si tratta di valori zero derivano da come vengono utilizzati in array, o confondere un valore numerico pari a zero con il testo valore "0".

Tipi di Array

Una matrice è una singola variabile che contiene un elenco di valori. PHP ha due tipi di matrici che si differenziano per il modo in cui ciascuno è fatto riferimento per i comandi di array. Un array può avere un indice numerico in cui ogni elemento dell'array viene assegnato un numero sequenziale, oppure può utilizzare un indice calettato in cui una parola chiave viene assegnato a ogni elemento. Ad esempio, entrambi sono array PHP validi:

$ Famiglia = array ( "John", "Mary", "Dick", "Jane")

$ Famiglia = array ( "padre" => "John", "madre" => "Mary", "figlio" => "Dick", "figlia" => "Jane")

Base zero indici

PHP usa una base zero per matrice indicizzazione, che è la modalità tecnica di dire che invece di contare oggetti partendo da uno, gli array sono contate a partire da zero. Il buon senso può indicare che $ famiglia [1] è "John", ma questo si tradurrà in "Maria". $ Famiglia [0] è il riferimento numerico per utilizzare per restituire "John". Zero a base di indicizzazione provoca spesso errori di programmazione quando uno a base di indicizzazione è anticipato dal programmatore, ma questo raramente causare errori di smistamento da zero è ordinato prima che uno come dovrebbe, in linea.

String e Numeric Zero

Un più probabile causa di errori di smistamento che coinvolgono zero miscelando i tipi di testo e di valore numerico. PHP distingue tra il testo "0" e il numero 0. Questo si differenzia da altri linguaggi di programmazione che utilizzano la coercizione automatica, dove la lingua tenta di convertire il testo che contiene i dati numerici in numeri in fase di programmazione sintassi mescola i tipi di dati. documentazione di PHP afferma che le routine di ordinamento agirà in modo irregolare quando i tipi di dati sono mescolati, in modo da confermare che tutte le variabili che si prevede di tenere i dati numerici in realtà lo fanno.

Tipi di ordinamento

PHP ha diverse funzioni di ordinamento per ordinare gli array dal contenuto della matrice, o per le parole chiave assegnate a elementi di un array. PHP consente l'assegnazione della parola chiave "0" come elemento denominato, che può differire da elemento 0 della matrice. Se si esegue l'ordinamento le chiavi in ​​un array, controllare le chiavi così come i vostri dati di matrice per i tipi di dati misti.