dbx_compare
(PHP 4 >= 4.1.0, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)
dbx_compare — Compara duas linhas para finalidades de ordenação
Descrição
$row_a
, array $row_b
, string $column_key
[, int $flags
] )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
flagspode 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
flagssão as constantesDBX_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
Example #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);
?>