dbx_compare

(PHP 4 >= 4.1.0, PHP 5)

dbx_compare -- Compara duas linhas para finalidades de ordenação

Descrição

int dbx_compare ( array linha_a, array linha_b, string coluna_chave [, int flags] )

A função dbx_compare() retorna 0 se linha_a[$coluna_chave] é igual à linha_b[$coluna_chave], e 1 ou -1 se o anterior for maior ou menor do que o último, respectivamente, ou vice-versa se o parâmetro flag está configurado para usar a constante DBX_CMP_DESC. A função dbx_compare() é uma mão na roda para a função dbx_sort() para facilitar o uso e manuseamente de uma função pré-definida (customizada).

O parâmetro flags pode ser configurado para comparações específicas:

e os tipos de comparações mais adequadas:

Uma das comparações e um dos tipos de constante podem ser combinados com o operador bitwise OR (|). O valor padrão para o parâmetro flags são as constantes DBX_CMP_ASC | DBX_CMP_NATIVE.

Exemplo 1. dbx_compare() exemplo

<?php
function reordenar_usuarios ($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, "", "bd", "nome de usuário", "senha")
    or die (
"Não foi possível conectar");

$resultado = dbx_query ($link, "SELECT id, parentid, descricao FROM tabela ORDER BY id");
    
// dados em $resultado são agora ordenados pelo id

dbx_sort ($resultado, "reordenar_usuarios");
    
// dados em $resultado são agora ordenados por parentid (decrescente), depois por id

dbx_close ($link);
?>

Veja também dbx_sort().