php和this
Ⅰ php代码中的this什么作用
$this->变量名或方法名,指向类中的定义的变量或方法。你这里的var应该是一个变量,但是我们一般不用这个做变量名,因为var在php4中是关键字,php5之后用public代替var来申明一个公共变量。
Ⅱ 关于php中是this
this 是在指在类的使用中的自己
例:
class test
{
public $title;
function select ()
{
}
$this->select()//是指自己(test)的select方法
$this->title//是指自己(test)的title参数
}
Ⅲ PHP中this,self和static的区别
PHP支持类和面向对象结构,PHP的类的静态函数和变量不与任何特定类的实例相关联(换句话说,一个对象)。
相反,静态函数和变量与类定义本身相关联。换言之,一个类的所有实例都共享相同的静态变量。在一个类的方法(函数)的上下文中,静态变量和函数被访问使用self::,在一个类的对象(实例)的上下文中使用其他方法和变量时用this。
静态函数只能使用静态变量,静态函数和变量的引用是通过 self::函数名() 和 self::变量名。上述实例中,静态变量的引用是由类名(exampleClass::$foo),或者self::(self::$foo),当在这个类的静态方法[称为 静态函数()]里使用时。类的正则函数和变量需要一个对象上下文来引用,他们不能脱离对象上下文而存在。对象上下文由$this提供。在上述函数中,$bar 是一个正则变量,所以它被 $obj->bar(上下文使用变量obj) 来引用,或者使用 $this->bar(再次在一个对象的方法里在一个对象上下文中) 来引用。
self 不使用前面的 $,因为 self 不意味着是一个变量而是类结构本身。而 $this 引用一个特定的变量,所以有前面的 $ 。
Ⅳ php中$this的作用是
Person是类,在类中定义的变量代表成员变量,
this代表当前对象,$this->name代表调用当前对象的name属性,也就是在类中的成员变量,
方法定义中括号里面的$name代表形参,用于接收调用方法传入的实参。
Ⅳ PHP中的this关键字 怎么理解
下面定义了一个Cart类
<?php
classCart
{
var$items;//购物车中的项目
//把$num个$artnr放入车中
functionadd_item($artnr,$num)
{
$this->items[$artnr]+=$num;
}
//把$num个$artnr从车中取出
functionremove_item($artnr,$num)
{
if($this->items[$artnr]>$num){
$this->items[$artnr]-=$num;
returntrue;
}else{
returnfalse;
}
}
}
Ⅵ PHP中是不是不支持$this
没有不支持,只是$this是在类中的方法调用的,其他位置没有调用的必要,$this指的是当前对象,也是所谓的当前堆内存对象存放的二进制地址,通过它指向对内陆的空间地址来调取对应的数据和方法
Ⅶ PHP this返回对象
$this
就是”指这“的意思,
比方说你有个类叫“aaa”
当你实例化aaa这个类
$a
=
new
aaa();
之后
$this
就是指向
$a
对象。
this就是指向当前对象实例的指针,不指向任何其他对象或类。
至于什么情况下要用return
$this,应该没有这样,
我只知道有一些地方会用到&$this取该对象的地址然后进行对象复制。
具体你可以去看下dedecms的mysql类,我记得那里面对数据的操作就是这样用的。
Ⅷ php面向对象全攻略 (三)特殊的引用“$this”的使用
7.特殊的引用“$this”的使用
现在我们知道了如何访问对象中的成员,是通过“对象->成员”的方式访问的,这是在对
象的外部去访问对象中成员的形式,那么如果我想在对象的内部,让对象里的方法访问本对
象的属性,或是对象中的方法去调用本对象的其它方法这时我们怎么办?因为对象里面的所
有的成员都要用对象来调用,包括对象的内部成员之间的调用,所以在PHP
里面给我提供了
一个本对象的引用$this,每个对象里面都有一个对象的引用$this
来代表这个对象,完成对象
内部成员的调用,this
的本意就是“这个”的意思,上面的实例里面,我们实例化三个实例
对象$P1、$P2、$P3,这三个对象里面各自存在一个$this
分别代表对象$p1、$p2、$p3。
通过上图我们可以看到,$this
就是对象内部代表这个对象的引用,在对象内部和调用本
对象的成员和对象外部调用对象的成员所使用的方式是一样的。
$this->属性$this->name;
$this->age;
$this->sex;
$this->方法$this->say();
$this->run();
修改一下上面的实例,让每个人都说出自己的名字,性别和年龄:
代码片段
复制代码
代码如下:
<?php
class
Person{
//下面是人的成员属性
var
$name;
//人的名字
var
$sex;
//人的性别
var
$age;
//人的年龄
//下面是人的成员方法
function
say(){//这个人可以说话的方法
echo
"我的名字叫:".$this->name."
性别:".$this->sex."
我的年龄是:".$this->age."<br>";
}
function
run(){
//这个人可以走路的方法
echo
"这个人在走路";
}
}
$p1=new
Person();
//创建实例对象$p1
$p2=new
Person();
//创建实例对象$p2
$p3=new
Person();
//创建实例对象$p3
//下面三行是给$p1对象属性赋值
$p1->name="张三";
$p1->sex="男";
$p1->age=20;
//下面访问$p1对象中的说话方法
$p1->say();
//下面三行是给$p2对象属性赋值
$p2->name="李四";
$p2->sex="女";
$p2->age=30;
//下面访问$p2对象中的说话方法
$p2->say();
//下面三行是给$p3对象属性赋值
$p3->name="王五";
$p3->sex="男";
$p3->age=40;
//下面访问$p3对象中的说话方法
$p3->say();
?>
输出结果
我的名字叫:张三性别:男我的年龄是:20
我的名字叫:李四性别:女我的年龄是:30
我的名字叫:王五性别:男我的年龄是:40
分析一下这个方法:
代码片段
function
say(){
//这个人可以说话的方法
echo
"我的名字叫:".$this->name."
性别:".$this->sex."
我的年龄是:".$this->age."<br>";
}
在$p1、$p2
和$p3
这三个对象中都有say()这个方法,$this
分别代表这三个对象,调用相应的属性,打印出属性的值,这就是在对象内部访问对象属性的方式,如果相在say()这个方
法里调用run()这个方法也是可以的,在say()这个方法中使用$this->run()的方式来完成调用。
Ⅸ 有关PHP类中THIS关键字的使用
$this 表示引用本类的函数或者变量,
User类中间的payoff 构造的时候被定义为了payoff类型,所以可以这样执行,
Ⅹ php中this的含义
@
是起到错误抑制的作用,比如你的这个@mysql_data_seek($result,$rows-20);
在执行php文件的时候,如果mysql_data_seek();
执行不成功,程序也不回报错,会继续执行的。
一般后面会有个if
(!mysql_data_seek($result,$rows-20);)
语句来报告出错。