对于每个循环赢得';不工作php

对于每个循环赢得';不工作php,php,arrays,foreach,Php,Arrays,Foreach,我很难弄清楚为什么每个循环的这个都不起作用。当我打印出结果时,它会根据salarys数组正确显示,但当我稍后尝试在代码中使用数据(执行salary*tax)时,它只执行其中一个,不会相应地循环。。我对编码非常陌生,所以请理解:P <?php $salaries =array( 635000.00, 420000.00, 260000.00, 150000.00, 550000.00, 90000.00); foreach ($salaries as $a) { if ($a >

我很难弄清楚为什么每个循环的这个都不起作用。当我打印出结果时,它会根据salarys数组正确显示,但当我稍后尝试在代码中使用数据(执行salary*tax)时,它只执行其中一个,不会相应地循环。。我对编码非常陌生,所以请理解:P

<?php




$salaries =array(
635000.00, 420000.00, 260000.00, 150000.00, 550000.00, 90000.00);
foreach ($salaries as $a)
{
if ($a >= 500000) 
{$t =0.45;
echo $t;
}
else
{
if ($a>=300000 and ($a<=500000))
{$t=0.35;
echo $t;
}
if ($a>=200000 and ($a<=300000))
{$t=0.2;
echo $t;
}
if ($a>=100000 and ($a<=200000))
{$t=0.1;
echo $t;
{
if ($a>= 100000) 
{$t =0;
echo $t;    
}}}}}




?>
($salaries[0]*$t) 

($工资[0]*$t)

工作正常,但在我为其他成员提供的数组中,它只是不断选择0.45%作为正确的税额。

尽管此代码对它所做的事情没有多大意义,但这里有一个修复方法:

$salaries =array(635000.00, 420000.00, 260000.00, 150000.00, 550000.00, 90000.00);
foreach($salaries as $a)
{
    if ($a >= 500000) 
    {
        $t =0.45;
        echo $t;
    }
    elseif ($a>=300000 and ($a<=500000))
    {
        $t=0.35;
        echo $t;
    }
    elseif ($a>=200000 and ($a<=300000))
    {
        $t=0.2;
        echo $t;
    }
    elseif ($a>=100000 and ($a<=200000))
    {
        $t=0.1;
        echo $t;
    }
    else
    {
        $t =0;
        echo $t;    
    }
}
$salaries=数组(635000.00、420000.00、260000.00、150000.00、550000.00、90000.00);
foreach(工资为$a)
{
如果($a>=500000)
{
$t=0.45;
echo$t;
}

elseif($a>=300000和($a=200000和($a=100000和($a我发现您希望计算每个工资的税费,在这种情况下(使用您的编码样式):


什么是foreach循环?上面发布的代码是一个完全的语法错误。即使它是正确的,数组中几乎所有的值都大于10000,因此最终的$t=0将始终运行,并丢弃您在其他if()测试中之前设置的任何$t。您不需要
不应该
if($a>=100000)
be
if($acan你能解释一下你到底想做什么吗?如果你是新手,我们可以帮你,但代码太乱了。我终于自己弄明白了;)!谢谢你的关注tho@user2836607这可能是什么吗?
<?php
$salaries = array(
  635000.00,
  420000.00,
  260000.00,
  150000.00,
  550000.00,
  90000.00
);
foreach ($salaries as $salary) {
  if ($salary >= 500000) {
    $tax = 0.45;
    echo "<p>Salary: $salary x Tax: $tax = " . $salary * $tax . "</p>";
  } else {
    if ($salary >= 300000 and ($salary <= 500000)) {
      $tax = 0.35;
      echo "<p>Salary: $salary x Tax: $tax = " . $salary * $tax . "</p>";
    }
    if ($salary >= 200000 and ($salary <= 300000)) {
      $tax = 0.2;
      echo "<p>Salary: $salary x Tax: $tax = " . $salary * $tax . "</p>";
    }
    if ($salary >= 100000 and ($salary <= 200000)) {
      $tax = 0.1;
      echo "<p>Salary: $salary x Tax: $tax = " . $salary * $tax . "</p>"; {
        if ($salary <= 100000) {
          $tax = 0;
          echo "<p>Salary: $salary x Tax: $tax = " . $salary * $tax . "</p>";
        }
      }
    }
  }
}
?>
Salary: 635000 x Tax: 0.45 = 285750
Salary: 420000 x Tax: 0.35 = 147000
Salary: 260000 x Tax: 0.2 = 52000
Salary: 150000 x Tax: 0.1 = 15000
Salary: 550000 x Tax: 0.45 = 247500