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

et le type utilisé pour la comparaison :

  • 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

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 .

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

Exemple 631. 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()