Manual do PHP
Anterior |  | Próxima

# 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:

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

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

Anterior | Principal | Próxima
dbx_close | Acima | dbx_connect