dbx_compare

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

dbx_compareCompara duas linhas para finalidades de ordenação

Descrição

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

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

  • dbx_sort() - Ordena um resultado de uma dbx_query usando uma função

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top