我有这个函数,它在搜索匹配键=>值对中遍历一个对象数组。我很好奇,如果没有更容易(或更优雅)的方式:PHP - 计数对象数组中的类属性
function count_class_attr($objects, $obj_key, $obj_val) {
$count = 0;
foreach ($objects as $object) {
foreach ($object as $key => $value) {
if ($key == $obj_key && $value == $obj_val){
$count ++;
}
}
}
return $count;
}
我觉得下面更接近我所寻找的。我正在循环一个对象数组,而不是数组数组 - 下面的函数会尽可能高效吗?
function count_class_attr($objects, $obj_key, $obj_val) {
$count = 0;
foreach ($objects as $object) {
if (property_exists($object, $obj_key)) {
if($object->$obj_key == $obj_val) { $count ++; }
}
}
return $count;
}
你可以使用['array_walk'](http://us2.php.net/manual/en/function.array-walk.php)。 – 2012-07-18 00:39:52
深度总是2? – 2012-07-18 00:53:19
是的,深度总是两个 – 2012-07-18 15:08:57