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