Is it an associative array? That is, are you assigning values like this: Method 1: $arr[] = "some text string"; or $arr = array("some text string","some text string too"); or like this... Method 2: $arr["value1"] = "some text string"; or $arr1 = array("value1"=>"some text string","value2"=>"some text string too"); If you do it the first way, Method 1 (non-associative) then you could do this: <?php $arr1 = array("some text string","some text string too"); foreach ($arr1 as $value) { $length = strlen($value); $tmparr[$length][] = $value; } sort($tmparr); reset($tmparr); foreach ($tmparr as $lenarr) { foreach ($lenarr as $value) { $arr2[] = $value; } } ?> Now $arr2 has a string length sorted list of your values.. or something close to it. I may have a little syntax off a bit, but you get the idea. I don't know of any way to actually just sort by string length, you'll have your make your own function like the one above. Just remember that if you use $tmparr[$length] that you may have multiple strings of the same length which will overwrite each other if you don't do another layer like I did (with $tmparr[$length][] = $value); Just gotta get a little clever with it. Good luck! -TG = = = Original message = = = Any idea how to sort an array by string length? Russ Jones -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php ___________________________________________________________ Sent by ePrompter, the premier email notification software. Free download at http://www.ePrompter.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php