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;
}
}
?>
答案 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
?>