Simple but nice sorting question

Discussion in 'PHP' started by meannn, Feb 14, 2010.

  1. #1
    Hi mates, my question is,

    I have 3 different values which are given by another person.

    $value1 = "blabla bla";
    $value2 = "blabla bla bla";
    $value3 = "blabla bla bla bla";

    I have to echo them from longest to shortest. If two values have same length, doesnt matter which one comes firt.

    How to do that ? Thanks
     
    Last edited: Feb 14, 2010
    meannn, Feb 14, 2010 IP
  2. s_ruben

    s_ruben Active Member

    Messages:
    735
    Likes Received:
    26
    Best Answers:
    1
    Trophy Points:
    78
    #2
    Maybe this example will help you:

    
    <?php
    function sort_by_length($value1,$value2){
      $value1_length = strlen($value1);
      $value2_length = strlen($value2);
    
      if($value1_length<$value2_length){
        return 1;
      }elseif($value1_length==$value2_length){
        return 0;
      }else{
        return -1;
      }
    }
    
    $value1 = "blabla bla";
    $value2 = "blabla bla bla";
    $value3 = "blabla bla bla bla";
    
    $array = array($value2,$value1,$value3);
    
    usort($array, 'sort_by_length');
    
    print_r($array);
    ?>
    
    Code (markup):
     
    s_ruben, Feb 15, 2010 IP
  3. meannn

    meannn Peon

    Messages:
    255
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Thanks a lot!.
     
    Last edited: Feb 15, 2010
    meannn, Feb 15, 2010 IP