Do you know the answer to this got'tcha? I want to call usort with a variable function 
name. Basically, I want usort to sort any field I specify. Currently, I'm stuck 
declaring a pile of functions and calling usort from if/elseif statements. :-(

    function compname ($a, $b) {
        return strcmp ($a["name"], $b["name"]);

    function comptitle ($a, $b) {
        return strcmp ($a["title"], $b["title"]);

    function compcity ($a, $b) {
        return strcmp ($a["city"], $b["city"]);

    function compdesc ($a, $b) {
        return strcmp ($a["description"], $b["description"]);

    function compfile ($a, $b) {
        return strcmp ($a["filename"], $b["filename"]);

    if ($sortby == "name") {
        usort ($result, "compname");
    elseif ($sortby == "title") {
        usort ($result, "comptitle");
    elseif ($sortby == "city") {
        usort ($result, "compcity");
    elseif ($sortby == "description") {
        usort ($result, "compdesc");
    elseif ($sortby == "filename") {
        usort ($result, "compfile");

What Works in Theory:
    function mysort ($a, $b, $c) {
        return strcmp ($a["$c"], $b["$c"]);

usort ($result, "$mysort, $sortby");

...but, that chokes.

Your help appreciated. :-)


Robert J. Miller
Internet Support Specialist
Department of Government Services and Lands
P.O. Box 8700, St. John's, NF., A1B-4J6
(709) 729-4520 (phone)
(709) 729-4151 (facsimile)
(709) 778-8746 (pager)

Simple things should be simple and hard things
should be possible.

PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to