dbx_compare
(PHP 4 >= 4.0.7, PHP 5 <= 5.0.5, PECL dbx:1.1.0)
dbx_compare — Compare deux lignes DBX afin de les trier
Description
int dbx_compare
( array $row_a
, array $row_b
, string $column_key
[, int $flags
] )
dbx_compare() est une fonction d'aide pour dbx_sort(), afin d'aider aux tris.
Liste de paramètres
- row_a
-
Première ligne
- row_b
-
Seconde ligne
- column_key
-
La colonne comparée
- flags
-
Le paramètre flags peut prendre plusieurs valeurs :
- DBX_CMP_ASC - ordre ascendant
- DBX_CMP_DESC - ordre descendant
- DBX_CMP_NATIVE - pas de conversion de type
- DBX_CMP_TEXT - compare les lignes comme des chaînes
- DBX_CMP_NUMBER - compare les lignes comme des nombres
Valeurs de retour
Retourne 0 si row_a[$column_key] est égale à row_b[$column_key], et 1 ou -1 si le premier est plus grand ou plus petit que le dernier, respectivement, ou bien le contraire si l'option flags est configurée à DBX_CMP_DESC.
Exemples
Example#1 Exemple avec dbx_compare()
<?php
function user_re_order($a, $b)
{
$rv = dbx_compare($a, $b, "parentid", DBX_CMP_DESC);
if (!$rv) {
$rv = dbx_compare($a, $b, "id", DBX_CMP_NUMBER);
}
return $rv;
}
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password")
or die("Impossible de se connecter");
$result = dbx_query($link, "SELECT id, parentid, description FROM table ORDER BY id");
// les données de $result sont désormais classées par id
dbx_sort($result, "user_re_order");
// la date dans $result est maintenant ordonnée par parentid (descending), puis par id
dbx_close($link);
?>