オブジェクトの配列内のオブジェクトに特定の変数値が含まれているかどうかを確認する必要があります。
IE$object_array
に 15 個のオブジェクトが含まれている場合、そのうちの 1 つでもプロパティが に設定され$object
ているかどうかを知りたいです。の publicメソッドにアクセスするため、関数の内部はそれほど重要ではありません。foreach や array_walk などを使用できます。私の質問の要点は、このメソッドをどこに置くかです。$type
$some_type
get
$object
関数は次のようになります。
public function hasSomeType($object_array,$some_type) {
foreach($object_array as $object) {
if($object->get('type') == '$some_type') {
return true;
}
}
return false;
}
テストされたすべてのオブジェクトには、パブリックget
メソッドによってアクセス可能な $type プロパティがあります。
このメソッドはどこに置くべきですか?$object
のクラスの静的メソッドにする必要がありますか?
または、新しいクラスを作成し、そのオブジェクトの 1 つを使用してこの操作を実行する必要があります。
「イテレータ」などの PHP の組み込み構造とその使用方法について、私は非常によく知りません。それらが私の状況に当てはまるかどうかはわかりません。私が得ることができる助けを大いに感謝します。
ありがとうございました。
編集:上記の機能を修正したことに注意してください。「return false」を適切な場所に置き、関数の署名を入れます。
EDIT2:関数名を変更し、引数を追加して、プロパティの値を$some_type
チェックしていることをより明確にしたいと考えています。$type
しかし、問題は依然として「このメソッドをどこに配置すればよいか」です。