fork download
  1. <?php
  2. class Comparator {
  3. public function __get($x) {
  4. return function($a, $b)use($x) {return strcasecmp($a[$x], $b[$x]);};
  5. }
  6. }
  7.  
  8. $_ = new Comparator;
  9.  
  10. $data = array(
  11. array('name' => 'xyu', 'length' => '30'),
  12. array('name' => 'pizda', 'length' => '0'),
  13. array('name' => 'dzhigurda', 'length' => '200')
  14. );
  15.  
  16. usort($data, $_->name);
  17.  
  18. var_dump($data);
Success #stdin #stdout 0.01s 82560KB
stdin
Standard input is empty
stdout
array(3) {
  [0]=>
  array(2) {
    ["name"]=>
    string(9) "dzhigurda"
    ["length"]=>
    string(3) "200"
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "pizda"
    ["length"]=>
    string(1) "0"
  }
  [2]=>
  array(2) {
    ["name"]=>
    string(3) "xyu"
    ["length"]=>
    string(2) "30"
  }
}