我有一个像下面这样的PHP对象,我想知道最简单的方法是获取属性'typeId'= 3
的对象计数Array
(
[0] => ABC Object
(
[id] => 13
[typeId] => 3
[sortOrder] => 0
)
[1] => ABC Object
(
[id] => 12
[typeId] => 2
[sortOrder] => 0
)
[2] => ABC Object
(
[id] => 14
[typeId] => 4
[sortOrder] => 0
)
[3] => ABC Object
(
[id] => 15
[typeId] => 3
[sortOrder] => 0
)
)
答案 0 :(得分:3)
一个简单的foreach
计数器应该:
$count = 0;
foreach ($array as $object) {
if ($object->typeId == 3) $count++;
}
无需过度复杂化
答案 1 :(得分:1)
从我的观点来看,一个更好的解决方案是使用array_filter
函数:
$newarray = array_filter( $old_array, function($object) { return $object->typeId == 3; } );
(注意:内联函数仅在PHP 5.3起作用)
答案 2 :(得分:0)
只需创建一个名为objectCount
或类似的临时变量,循环遍历数组,当找到typeId等于3的对象时,将{1}添加到objectCount
。