Hello,

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. :-(

Current:
    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. :-)

Rob



----------------------------------------------------------------------
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)

http://www.gov.nf.ca/gsl/
mailto:[EMAIL PROTECTED]
----------------------------------------------------------------------
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