3v4l.org

run code in 300+ PHP versions simultaneously
<?php $entity_a = new stdClass; $entity_a->weight = 2; $entity_a->label = 'foo'; $entity_b = clone $entity_a; $entity_b->label = 'bar'; $list = array($entity_a, $entity_b); usort($list, 'xsort'); echo 'entity b =' . var_dump($entity_b); echo 'entity a =' . var_dump($list[0]); function xsort($a, $b) { $a_weight = isset($a->weight) ? $a->weight : 0; $b_weight = isset($b->weight) ? $b->weight : 0; if ($a_weight == $b_weight) { $a_label = $a->label; $b_label = $b->label; return strnatcasecmp($a_label, $b_label); } return ($a_weight < $b_weight) ? -1 : 1; }

preferences:
47.85 ms | 402 KiB | 5 Q