我有一个功能可以做到这一点......
function coefficient_display($coeff){
if ($coeff == 1){
return '';
} elseif ($coeff == -1){
return '-';
} else {
return $coeff;
}
}
看来,如果你输入一个“格式化”的号码,它就会失败。为什么呢?
coefficient_display(1200)
提供 1200
coefficient_display('1200')
提供 1200
coefficient_display(1,200)
失败。
答案 0 :(得分:1)
因为这里没有一些“格式化”数字:foo(1,200)只有2个参数1和200。
尝试coefficient_display("1,200")
或coefficient_display("1.200")
答案 1 :(得分:1)
以下是对你所得到的一些解释。
coefficient_display('1200')gives 1200.
PHP数据类型可以互换,因此'1200'(string)
!= 1或-1。因此执行else部分。
coefficient_display(1,200) fails.
这实际上并没有失败,这会返回空白字符串。由于第一个参数是1 if ($coeff == 1)
为真,它执行return '';
行。第二个参数200
将被忽略。
希望这有帮助。
答案 2 :(得分:0)
1,200不是数字,请尝试使用coefficient_display('1,200') 并将所有'=='更改为'==='