$mid = '1294917455';
$aProps = array(1,2,3);
if ( !$mid = stripcslashes($mid) || !is_array( $aProps)) {
echo $mid;
}
这个$mid你们知道是多少不?
上次两段代码打印出来的mid为什么区别这么大,求解释
$mid = '1294917455';
$aProps = array(1,2,3);
if ( (!$mid = stripcslashes($mid)) || !is_array( $aProps)) {
echo $mid;
}
对于
if ( !$mid = stripcslashes($mid) || !is_array( $aProps))||运算符优先级高于=, 所以, 上面代码PHP执行时顺序为
if ( !$mid = (stripcslashes($mid) || !is_array( $aProps)))另1/3楼所说将=错看==也不见得..在条件表达式中使用赋值, 是一种编程手法, 可以让你的代码更加紧凑, 比如数据库操作中经常使用的
while($row = mysql_fetch_xxx()) {
}
所谓条件表达式是一个代表布尔值的表达式, 在PHP的处理中, 这里的条件表达式可以是任意表达式, PHP在if(), while()等需要布尔值的地方, 会自动将其转换为布尔值.因此, 那里用什么符号是不重要的, 重要的是整个表达式的返回值.对于楼主的问题而言, 其中有一个赋值表达式, 赋值表达式的返回值是其左值经过计算的值...
while(xxx = read){
statement;
}