3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $entity_a = new stdClass; $entity_a->weight = 32; $entity_a->label = 'foo'; $entity_b = clone $entity_a; $entity_b->label = 'bar'; $list = array($entity_a, $entity_b); usort($list, 'xsort'); echo var_dump($entity_b); echo var_dump($list[0]); if ($entity_b === $list[0]) { echo 'success'; } 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) { echo 'yay'; $a_label = $a->label; $b_label = $b->label; return strnatcasecmp($a_label, $b_label); } return ($a_weight < $b_weight) ? -1 : 1; }
based on e5tkR
Output for 5.0.0 - 7.2.0
yayobject(stdClass)#2 (2) { ["weight"]=> int(32) ["label"]=> string(3) "bar" } object(stdClass)#2 (2) { ["weight"]=> int(32) ["label"]=> string(3) "bar" } success
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_VARIABLE in /in/oL6vC on line 7
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_VARIABLE in /in/oL6vC on line 7
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/oL6vC on line 7
Process exited with code 255.