[菜鸟交流]php 代码中的箭头“ ->”是什么意思?''::''两个冒号是什么意思
时间:2009-12-28
来源:互联网
类是一个复杂数据类型,这个类型的数据主要有属性、方法两种东西。
属性其实是一些变量,可以存放数据,存放的数据可以是整数、字符串,也可以是数组,甚至是类。
方法实际上是一些函数,用来完成某些功能。
引用一个类的属性和方法就使用->符号。
->是调用的意思
类 -> 类的成员变量或者成员函数
下面是一个例子小程序:
<?php
//定义类Cart
class Cart { var $items; // 购物车中的物品 // 将 $num 个 $artnr 物品加入购物车 function add_item($artnr, $num) { $this->items[$artnr] += $num; } // 将 $num 个 $artnr 物品从购物车中取出 function remove_item($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } elseif ($this->items[$artnr] == $num) { unset($this->items[$artnr]); return true; } else { return false; } }
}
//示例继承定义类Named_Cart
class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; }
}
//使用类的代码
$ncart = new Named_Cart; // 新建一个有名字的购物车
$ncart->set_owner("kris"); // 给该购物车命名
print $ncart->owner; // 输出该购物车主人的名字
$ncart->add_item("10", 1); // (从购物车类中继承来的功能)
?>
->这个箭头是调用类中的函数
比如
class a
{
function b()
{
echo 'a';
}
}
$a=new a;
$a->b();
输出:a
还有一个=>这样的箭头,定义数组用
比如
$array1=array('a'=>5,'b'=>6);
while($arrayitem=each($array1))
{
extract($arrayitem);
echo('<br />'.$key.'='.$value);
}
输出:
a=5
b=6
::的意思:
不用实例化直接调用类的方法
属性其实是一些变量,可以存放数据,存放的数据可以是整数、字符串,也可以是数组,甚至是类。
方法实际上是一些函数,用来完成某些功能。
引用一个类的属性和方法就使用->符号。
->是调用的意思
类 -> 类的成员变量或者成员函数
下面是一个例子小程序:
<?php
//定义类Cart
class Cart { var $items; // 购物车中的物品 // 将 $num 个 $artnr 物品加入购物车 function add_item($artnr, $num) { $this->items[$artnr] += $num; } // 将 $num 个 $artnr 物品从购物车中取出 function remove_item($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } elseif ($this->items[$artnr] == $num) { unset($this->items[$artnr]); return true; } else { return false; } }
}
//示例继承定义类Named_Cart
class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; }
}
//使用类的代码
$ncart = new Named_Cart; // 新建一个有名字的购物车
$ncart->set_owner("kris"); // 给该购物车命名
print $ncart->owner; // 输出该购物车主人的名字
$ncart->add_item("10", 1); // (从购物车类中继承来的功能)
?>
->这个箭头是调用类中的函数
比如
class a
{
function b()
{
echo 'a';
}
}
$a=new a;
$a->b();
输出:a
还有一个=>这样的箭头,定义数组用
比如
$array1=array('a'=>5,'b'=>6);
while($arrayitem=each($array1))
{
extract($arrayitem);
echo('<br />'.$key.'='.$value);
}
输出:
a=5
b=6
::的意思:
不用实例化直接调用类的方法
作者: tothesky 发布时间: 2009-12-28
谢谢楼主的解释。。。。。。
作者: jolin2008 发布时间: 2010-01-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28