当前位置: 代码迷 >> PHP >> 关于运算符的有关问题。为毛这样
  详细解决方案

关于运算符的有关问题。为毛这样

热度:112   发布时间:2012-09-09 09:27:54.0
关于运算符的问题。为毛这样?
PHP code

if($item[$column_name] .$operation. $info)
        {
            echo $item[$column_name] .$operation. $info;echo '=====true';echo '<br>';
            return true;
        }else{
            echo $item[$column_name] .$operation. $info;echo '=====false';echo '<br>';
            return false;
        }
输出:
508205462=505765854=====true
10>1234567=====true
20<66666=====true

解释:$item[$column_name] 的结果就相当于运算符的第一个 ,$operation是运算符,$info是值,为什么直接写if(10>1234567)返回假,用程序运算出来全部为真??




------解决方案--------------------
因为有“.”,所以你那些变量当做字符串连接起来了
如果想让他们当做表达式运算,需用 eval 函数

eval('return '. $item[$column_name] .$operation. $info. ';')
  相关解决方案