History of Idiom 28 > diff from v28 to v29
Edit summary for version 29 :
[PHP] matching naming conventions
[PHP] matching naming conventions
↷
Version 28
2016-02-18, 15:34:44
Version 29
2016-02-18, 15:37:16
Idiom #28 Sort by a property
Sort elements of array-like collection items in ascending order of x.p, where p is a field of type Item of the objects in items.
Idiom #28 Sort by a property
Sort elements of array-like collection items in ascending order of x.p, where p is a field of type Item of the objects in items.
Code
class Test { public $p; public function __construct($p) { $this->p = $p; } } function cmp($a, $b) { if ($a->p == $b->p) { return 0; } return ($a->p < $b->p) ? -1 : 1; } $arr[] = new Test(5.0); $arr[] = new Test(3.0); $arr[] = new Test(-1.0); $arr[] = new Test(2.5); usort($arr, "cmp"); foreach ($arr as $x) { echo "{$x->p}\n"; }
Code
class Item { public $p; public function __construct($p) { $this->p = $p; } } function cmp($a, $b) { if ($a->p == $b->p) { return 0; } return ($a->p < $b->p) ? -1 : 1; } $items[] = new Item(5.0); $items[] = new Item(3.0); $items[] = new Item(-1.0); $items[] = new Item(2.5); usort($items, "cmp"); // sort itemsay of Items using `cmp` function foreach ($items as $x) { echo "{$x->p}\n"; }
Comments bubble
Classic use of usort with a custom function for sorting objects by property.
Comments bubble
Classic use of usort with a custom function for sorting objects by property.