1

私は PHP を学んでおり、Robin Nixon の本を読んでいます。このコードに問題があります:

<?php 
class Centre
{
    public $centre_name; // String: The name of the centre
    public $tagline; // String: The centre's tagline

        // Set the centres details. This will later be done through a form.
    function set_details()
    {
        $this->centre_name = "YMCA";
        $this->tagline = "Lets all go to the Y";
    }

        // Display the centres details. 
    function display()
    {
        echo "Centre Name - " . $centre->centre_name . "<br />";
        echo "Centre Tagline - " . $centre->tagline . "<br />";
    }
} 

?>

<?php 
    $centre = new Centre();
    $centre->set_details();
    $centre->display();
?>

現在、これは次のように出力されています: Center Name - Center Tagline - したがって、変数が設定されています。$this->variable = "whatever"; を使用していますか? 正しく?

4

3 に答える 3

4

これを変える

function display()
{
    echo "Centre Name - " . $centre->centre_name . "<br />";
    echo "Centre Tagline - " . $centre->tagline . "<br />";
}

function display()
{
    echo "Centre Name - " . $this->centre_name . "<br />";
    echo "Centre Tagline - " . $this->tagline . "<br />";
}

$centreの代わりに使用しました$this

于 2013-02-20T09:37:27.673 に答える
0

はい、できますが、display()で「center」を「this」に置き換えます。

function display()
{
    echo "Centre Name - " . $this->centre_name . "<br />";
    echo "Centre Tagline - " . $this->tagline . "<br />";
}
于 2013-02-20T09:39:56.110 に答える
0

関数 dispaly() を次のように変更します。

クラス内では、変数にアクセスできます$this

 function display()
    {
        echo "Centre Name - " . $this->centre_name . "<br />";
        echo "Centre Tagline - " . $this->tagline . "<br />";
    }
于 2013-02-20T09:38:03.770 に答える