php实例化类,使用类中方法,如何输出方法里的变量?
发布网友
发布时间:2022-04-06 01:55
我来回答
共4个回答
热心网友
时间:2022-04-06 03:25
//方法一
class a {
public $_b1, $_b2, $_b3;
public function a1() {
$this -> _b1 = '123';
$this -> _b2 = 'abc';
$this -> _b3 = '456';
}
}
//调用
$c = new a;
$c -> a1();
echo $c -> _b1;
//说明, 类中或者说方法中, 在通常下, 是局部变量, 而非全局变量!
//要直接输出 echo $_b1;的话, 你就要把变量弄成全局变量, 或者使用引用,不过引用这种方法,在php高版本中好像已经不支持,所以不推荐。
//方法二
class a{
function a1() {
global $_b1;
$_b1 = '123';
}
}
$c = new a;
$c -> a1();
echo $_b1;
热心网友
时间:2022-04-06 04:43
函数在类里叫方法,变量在类里叫属性或字段,在方法里的变量是局部变量,只在调用方法期间才生效,所以要用方法里的变量就要在调用方法期间使用方法里的变量
class a
{
function a1
{
$_b1 = "123";
$_b2 = "abc";
$_b3 = "456";
echo $_b1;
}
}
$c = new a;
$c -> a1();
热心网友
时间:2022-04-06 06:17
class a
{
function a1()
{
global $_b1,$_b2,$_b3;
$_b1 = "123";
$_b2 = "abc";
$_b3 = "456";
}
}
$c = new a;
$c -> a1();
echo $_b1;
热心网友
时间:2022-04-06 08:09
class a
{
function a1($var)
{
$_b1 = "123";
$_b2 = "abc";
$_b3 = "456";
if($var==1)
$echo $_b1;
elseif $var==2
$echo $_b2;
else
$echo $_b3;
}
}
$c = new a;
$c -> a1(1);
可以试试这种方式,不能类似于楼主那样的输出,因为_b1,_b2,_b3属于局部变量,函数结束时就自动销毁了,如果想要把它输出,要么用return把他们返回了,要么就用我这种方式