我需要檢查是否有任何對象數組中包含某個變量值。如何遍歷PHP中的對象數組?用對象方法,類的靜態方法?
I.E.如果$object_array
包含15個$object
對象,我想知道是否其中一個將$type
屬性設置爲$some_type
。 函數的內部並不是真的那麼重要,因爲它訪問$object
的公共方法get
。我可以使用foreach,或array_walk,或其他。我的問題的癥結在於,我在哪裏放置這種方法?
的功能應該是這樣的:
public function hasSomeType($object_array,$some_type) {
foreach($object_array as $object) {
if($object->get('type') == '$some_type') {
return true;
}
}
return false;
}
所有測試對象將有訪問的$ type屬性通過其公共get
方法。
我應該把這個方法放在哪裏?我應該把它作爲$object
的課程的靜態方法嗎?
或者我應該創建一個新類,並使用它的一個對象來執行此操作。
我對PHP的內置結構(如「Iterator」)以及它們如何使用非常陌生。我不知道他們是否適用於我的情況。我將不勝感激任何幫助,我可以得到。
謝謝。編號: 注意我修正了上面的函數。把「return false」放在正確的地方,並放入函數簽名。
EDIT2:更改函數名稱並添加$some_type
參數,希望更清楚地說明我正在檢查$type
屬性的某個值。但是,問題仍然是「我在哪裏使用這種方法」?
把它放進一個實用工具類的靜態方法。也許有時PHP會有擴展方法和原生linq支持。 – MikeSW
我可能傾向於把它放在幫手中。 –