在php中使用for循环和if

在php中使用for循环和if,php,if-statement,for-loop,Php,If Statement,For Loop,我使用for进行循环,这会产生一些值: $value1,$value2,$value3,$value4 如何计算这些值或它们之间的关系 例如,如果任何两个v1美元){ foreach(价值为$k2=>$v2){ 如果($v1+v2)$dat的值){//因为我们有来自$\u POST的值,所以我们使用foreach语句来循环它 如果($dat2)?@“您失败了”:@“成功”;//检查其值是否超过2个小于40个。 类似上面的东西 试着读一下 顺便说一句,最近php代码不多,所以对一些语法表示歉意为

我使用
for
进行循环,这会产生一些值:

$value1
$value2
$value3
$value4

如何计算这些值或它们之间的关系

例如,如果任何两个<40的值都有回声

我希望通过一些代码可以明确这一点:

<?php
    $value=$_POST['name']; 
    for($i=1;$i<=$value;$i++)
    {
        $value{$i}=$_POST['name{$i}'];
    }

    if($value{$i} < 40)
    {
        echo "you failed";
    }
    else
    {
        echo "you succeeded";
    } 
?>

如果两个值小于40,我想显示消息“youfailed”


我该怎么做呢?

我正在努力弄清楚您当前的代码实际上在做什么,但这可能只是因为我的PHP有点生疏。不管是哪种方式,听起来你试图做的事情的一般模式是记录失败和成功的次数。作为一个整体结构(也就是说,不要按原样复制/粘贴,因为我不知道您的
$value
实际上在这里是什么),它可能看起来像这样:

$fails = 0;
$successes = 0;

for ($i = 0; $i < len($values); $i++)
{
    if ($values[$i] < 40)
    {
        $fails++;
    }
    else
    {
        $successes++;
    }
}

只要任意两个值相加小于40,就会显示“failed”(失败)消息并退出循环。如果没有,则显示成功消息

$x = false;
foreach ($value as $k1 => $v1) {
      foreach ($value as $k2 => $v2) {
           if (($v1 + $v2) < 40 && ($k1 != $k2)) {
               echo "you failed";
               $x = true;
               break (2);
           }
       }
}
if (!$x) echo "you succeeded";
$x=false;
foreach($k1=>v1美元){
foreach(价值为$k2=>$v2){
如果($v1+v2)<40&($k1!=$k2)){
回应“你失败了”;
$x=真;
断裂(2);
}
}
}
如果(!$x)回显“您成功”;

要回答您的问题,您可以使用
foreach
语句

$value=$_POST['name']; 
$hasValue = 0;
foreach($value as $key => $dat){ // since we have the value from $_POST we use foreach statement to loop it

    if($dat < 40){ // check if the data in the list is less than 40
         $hasValue++; // increment it if is.
    }

  }


 echo ($hasValue > 2)?@"You failed":@"Success"; // check if it has more than 2 less than 40 values.
$value=$\u POST['name'];
$hasValue=0;
foreach($key=>$dat的值){//因为我们有来自$\u POST的值,所以我们使用foreach语句来循环它
如果($dat<40){//检查列表中的数据是否小于40
$hasValue++;//如果是,则递增。
}
}
echo($hasValue>2)?@“您失败了”:@“成功”;//检查其值是否超过2个小于40个。
类似上面的东西

试着读一下


顺便说一句,最近php代码不多,所以对一些语法表示歉意

为什么不使用foreach?@Joshua你能解释得更详细一些吗?检查我的答案并在其上添加了一些注释。你想测试两个值之和是否小于40吗?@bozdoz:很好,谢谢。我的徒手PHP绝对不是以前的样子。为什么需要2 foreach?我认为OP是在测试数组中的任意两个值的总和是否为40“例如,如果任意两个值<40,则返回某个值?”。如果他们不是这样问的,我会删除我的答案
$value=$_POST['name']; 
$hasValue = 0;
foreach($value as $key => $dat){ // since we have the value from $_POST we use foreach statement to loop it

    if($dat < 40){ // check if the data in the list is less than 40
         $hasValue++; // increment it if is.
    }

  }


 echo ($hasValue > 2)?@"You failed":@"Success"; // check if it has more than 2 less than 40 values.