$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
,$sWall
为mysql_num_rows
。如果$sOther
中有1个,$sWC
中有1个,$sWall
中有1个,我希望回复例如(3)。
我怎么能这样做,我所做的只是我尝试过的事情。
答案 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
:
>=