2011-11-08 7 views
1

は、私がこのようなオブジェクトを持っている:私のプログラムを通してarray_unique()をオブジェクトの処理に適用/利用するにはどうすればよいですか?

class Log 
{ 
    public matches; 

    public function __construct() 
    { 
     $this->matches = array(); 
    } 
} 

class Match 
{ 
    public owner; 
    public stuff; 
} 

を、私はLogオブジェクトの配列の一致を反復処理を経て$owner$stuffおよびアクセス、そこにデータを保存します。私が思っているのは、すべてのユニークな所有者のリストを含む配列を取得する方法です。例えば

、私は次の情報を持っている場合:

Bill SomeStuff 
Bob SomeOtherStuff 
Stan MoreOtherStuff 
Bill MoreOfBillsStuff 
Bill BillhasLotsofStuff 

をどのように私は単にBillBobを含む配列を取得して行くのです、Stan

+0

をあなたが求めているものと一致する配列。代わりに、データのコピーを防ぐ「FilterIterator」でもこれを行うことができますが、配列ではなくイテレータを返すことになります。 - しかし、とにかく、これまでに何を試してみましたか、あなたの問題がどこにあるのか疑問に思っています。 – hakre

答えて

0

これは、あなたが所有者のリストを返すためにLogクラスに追加できる例の関数である。そして、一致配列を反復し、唯一の新しいにそれらの項目を入れて、新しい配列を作成することにより

function getOwners() 
{ 
    $owners = array(); 
    foreach($this->matches as $match) 
    { 
     $owners[$match->owner] = 0; 
    } 

    return array_keys($owners); 
} 
+0

これは私が探していたものです。私はまだ比較的新しいPHPだから、ときどき何ができているのだろうと思っていないのだろうか。これはまさに私が必要とすることです。名誉! –

関連する問題