0

私はこのようなforeachループを持っています

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

「foreachループ」の外で「if文」によって生成された「はい」と「いいえ」の数をカウントするにはどうすればよいですか?

4

6 に答える 6

2

試す:

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

echo "Yes " . $yes . "<br>" . "No " . $no;
于 2013-01-08T10:29:41.923 に答える
2

「if」ステートメント内でこれを試すことができます

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

    }

ただし、屋外で使用できるかどうかはわかりません。

于 2013-01-08T10:30:23.037 に答える
1

2 つのフラグ変数を作成して、これを試してください

$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;
于 2013-01-08T10:31:48.113 に答える
1
$yesCount = 0;
$noCount = 0;
    foreach($destinations as $destination) {
        if($destination=="abc") {
            $msg = "Yes";
            $yesCount = $yesCount + 1;
        }
        else {
            $msg = "No";
            $noCount = $noCount + 1;
        }
    }
echo $yesCoynt . " --- " . $noCount;
于 2013-01-08T10:31:57.553 に答える
1

次の例を試してみてください。

<?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);
?>
于 2013-01-08T10:34:17.327 に答える
0

array_count_values() 関数を使用すると、ループはまったく必要ありません。

array_count_values($destinations);
于 2013-01-08T10:33:36.287 に答える