$str = (isset($_POST['source']) ? $_POST['source'] : '');
这句话怎么理解啊。其中的问号和冒号又分别起什么作用啊。麻烦
大神们指点下。我找资料没找到。
其中source来自于 <textarea name="source" </textarea>

解决方案 »

  1.   

    这句话的意思就是如果$_POST['source']有值,就取$_POST['source']的值赋给$str,不然就赋值空给$str等价于:if(!empty($_POST['source'])){
    $str = $_POST['source'];
    }else{
    $str = '';
    }
      

  2.   

    这句话的意思就是如果$_POST['source']有值,就取$_POST['source']的值赋给$str,不然就赋值空给$str等价于:if(!empty($_POST['source'])){
    $str = $_POST['source'];
    }else{
    $str = '';
    }
      

  3.   

    楼主需了解两个知识点,然后就很清楚了。
    1.isset函数
    2.? : 三元运算符
      

  4.   

    换成这样写,
    $source=$_POST["source"];
    $str=(isset($scource)?$scource:null);
    如果$source有值,就取$source的值赋给$str,不然就赋值空给$str
    还哪不明白?
      

  5.   

    ?:三木运算符 a>0?b=1:b=2
    可以这样理解  
    if(a>0)
    {
     echo b=1;
    }
    else
    {
      echo b=2;
    }这样好理解吧
      

  6.   


    //it means :
    if(isset($_POST['source'])
    {
    $str =$_POST['source'];
    }
    else
    {
     $str="";
    }
      

  7.   

    哦,明白了,我是被好多括号迷惑了,刚接触php,今天看了一个上午的代码。头晕了。