在php class类中调用变量一定要使用this吗?
<?phpclassSportObject{public$name;public$height;public$avoirdupois;publicfunctionbooF...
<?php
class SportObject{
public $name;
public $height;
public $avoirdupois;
public function booFootBall($name,$height,$avoirdupois){
if($height > 180 and $avoirdupois < 100){
return $name.'符合踢足球的标准';
}else{
return $name.'不符合踢足球的标准';
}
}
}
$sport = new SportObject();
echo $sport->booFootBall('刘明','180','60');
?>
这是我写的方法,其中没有使用this但是不会报错。 展开
class SportObject{
public $name;
public $height;
public $avoirdupois;
public function booFootBall($name,$height,$avoirdupois){
if($height > 180 and $avoirdupois < 100){
return $name.'符合踢足球的标准';
}else{
return $name.'不符合踢足球的标准';
}
}
}
$sport = new SportObject();
echo $sport->booFootBall('刘明','180','60');
?>
这是我写的方法,其中没有使用this但是不会报错。 展开
3个回答
展开全部
加上this就是明确指出该成员函数调用的变量比如你的this->$name 是调用的自己的类内部的成员变量,如果你的类的实例里面没有对该成员赋值,那么该成员函数就没有结果,如果不加this的话,偶也不太清楚,可以试试,在实例化类的前面 设置一个$name 然后附一个值,然后实例化类,将类里面的$name赋值另外一个值,在调用这个类的成员函数,看是什么结果,就知道他调用的是哪个变量了,然后就是测试一下 加不加this的时候,结果又是如何的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if($height > 180 and $avoirdupois < 100){
你这边用到的$height,$avoirdupois是调用时输入的参数'180','60';
public $height;
public $avoirdupois;这两个你完全没有用到
你这边用到的$height,$avoirdupois是调用时输入的参数'180','60';
public $height;
public $avoirdupois;这两个你完全没有用到
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你方法中调用的$name是参数中$name 是局部变量 而不是成员属性 实际上$this->name 为空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询