我需要检查是否有任何对象数组中包含某个变量值。如何遍历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
我可能倾向于把它放在帮手中。 –