php实例化类,使用类中方法,如何输出方法里的变量?

classa{functiona1{$_b1="123";$_b2="abc";$_b3="456";}}$c=newa;$c->a1();echo$_b1;(这样不会有... class a
{
function a1
{
$_b1 = "123";

$_b2 = "abc";
$_b3 = "456";
}

}
$c = new a;
$c -> a1();
echo $_b1; (这样不会有值输出)
如何选择性的输出 我想输出的方法里的变量。。
展开
 我来答
匿名用户
2014-10-09
展开全部
//方法一 
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;
析君豪2Q
2014-10-09 · TA获得超过411个赞
知道小有建树答主
回答量:724
采纳率:50%
帮助的人:199万
展开全部
函数在类里叫方法,变量在类里叫属性或字段,在方法里的变量是局部变量,只在调用方法期间才生效,所以要用方法里的变量就要在调用方法期间使用方法里的变量

class a
{
function a1
{
$_b1 = "123";

$_b2 = "abc";
$_b3 = "456";
echo $_b1;
}

}
$c = new a;
$c -> a1();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-09
展开全部
class a
{
    function a1()
   {
        global $_b1,$_b2,$_b3;
        $_b1 = "123";
        $_b2 = "abc";
        $_b3 = "456";
    }

}
$c = new  a;
$c -> a1();
echo $_b1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
常霞绮bK
推荐于2017-11-26
知道答主
回答量:6
采纳率:0%
帮助的人:5万
展开全部
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把他们返回了,要么就用我这种方式
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式