【问题标题】:Counting values in a conditional statement withing a foreach loop在 foreach 循环中计算条件语句中的值
【发布时间】:2014-02-03 13:52:43
【问题描述】:

我有以下 foreach 循环:

foreach($socialNetworks as $socialNetworksKey){    
    if($userUrl == NULL){
      echo $snName . ' is empty.' .  '<br/>';
     $value = 1;
    }
   elseif (strpos($userUrl,$snUrl) === false) { 
     echo $snName . '</b> address must start with <b>' . $snUrl  .  '</b><br/>';}
   else {
    echo 'Values are correct' .  '<br/>';
    $value = 1;
   }
 echo 'Value equals ' . count($value) .  '<br/>';
 }

foreach 循环源是一个数组。 foreach 循环可以正常工作。

虽然我希望得到 $value 的计数/总和。例如,如果数组的“if”和“else”语句是正确的,并且我有 4 个数组,这将计为 4。如果 4 个数组中有 3 个是正确的,则总和将为 3。

我尝试使用它,它工作了here,但是当我回显它时,它显示了一个的所有数字并一直在做一个求和,但我只想计算 $value 并显示最终值;

【问题讨论】:

    标签: php arrays foreach


    【解决方案1】:

    您需要将 echo 放在 foreach 循环之外。我会做以下事情:

    $value = 0;
    foreach($socialNetworks as $socialNetworksKey){    
        if($userUrl == NULL){
          echo $snName . ' is empty.' .  '<br/>';
          $value++;
        }
       elseif (strpos($userUrl,$snUrl) === false) { 
          echo $snName . '</b> address must start with <b>' . $snUrl  .  '</b><br/>';}
       else {
          echo 'Values are correct' .  '<br/>';
          $value++;
       }
     }
     echo 'Value equals ' . $value .  '<br/>';
    

    【讨论】:

      【解决方案2】:

      我觉得应该是的

      $value += 1;
      

      相同
      $value = $value + 1;
      

      而不是

      $value = 1;
      

      你应该把这条线放在foreach循环之外

      echo 'Value equals ' . count($value) .  '<br/>';
      

      所以你应该有这个。

      foreach($socialNetworks as $socialNetworksKey){    
          if($userUrl == NULL){
              echo $snName . ' is empty.' .  '<br/>';
              $value += 1;
          }elseif (strpos($userUrl,$snUrl) === false) { 
              echo $snName . '</b> address must start with <b>' . $snUrl  .  '</b><br/>';}
          else {
              echo 'Values are correct' .  '<br/>';
              $value += 1;
          }
      }
      echo 'Value equals ' . count($value) .  '<br/>';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 2017-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多