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