Manuel PHP
Précédent |  | Suivant

# dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.4)

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() 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`. dbx_compare() est une fonction d'aide pour dbx_sort(), afin d'aider aux tris.

Le paramètre flags peut prendre plusieurs valeurs :

- `DBX_CMP_ASC` - ordre ascendant

- `DBX_CMP_DESC` - ordre descendant

et le type utilisé pour la comparaison :

- `DBX_CMP_NATIVE` - par de conversion de type

- `DBX_CMP_TEXT` - compare les lignes comme des chaînes

- `DBX_CMP_NUMBER` - compare les lignes comme des nombres

Une direction de tri et un type de comparaison peuvent être combinés avec l'opérateur OR (|). La valeur par défaut pour l'option flags est `DBX_CMP_ASC` | `DBX_CMP_NATIVE`.

Exemple 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);
?>`

Voir aussi dbx_sort().

Précédent | Sommaire | Suivant
dbx_close | Niveau supérieur | dbx_connect