PHP/Data Structure/usort

Материал из Web эксперт
Перейти к: навигация, поиск

Sorting an Array Using Comparison Functions

 
<?php
  function evenfirst($i, $j)
  {
    $value = 0;
    if($i % 2)$value++;
    if($j % 2)$value--;
    if($value == 0)
      $value = $i < $j;
    return $value;
  }
  $clothes = array( "hats" => 75, "coats" => 32, "shoes" => 102,
                    "gloves" => 15, "shirts" => 51, "trousers" => 44);
  usort($clothes, "evenfirst");
  var_export($clothes);
?>



usort() sorts an array based on your own predefined criteria.

 
Its syntax is: void usort(array array, string function_name)
<?
    $vocab = array("S123","A1234", "P12345", "A1234567","T");
    
    function compare_length($str1, $str2) {
         $length1 = strlen($str1);
         $length2 = strlen($str2);
    
         if ($length1 == $length2) :
              return 0;
         elseif ($length1 < $length2) :
              return -1;
         else :
              return 1;
         endif;
    }
    usort($vocab, "compare_length");
    
    while (list ($key, $val) = each ($vocab)) {
         echo "$val<br>";
    }
?>