<?php
class SortMadness {
private $data;
public function __construct($data) {
$this->data = $data;
}
public function __toString() {
$data = array_merge($this->data);
sort($data);
$rs = implode('-', $data);
echo $rs."\n";
return $rs;
}
}
// expected result is ['c','b'],['c','b','a']
$a = array(
new SortMadness(array('c','b')),
new SortMadness(array('c','b','a')),
new SortMadness(array('a','b','c')),
);
$rs = array_unique($a, SORT_STRING);
print_r($rs);
/*
usort($a, 'strcmp');
print_r($a);
*/
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- b-c
a-b-c
a-b-c
Array
(
[0] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => c
[1] => b
)
)
[1] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => c
[1] => b
[2] => a
)
)
)
- Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.33
- b-c
a-b-c
a-b-c
a-b-c
a-b-c
a-b-c
a-b-c
b-c
Array
(
[0] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => c
[1] => b
)
)
[1] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => c
[1] => b
[2] => a
)
)
)
- Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
- a-b-c
b-c
Array
(
[0] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => c
[1] => b
)
)
[1] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => c
[1] => b
[2] => a
)
)
[2] => SortMadness Object
(
[data:SortMadness:private] => Array
(
[0] => a
[1] => b
[2] => c
)
)
)
preferences:
168.45 ms | 403 KiB | 213 Q