3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Demo { public function __construct(private string $val) { } public function get_sku() { return [ 'abc' => 1, 'def' => 2, 'ghi' => 3, 'jkl' => 4, ][$this->val]; } } $cart = (object) [ 'cart_contents' => [ ['data' => new Demo('ghi')], ['data' => new Demo('def')], ['data' => new Demo('jkl')], ['data' => new Demo('abc')], ] ]; $skus = []; $items_to_sort = []; foreach ($cart->cart_contents as $item ) { $skus[] = $item['data']->get_sku(); } array_multisort($skus, $cart->cart_contents); var_export($cart->cart_contents);
Output for 8.2.0 - 8.2.30, 8.3.0 - 8.3.29, 8.4.1 - 8.4.14, 8.4.16, 8.5.0 - 8.5.2
array ( 0 => array ( 'data' => \Demo::__set_state(array( 'val' => 'abc', )), ), 1 => array ( 'data' => \Demo::__set_state(array( 'val' => 'def', )), ), 2 => array ( 'data' => \Demo::__set_state(array( 'val' => 'ghi', )), ), 3 => array ( 'data' => \Demo::__set_state(array( 'val' => 'jkl', )), ), )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.1.0 - 8.1.34
array ( 0 => array ( 'data' => Demo::__set_state(array( 'val' => 'abc', )), ), 1 => array ( 'data' => Demo::__set_state(array( 'val' => 'def', )), ), 2 => array ( 'data' => Demo::__set_state(array( 'val' => 'ghi', )), ), 3 => array ( 'data' => Demo::__set_state(array( 'val' => 'jkl', )), ), )

preferences:
116.19 ms | 410 KiB | 5 Q