Funções da dbx
PHP Manual

dbx_compare

(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)

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

Descrição

int dbx_compare ( array $row_a , array $row_b , string $column_key [, int $flags ] )

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).

Parâmetros

row_a

Primeira linha

row_b

Segunda linha

column_key

A coluna comparada

flags

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

  • DBX_CMP_ASC - ordem crescente
  • DBX_CMP_DESC - ordem decrescente
e os tipos de comparações mais adequadas:
  • DBX_CMP_NATIVE - sem conversão de tipo
  • DBX_CMP_TEXT - compara itens como sendo strings
  • DBX_CMP_NUMBER - compara os itens numéricamente
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.

Valor Retornado

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.

Exemplos

Exemplo #1 Exemplo da dbx_compare()

<?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


Funções da dbx
PHP Manual