Array
(
[0] => stdClass Object
(
[goal_status_name] => Not Started
)
[1] => stdClass Object
(
[goal_status_name] => Completed
)
[2] => stdClass Object
(
[goal_status_name] => Pending
)
)
如果要使用计数代码,则要在上面的数组中搜索字符串值。如果不存在,则要使用php代码搜索不等于0的字符串值。
$string = "Not Started";
$count = 0;
if(in_array($string, $data)){
$count++;
$val = $count;
}
答案 0 :(得分:1)
只需添加注释作为答案,从PHP 7开始,您可以将array_column()
与对象作为输入,因此只需使用...
$string = "Not Started";
$count = 0;
if(in_array($string, array_column($data,"goal_status_name"))){
$count++;
$val = $count;
}
答案 1 :(得分:0)
如果它是对象数组,则可以执行以下操作:
$count = 0;
foreach ($objects as $object) {
if($object->goal_status_name == 'Not Started'){
$count++;
}
}
答案 2 :(得分:0)
您没有关联数组。您有一个带有对象的索引数组。
您可以通过简单的foreach循环来实现
$string = "Not Started";
$count = 0;
foreach ($data as $obj) {
if ($obj->goal_status_name === $string) {
$count++;
}
}
现在,在循环之后,要查看至少一个对象是否包含该字符串,您可以执行以下操作:
if ($count > 0) {
echo 'Match found';
}
如果您想知道 all 个对象是否包含该字符串,则可以执行以下操作:
if ($count > 0 && $count == count($data)) {
echo 'All objects match';
}
$count
仅包含匹配数。