我有一个这样的对象:
class FanStruct{
public $date;
public $userid;
function __construct($date, $id){
$this->date = $date;
$this->userid = $id;
}
}
我在一个数组中最多有30个,它们按$userid
排序。
通过数组的最佳方法是什么,并根据$userid
删除重复的对象(忽略$date
)?
答案 0 :(得分:7)
这是一个简单的测试,至少应该让你开始。你的__toString方法可能需要更精细,以便为你的FanStruct实例生成唯一性
<?php
class FanStruct{
public $date;
public $userid;
function __construct($date, $id){
$this->date = $date;
$this->userid = $id;
}
public function __toString()
{
return $this->date . $this->userid;
}
}
$test = array(
new FanStruct( 'today', 1 )
,new FanStruct( 'today', 1 )
,new FanStruct( 'tomorrow', 1 )
);
print_r( array_unique( $test ) );
?>
</pre>
答案 1 :(得分:1)
$temp = array($fans[$x]);
for(var $x=1;$x<sizeof($fans);$x++) {
if ($fans[$x]->userid != $fans[$x]->userid)
$temp[] = $fans[$x];
}
需要一个临时变量,但有效。