在数组中计数,其中值为0

sko*_*ind 0 php arrays count

我真的被困在这里了.我有一个如下所示的阵列.现在我想计算postStatus,其中postStatus = 0,适用于所有数组.

所以在这种情况下会有2.但我该怎么做?

Array
(
[1] => Array
    (
        [postId] => 1
        [postHeader] => Post-besked #1
        [postContent] => Post content #1 
        [postDate] => 2011-12-27 17:33:11
        [postStatus] => 0
    )

[2] => Array
    (
        [postId] => 2
        [postHeader] => Post-besked #2 
        [postContent] => POst content #2
        [postDate] => 2011-12-27 17:33:36
        [postStatus] => 0
    )
)
Run Code Online (Sandbox Code Playgroud)

Mat*_*lin 5

只需循环外部数组,检查是否有postStatus,增加一个值以保持计数,你就完成了......

$postStatus = 0;
foreach($myarray as $myarraycontent){
    if(isset($myarraycontent['postStatus']) && $myarraycontent['postStatus'] == 0){
        $postStatus++;
    }
}
echo $postStatus;
Run Code Online (Sandbox Code Playgroud)

编辑:

我忘了提到可以使用isset()但是更好的实践是使用array_key_exists,因为如果$ myarraycontent ['postStatus']为NULL,它将返回false.这就是isset()的工作原理......