dbx_compare
(PHP 4 >= 4.0.7, 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 $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
- DBX_CMP_NATIVE - sem conversão de tipo
- DBX_CMP_TEXT - compara itens como sendo strings
- DBX_CMP_NUMBER - compara os itens numéricamente
Example#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().