Php 计算foreach循环中的条件输出

Php 计算foreach循环中的条件输出,php,if-statement,foreach,Php,If Statement,Foreach,我有这样的每个循环 foreach($destinations as $destination) { if($destination=="abc") { $msg = "Yes"; } else { $msg = "No"; } } 如何计算“foreach循环”之外的“if语句”生成的“Yes”和“No”的数量?试试: $yes = 0; $no = 0; foreach($destinations as $destination) { if($destination=="abc

我有这样的每个循环

foreach($destinations as $destination)
{
if($destination=="abc")
{
 $msg = "Yes";
}
else
{
 $msg = "No";
}
}
如何计算“foreach循环”之外的“if语句”生成的“Yes”和“No”的数量?

试试:

$yes = 0;
$no = 0;
foreach($destinations as $destination)
{
    if($destination=="abc")
    {
        $yes += 1;
    }
    else
    {
        $no += 1;
    }
}

echo "Yes " . $yes . "<br>" . "No " . $no;
$yes=0;
$no=0;
foreach($destinations作为$destination)
{
如果($destination==“abc”)
{
$yes+=1;
}
其他的
{
$no+=1;
}
}
回应“是”$对“
”。“不”$不
在“如果”语句中,您可以尝试以下方法

    $yesCount = 0;
    $noCount = 0;
    foreach($destinations as $destination)
    {
      if($destination=="abc")
      {
        $yesCount++;
        $msg = "Yes";
      }
      else
      {
        $noCount++;
        $msg = "No";
      }

    }

但我不确定它是否可以在外部使用。

创建两个标志变量并尝试此操作

$yesFlag=0;
$noFlag=0;
foreach($destinations as $destination)
{
 if($destination=="abc")
 {
  $msg = "Yes";
  $yesFlag++;  
 } 
 else
 {
   $msg = "No";
   $noFlag++;
 }
}
echo "no. of Yes:".yesFlag;
echo "no. of NO:".noFlag;
使用array_count_values()函数,完全不需要循环

array_count_values($destinations);
试试下面的例子:


这如何计算
$destinations
中的
“abc”
元素的数量?这个问题是个笑话,对吧?一个有能力的程序员怎么会不知道如何做到这一点呢?这不是开玩笑,我只是从早上开始就厌倦了编码,因此我的思维水平现在处于最低水平:D
array_count_values($destinations);
<?php
$destinations = array('abc','def','ghi');
foreach($destinations as $destination)
{
if($destination=="abc")
{
 $msg = "Yes";
 $msg_yes_counter[]= "I'm in"; 
}
else
{
 $msg = "No";
 $msg_no_counter[]= "I'm in";
}
}
echo "YES -> My Count is :".count($msg_yes_counter);
echo "NO -> My Count is :".count($msg_no_counter);
?>