Re: Sort by string length...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux