Bug #62977 [PATCH]: array_unique() misbehaves with array of DateTimes
Edit report at https://bugs.php.net/bug.php?id=62977&edit=1
ID: 62977
Patch added by: laruence@php.net
Reported by: ladislav at marek dot su
Summary: array_unique() misbehaves with array of DateTimes
Status: Assigned
Type: Bug
Package: Class/Object related
Operating System: Linux
PHP Version: 5.4Git-2012-08-30 (Git)
Assigned To: laruence
Block user comment: N
Private report: N
New Comment:
The following patch has been added/updated:
Patch Name: bug62977.patch
Revision: 1346341925
URL: https://bugs.php.net/patch-display.php?bug=62977&patch=bug62977.patch&revision=1346341925
Previous Comments:
------------------------------------------------------------------------
[2012-08-30 13:24:49] ladislav at marek dot su
Description:
------------
array_unique() returns duplicates for array which contains objects with DateTime
instances.
Test script:
---------------
<?php
class Foo
{
public $dt;
function __construct($dt)
{
$this->dt = $dt;
}
}
$foo = new Foo(new DateTime);
$std = new stdClass;
$arr = [$foo, $foo, $std, $std, $std];
var_dump(array_unique($arr, SORT_REGULAR));
Expected result:
----------------
array(4) {
[0]=>
object(Foo)#1 (1) {
["dt"]=>
object(DateTime)#2 (3) {
["date"]=>
string(19) "2012-08-30 15:18:01"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Prague"
}
}
[2]=>
object(stdClass)#3 (0) {
}
}
Actual result:
--------------
array(4) {
[0]=>
object(Foo)#1 (1) {
["dt"]=>
object(DateTime)#2 (3) {
["date"]=>
string(19) "2012-08-30 15:18:01"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Prague"
}
}
[1]=>
object(Foo)#1 (1) {
["dt"]=>
object(DateTime)#2 (3) {
["date"]=>
string(19) "2012-08-30 15:18:01"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Prague"
}
}
[2]=>
object(stdClass)#3 (0) {
}
[4]=>
object(stdClass)#3 (0) {
}
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62977&edit=1
Thread (7 messages)