dbx_compare

dbx_compare -- Vergleicht zwei Reihen für Sortierzwecke

Beschreibung

int dbx_compare ( array row_a, array row_b, string column_key [, int flags])

dbx_compare( ) gibt 0 zurück , wenn row_a[$column_key ] gleich row_b[$column_key ] ist . Ist der erste Wert größer oder kleiner als der zweite , wird 1 bzw . -1 zurückgegeben ( oder umgekehrt , wenn der Parameter flag auf DBX_CMP_DESC gesetzt ist) . dbx_compare( ) ist eine Hilfsfunktion für dbx_sort( ) , um das Erstellen bzw . Verwenden der Benutzerfunktion zu vereinfachen .

Der Parameter flags spezifiziert die Vergleichsrichtung :

und den bevorzugten Vergleichstyp: Eine der Vergleichs-, und eine der Typkonstanten können mit dem Bit-Operator OR (|) kombiniert werden. Die Standardwerte für flags sind DBX_CMP_ASC | DBX_CMP_NATIVE .

Beispiel 1 . dbx_compare( )

 
?php

 
function

 
user_re_order

 
(

 
$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

 
,

 
""

 
,

 
"db"

 
,

 
"username"

 
,

 
"password"

 
)

 
or

 
die

 
("Fehler

 
beim

 
Verbinden")

 
;

 
$result

 
=

 
dbx_query

 
($link

 
,

 
"SELECT

 
id

 
,

 
parentid

 
,

 
description

 
FROM

 
table

 
ORDER

 
BY

 
id")

 
;

 
/

 
/

 
die

 
Daten

 
in

 
$result

 
sind

 
nun

 
nach

 
id

 
gereiht

 
dbx_sort

 
($result

 
,

 
"user_re_order")

 
;

 
/

 
/

 
die

 
Daten

 
in

 
$result

 
sind

 
nun

 
nach

 
parentid

 
(absteigend

 
)

 
gereiht

 
,

 
/

 
/

 
und

 
dann

 
nach

 
id

 
dbx_close

 
($link)

 
;

 
?



Siehe auch dbx_sort( ) .