Илья К
15.08.2004, 15:52
Всем привет! Не понимаю, как работает uksort(). Вот пример:
<?php
function cmp($a, $b)
{
#echo "<table width='150px' border='1'><tr><td width='75px'>\$a: $a</td><td width='75px'>\$b: $b</td></tr></table>\n";
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, "cmp");
while (list($key, $value) = each($a)) {
echo "<br>\n$key: $value";
}
?>
До return всё ясно. Функция возвращает -1 или 0, или 1, но что дальше происходит -- не понимаю.
P.S.http://php.segmenta.ru/manual/ru/function.uksort.php -- там уже был.:)
<?php
function cmp($a, $b)
{
#echo "<table width='150px' border='1'><tr><td width='75px'>\$a: $a</td><td width='75px'>\$b: $b</td></tr></table>\n";
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, "cmp");
while (list($key, $value) = each($a)) {
echo "<br>\n$key: $value";
}
?>
До return всё ясно. Функция возвращает -1 или 0, или 1, но что дальше происходит -- не понимаю.
P.S.http://php.segmenta.ru/manual/ru/function.uksort.php -- там уже был.:)