+ -
当前位置:首页 → 问答吧 → [菜鸟交流]php 代码中的箭头“ ->”是什么意思?''::''两个冒号是什么意思

[菜鸟交流]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



::的意思:
不用实例化直接调用类的方法

作者: tothesky   发布时间: 2009-12-28

谢谢楼主的解释。。。。。。

作者: jolin2008   发布时间: 2010-01-13