私はこの関数を持っています。これは、一致するキー=>値のペアを検索するためにオブジェクトの配列を反復処理します。より簡単な(またはより優雅な)方法がないかどうか知りたいです:
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;
}