On Sat, 6 Apr 2002 18:21:10 -0600, Peter J. Schoenster
<[EMAIL PROTECTED]> wrote:
> I tried the above.
>
> uksort ($ArrayOfNewsLinks, "SortByValue");
>
> function SortByValue ($a, $b) {
> if ($a["language"] == $b["language"]) return 0;
> return ($a["language"] > $b["language"]) ? 1 : -1;
> }
>
>
> or this
>
> function SortByValue ($a, $b) {
> return strcmp ( $a["language"], $b["language"]);
> }
>
> Doesn't work.
I should have caught this earlier. Try uasort() - uksort() sorts on the
array *key*, not the value.
<?
$ArrayOfNewsLinks = array(
"http://dailynews.yahoo.com/fc/World/Brazil/" => array(
'title' => 'Yahoo Brazil News',
'category' => 'news',
'language' => 'English',
),
"http://news.bbc.co.uk/hi/english/world/americas/default.stm" => array(
'title' => 'BBC News',
'category' => 'news',
'language' => 'English',
),
"http://news.yahoo.com/" => array(
'title' => 'Yahoo News',
'category' => 'news',
'language' => 'English',
),
"http://chinese.news.yahoo.com/" => array(
'title' => 'Yahoo News',
'category' => 'news',
'language' => 'Chinese',
)
);
function news_sort($a, $b) {
// Two key sort: first by language, then by title
$i = strcmp($a['language'], $b['language']);
if ($i != 0) {
return $i;
} else {
return strcmp($a['title'], $b['title']);
}
}
header("Content-Type: text/plain");
print_r($ArrayOfNewsLinks);
uasort($ArrayOfNewsLinks, "news_sort");
print_r($ArrayOfNewsLinks);
?>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php