0
私はクラスのコレクションを持っており、配列内で一意であるかどうかをフィルタリングする必要があります。クラスを持つ配列:一意性をチェックしてください
私のアプローチ:
public function unique() {
$uniqueStreams = [];
foreach($this->streams as $stream) {
if(!in_array($stream, $uniqueStreams)) {
$uniqueStreams[] = $stream;
}
}
return new static($uniqueStreams);
}
問題は(少なくとも、それは私が調査したものです)、そのクラス名のexistanceのためにそのin_array
のみをチェックしているが、私は、彼らがいないだことを確認する必要があります同一のクラスからのものであることが望ましい)。
'array_unique($ this-> streams、SORT_REGULAR)'はあなたのために機能しませんか? – apokryfos
一意性の基準は何ですか? –
@apokryfosうん、それは私にとってはうまくいかない。上記のように動作しますが、インスタンスをチェックするだけですが、プロパティが異なる場合でも同じインスタンスに基づいていても、それらはまだ一緒ではありません。 – jens1o