echo是一个语句,不能这样运行的。
把$a==1 ? echo ("ok") : echo ("no");
改成$flag = $a==1 ? 1 : 0;
if ($flag) echo "ok";
else echo "no";

解决方案 »

  1.   

    <?php
    $a=1;
    $a=1 ? echo ("ok") : echo ("no");
    ?>
    试试
      

  2.   

    三元操作符里面的是表达式,不是语句,首先这点你们应该弄清楚。echo是一个语句,不是一个函数,这是最容易弄混的。
      

  3.   

    myvicy(在线解决:你的问题我来解决(因为我不会骗人,所以我最) 
    你的答复 . .... ... . ..
      

  4.   

    <?php
    $a=1;
    echo $a==1 ? "ok" : "no";
    ?>
      

  5.   

    myvicy的回答很让我吃惊,真的是一个星用户吗?或者是非PHP版的人?
      

  6.   

    hualy(诚实的狐狸) 的方法最好。
      

  7.   

    把echo换成print即可原因:
    echo是指令而不是函数,他没有返回值,不能用于需要有返回值的地方。比如三元操作符、or操作符
    当然写成
    echo $a==1 ? "ok" : "no";
    是最妥当的,不会产生歧义
      

  8.   

    <?php
    $a=1;
    // $a==1 ? echo ("ok") : echo ("no");//这里是个大错误啊不允许有输出语句只允许有表达式
             $a==1 ? $msg="OK":$msg="NO";
             echo $msg;
    ?>
      

  9.   

    <?php
    $a=1;
    echo $a==1 ? "ok" : "no";
    ?>最好的