在处理项目中的DateTime时,如果使用array_unique来处理对象元素组成的数组,可能会出现重复问题(仅限于DateTime)。请参见以下代码:
class simpleClass
{
public $dt;
function __construct($dt)
{
$this->dt = $dt;
}
}
$dateObj = new simpleClass(new DateTime);
$std = new stdClass;
$arr = [$dateObj, $dateObj, $std, $std, $std, $std];
var_dump(array_unique($arr, SORT_REGULAR));
预期有1个日期对象元素,但实际上有2个