%2在以下php中做了什么?
$id=(int)@$_REQUEST['id'];
echo ( !($id%2) )?
"{'id':$id,'success':1}":
"{'id':$id,'success':0,'error':'Could not delete subscriber'}";
Run Code Online (Sandbox Code Playgroud)
Joe*_*oey 17
%是模数运算符.% 2因此,除以2之后的余数,所以0(如果$id是偶数)或1(如果$id是奇数).
该表达式!($id % 2)使用自动转换为布尔值(其中0表示false,所有非零表示true)并取消结果.因此,如果$id是偶数且false如果它是奇数,则该表达式的结果是真的.这也决定了echo那里的印刷品.显然,$id信号成功的价值均匀.
写一个稍微复杂但可能更容易理解的方式来编写上述语句将是:
if ($id % 2 == 0)
echo "{'id':$id,'success':1}";
else
echo "{'id':$id,'success':0,'error':'Could not delete subscriber'}";
Run Code Online (Sandbox Code Playgroud)
但这会破坏三元运营商的所有乐趣.尽管如此,我还是写了这个条件不是,!($id%2)而是作为($id % 2 != 0).错误使用整数作为布尔值有时会导致一些难以诊断的错误:-)
| 归档时间: |
|
| 查看次数: |
14257 次 |
| 最近记录: |