<?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.19, 8.3.0 - 8.3.7
- 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.1.0 - 8.1.28
- 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:
52.78 ms | 402 KiB | 62 Q