Hey folks: 

I have a function that returns an array. I'm assigning the returned array to
a variable inside another function: 
---------- 
$dirs = getFileArray($parentDir,"title_2.txt"); 
---------- 

If I use print_r() on the variable it writes out as expected: 
---------- 
Array 
( 
[0] => Array 
( 
[folderName] => 97StudioPhotos 
[linkText] => Studio 3/27 - 3/30 (by Matt Myrdal/VE) 
[sortDate] => 03/31/02 

) 

[1] => Array 
( 
[folderName] => 98PromoPhotos 
[linkText] => Promo Photos BW (by Matt Myrdal - 3/24/02) 
[sortDate] => 03/24/02 

) 

[2] => Array 
( 
[folderName] => 99PhotoSet1 
[linkText] => Photo Set I (by Matt Myrdal - 3/12/02) 
[sortDate] => 03/12/02 

) 

) 
---------- 

Now I want to sort this array using a custom defined sort method: 
---------- 
uksort($dirs,"sortByDateDesc"); 

function sortByDateDesc($a,$b) 
{ 
print "<hr>a = <br>"; 
print_r($a); 
print "<hr>"; 

print "<hr>b = <br>"; 
print_r($b); 
print "<hr>"; 

print $a." vs ".$b."<br>"; 

if ($a[sortDate] > $b[sortDate]){ 
print " ".$a[sortDate]." > ".$b[sortDate]."<br>"; 
return -1; 
} else if ($a[sortDate] < $b[sortDate]){ 
print " ".$a[sortDate]." < ".$b[sortDate]."<br>"; 
return 1; 
} else { 
print " ".$a[sortDate]." = ".$b[sortDate]."<br>"; 
return 0; 
} 
} 
---------- 

As you can see, I've added a bunch of print() calls for testing. The trouble
is that none of the variables are being output into the print functions and
all of the print_r() calls just return "1". In the end, the array is not
being sorted at all. Why can't I access any of the array elements in this
function and why won't it sort correctly? 

I've tried accessing the elements everyway I can think of: 
$a[sortDate] 
$a["sortDate"] 
$a[2] 

Regards, 
Chris Bloom
PS: Attached is an example file
 <<arr_sort_test.php>> 
Web Infrastructure Analyst
Lifespan Corporate Services
167 Point Street #245
Providence, RI 02903
401-444-2074


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

Reply via email to