为什么PHP类不返回`<h1> 404 </h1> <p>未找到</p>`?

时间:2011-02-10 21:29:16

标签: php string class

为什么PHP类不返回<h1>404</h1><p>Not found</p>

class checkid{
    public $title;
    public $content;
    function status(){
        $this->title='404';
        $this->content='Not found';
    }
}
$checkid=new checkid($url);
//$id=0;
((isset($id)) ? '' : $checkid->status().$title=$checkid->title.$content=$checkid->content);
//Why it does not return `<h1>404</h1><p>Not found</p>`?
echo "<h1>$title</h1><p>$content</p>";

更新 我知道要做到这一点

if(isset($id)){}else{
    $checkid->status();
    $title=$checkid->title;
    $content=$checkid->content);
}

但是如果有可能使用

,我就会疲惫不堪
((isset($id)) ? '' : $checkid->status().$title=$checkid->title/*here $content break it down*//*.$content=$checkid->content*/);

4 个答案:

答案 0 :(得分:3)

您未指定$title$content

你可能想要这样的东西

   $checkid->status();
   echo "<h1>$checkid->title</h1><p>$checkid->content</p>";

答案 1 :(得分:3)

  1. isset('id')更改为isset($id)

  2. 您获得<h1>404Not found</h1><p>Not found</p>的原因是因为您将$content的值与$title的值相连接。

  3. 另外,你的代码非常混乱。我冒昧地清理了一下:

    class checkid
    {
        public $title;
        public $content;
        function status()
        {
            $this->title='404';
            $this->content='Not found';
        }
    }
    $checkid=new checkid($url);
    //$id=0;
    if(!isset($id))
    {
        $checkid->status();
        $title=$checkid->title;
        $content=$checkid->content;
    }
    echo "<h1>$title</h1><p>$content</p>";
    

答案 2 :(得分:2)

因为你试图(ab)使用条件表达式作为if语句。

if(!isset($id))
{

  $checkid->status();
  $title = $checkid->title;
  $content = $checkid->content;
}

答案 3 :(得分:1)

isset('id')的含义是什么?你的意思是isset($id)还是isset($_GET['id'])? 而且,顺便说一句,

$checkid->status().$title=$checkid->title.$content=$checkid->content);

是不公开的:您将状态()的返回附加到$checkid并且您附加$title,其等于$ checkid->title已加入$content,并且分配了所有内容$checkid->content

有点混乱