Hi,
Monday, April 5, 2004, 1:03:17 PM, you wrote:
RH> Hi there,
RH> Supposed I have an array of objects, like:
$this[$i]->>property1
$this[$i]->>property2
RH> is there any 'cheap' way to sort the array according to the values of
RH> property1?
RH> The only way I thought I would be able to accomplish this is to
RH> transform this into an assoc array or something like it and then sort
RH> it ...
RH> I found plenty of functions for dealing with plain arrays, but nothing
RH> - easy to use - for this. Am I just blind or do I finally have to write
RH> a function doing that on my own?
RH> And if so - anyone who had to do this before and come up with a really
RH> fast solution (I guess my attempts would work - but not very efficient)
RH> Thanks
RH> Richard
This should do what you want, though I think your example is
confusing...
<?php
function cmp_ascending($k1, $k2) {
global $a;
if ($a[$k1]->property == $a[$k2]->property) {
return 0;
}
return ($a[$k1]->property < $a[$k2]->property) ? -1 : 1;
}
class test{
var $property = 0;
function test($val){
$this->property = $val;
}
}
$a[] = new test(7);
$a[] = new test(1);
$a[] = new test(5);
$a[] = new test(3);
print_r($a);
uksort($a, "cmp_ascending");
while (list($key, $value) = each($a)) {
echo "$key: $value->property <br>";
}
--
regards,
Tom
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php