我是php的一个完整的新手,但无论如何,这里是:
我想计算下面数组中["completed"]=> bool(true)
的数量。
我能够通过这样做来计算总数:$totalCount = count($object->data);
。我是否需要foreach()
才能获得completed
的数量,或者我可以通过做某种count()
来解决这个问题?
谢谢!
object(stdClass)#2 (1) {
["data"]=>
array(232) {
[0]=>
object(stdClass)#3 (2) {
["id"]=>
int(13081073106396)
["completed"]=>
bool(true)
}
[1]=>
object(stdClass)#4 (2) {
["id"]=>
int(13160080793822)
["completed"]=>
bool(false)
}
答案 0 :(得分:0)
我觉得这样的事情可能有用:
var $count = 0;
foreach($stdClass->data as $obj)
if($obj->completed)
$count++;
答案 1 :(得分:0)
考虑$ oObject是你的对象
$array = json_decode(json_encode($oObject),true);
然后应用简单的数组计数,如
echo count($array);
它将返回数据的总数。希望这会有所帮助!
答案 2 :(得分:0)
使用回调来计算:
$countCompleted = 0;
array_map(function ($n) use $countCompleted {
if ( $n->completed === true )
$countCompleted ++;
}, $objectMap->data );