设置变量和计数

时间:2010-10-28 19:49:32

标签: php

$counter = "";
if($sWall>1){
    $counter = $counter + $sWall;
}
if($sWC>1){
    $counter = $counter + $sWC;
}
if($sOther>1){
    $counter = $counter + $sOther;
}
if(!(empty($counter))){
    echo "(".$counter.") ";
}

这就是我所做的不起作用。 $sOther$sWC$sWallmysql_num_rows。如果$sOther中有1个,$sWC中有1个,$sWall中有1个,我希望回复例如(3)。

我怎么能这样做,我所做的只是我尝试过的事情。

5 个答案:

答案 0 :(得分:3)

Counter是一种字符串类型。第一行应为$counter = 0;。 您应该将if ($sWall>1)更改为if ($sWall>0),依此类推......

答案 1 :(得分:1)

$counter = $sWall + $sWC + $sOther;
if ($counter) {
    echo '(' . $counter . ')';
}

就是这样;)记住:短代码是很好的代码。

答案 2 :(得分:0)

在上面的代码中,如果任何选中的值等于1,$ counter将不会递增。您应该使用if($ sWall * > = * 1)。简单地添加$sWall + $sWC + $sOther

可能更容易

答案 3 :(得分:0)

$counter = 0;
if($sWall>0){
    $counter = $counter + $sWall;
}
if($sWC>0){
    $counter = $counter + $sWC;
}
if($sOther>0){
    $counter = $counter + $sOther;
}
if($counter>0){
    echo "(".$counter.") ";
}

如果你想存储数字,请使用int,这样你就可以检查它是否大于零并回显它。

请注意,您也可以写$counter += $sWall;而不是$counter = $counter + $sWall;,因此您不必输入那么多内容。

答案 4 :(得分:0)

将数值初始化为0。这不是您的问题的根源,因为当您使用0之类的数字运算符时,PHP会将空字符串转换为+,但从逻辑上讲,最好事先说明{{1}是数字。

添加值后,请测试$counter是否大于0而不是$counter。您可以使用速记empty运算符,只需测试+=即可使整个方法更简洁。

最后,您选择了错误的比较运算符($counter)来测试您的值。如果您想加入>,请使用1

>=