Nasıl çiftleri PHP bir nesne dizide kaldırabilirim?

2 Cevap php

Ben böyle bir nesne var:

class FanStruct{
    public $date; 
    public $userid;

    function __construct($date, $id){
    	$this->date = $date;
    	$this->userid = $id;
    }
}

Ben bir dizide 30 tanesi maksimum var ve onlar $userid göre sıralanır.

Dizi olsa gitmek, ve $userid dayalı yinelenen nesneleri kaldırmak için en iyi yolu nedir (gözardı $date)?

2 Cevap

Burada en azından başlamak gerektiğini basit bir test bulunuyor. Sizin __ toString yöntemi FanStruct sizin örneklerini teklik oluşturmak için daha ayrıntılı olması gerekebilir

<?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>
$temp = array($fans[$x]);
for(var $x=1;$x<sizeof($fans);$x++) {
  if ($fans[$x]->userid != $fans[$x]->userid)
     $temp[] = $fans[$x];
}

Geçici bir değişken gerektirir, ama çalışıyor.