如何在类中的不同函数中使用$ x变量?

时间:2015-03-27 05:20:00

标签: php

Iam学习PHP,我有一个课程,我想在多个函数中共享一个变量,如下所示,但不幸的是我得到错误:

<b>Parse error</b>:  syntax error, unexpected T_VARIABLE, expecting T_FUNCTION on line <b>5</b><br />

那么,如何在类中的不同函数中使用$ x变量,对不起,如果它是noob查询。

以下是代码:

<?php


class A{

$x = 10;

    function a(){
        global $x;
        echo $x;
    }



    function b(){
        global $x;
        echo $x;
    }

}

?>

3 个答案:

答案 0 :(得分:0)

要访问非静态成员的属性,您可以引用$this作为类。

$this->x

所以对于你的代码:

class A{
    //clarity
    public $x = 10;

    public function a(){
       echo $this->x;
    }

    public function b(){

        echo $this->x;
    }
}

$class = new A;
echo $class->a(); //results in 10
echo $class->b(); //results in 10

答案 1 :(得分:0)

用户$ this访问类变量也使用函数中的return a()当实例化一个类时自动调用的类会话函数(因为它被视为类A的构造函数 - 类和函数的同名)     

class A{

    var $x = 10;

    function a(){

        return $this->x;
    }

    function b(){

        echo $this->x;
    }

}
$obj = new A();
echo $obj->a();
?>

答案 2 :(得分:0)

您应该使用$this来访问该类中的此变量。

你的代码是这样的:

<?php
class A{

public $x = 10; // make the scope of variable as public

    function a(){
        return $this->x; // use this variable as "$this->x" to access everywhere in that class
    }

    function b(){
       return $this->x;
    }
}

/*
In order to access you can use
*/
$myClass = new A;
echo $myClass->a(); //the output will be 10
echo $myClass->b(); //the output will be 10
?>