RE: [PHP] sorting multi-dimensional array where array elements are structs [simple class]
| From: | Erin Fry | Date: | Tue, 11 Feb 2003 14:27:57 +0000 |
| Subject: | RE: [PHP] sorting multi-dimensional array where array elements are structs [simple class] | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-135190@lists.php.net to get a copy of this message | ||
On Mon, 10 Feb 2003 16:23:10 -0600, you wrote:
>Hi.
>
>I’m working with a multidimensional array where the data in the
>array is a class (struct). All the information is being stored correctly,
>but I need to sort each “column” (AA0, BA0, etc. – see below)
>by the fieldNo portion of the struct.
>
>class fieldClass
>{
> var $fieldNo;
> var $srcLineNo;
> var $data;
>}
[...]
Although I've never personally used it, I believe usort() is what you
need:
http://www.php.net/manual/en/function.usort.php
You would need to create a callback function, something like:
function cmp($a, $b) {
if ($a->fieldNo == $b->fieldNo) { return 0; }
return ($a->fieldNo > $b->fieldNo) ? 1 : -1;
}
usort($structArray, 'cmp');
----------------------------------------------------------------------------
Thanks for the reply. I had already tried usort previously. For some reason, there is no data for
the array fields at all in the cmp function - not sure why. Does anyone know? All help is
appreciated! Thanks.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.449 / Virus Database: 251 - Release Date: 1/27/2003