PHP中=>和->以及::符号的用法
发布:smiling 来源: PHP粉丝网 添加日期:2022-05-15 11:39:42 浏览: 评论:0
讲完了php基础运算符,下面再讲一下,php新手经常碰到的问题,->、=> 和 :: 这三个家伙是什么分别都是做什么的啊!看着就很晕。
没关系,下面我们做一下详细的解释,如果你有C++,Perl基础,你会发现这些家伙和他们里面的一些符号功能是差不多的。
‘- >'符号
插入式解引用操作符”(infix dereference operator)。换句话说,它是调用由引用传递参数的子程序的方法(当然,还有其它的作用)。正如我们上面所提到的,在调用PHP的函数的时候,大部分参数都是通过引用传递的。PHP中的‘->'功能就和它们在Perl或C++中一样。下面是一个简单的解引用的例子:
echo $x->def(); # 输出
‘=>'操作符
在PHP的脚本中‘=>'操作符时很常见的。因为php数组函数很丰富,我们要经常用到数组,因为它操作数据很方便。
- $phparr= new array( in => 'reply,'
- side => 'left',
- padx => 2m,
- pady => 2m,
- ipadx => 2m,
- ipady => 1m
- )
顺便说一下,如果你需要用数字“大于等于”的符号,你应该用“>=”而不是“=>”。
::域运算符
在PHP中“::”这个叫范围解析操作符,又名域运算符
“::”符号可以认为是与C语言中的“.”相似的,而它更像C++中(Perl)的::类范围操作符。
php调用类的内部静态成员,或者是类之间调用就要用::
下面是一个例子:
- class A
- {
- static $count = 0;
- static function haha()
- {
- //
- }
- function diaoyoug()
- {
- self::haha();
- self::$count;
- }
- }
- a.b.c; /* C语言中的 */
- a::b::c(); // C++ 中的函数
- $a::b::c; # Perl 5中的标量
“===”(三等号)
或许有人就疑问了,此符号除了判断两变量是否相等外,还会判断值类型是否一致,若值类型不一样,则会返回False,比如:$a="1";//字符型1 $b=1;//数字型1 当执行$a===$b;时,将返回False
“->”(减号、右尖括号)
用于类中,访问类里的函数或对象,比如:
- <?php
- class Test {
- function do_test() {
- echo "Doing foo.";
- } }
- $bar = new Test;
- $bar->do_test();
- ?>
"=>"(等号、右尖括号)
数组中给值赋值,比如:$arr=array("one" =>("1"=>10, "2"=>20), "two"=>2); 那么$arr["one"]["1"]=10;
PHP中=>和->以及::的用法详解篇
1、=>的用法
在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如:
$css=array('style'=>'0','color'=>'green');
则$css['style']=='0',$css['color']=='green'。
2、->的用法
->用来引用对象的成员(属性与方法);
- $arr=['a'=>123,'b'=>456];//数组初始化
- echo $arr['a'];//数组引用
- print_r($arr);//查看数组
- class A{
- public $a=123;
- public $b=456;
- }
- $obj=new A();
- echo $obj->a;//对象引用
- print_r($obj);//查看对象
- ?>
输出结果:
- 123Array(
- [a] => 123
- [b] => 456)
- 123A Object(
- [a] => 123
- [b] => 456)
3、::的用法
双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。
(1)Program List:用变量在类定义外部访问
- class Fruit {
- const CONST_VALUE = 'Fruit Color';
- }
- $classname = 'Fruit';
- echo $classname::CONST_VALUE; // As of PHP 5.3.0
- echo Fruit::CONST_VALUE;
- ?>
(2)Program List:在类定义外部使用::
- <?php
- class Fruit {
- const CONST_VALUE = 'Fruit Color';
- }
- class Apple extends Fruit
- {
- public static $color = 'Red';
- public static function doubleColon() {
- echo parent::CONST_VALUE . "\n";
- echo self::$color . "\n";
- }
- }
- Apple::doubleColon();
- ?>
(3)Program List:调用parent方法
- <?php
- class Fruit
- {
- protected function showColor() {
- echo "Fruit::showColor()\n";
- }
- }
- class Apple extends Fruit
- {
- // Override parent's definition
- public function showColor()
- {
- // But still call the parent function
- parent::showColor();
- echo "Apple::showColor()\n";
- }
- }
- $apple = new Apple();
- $apple->showColor();
- ?>
(4)Program List:使用作用域限定符
- <?php
- class Apple
- {
- public function showColor()
- {
- return $this->color;
- }
- }
- class Banana12 {
- public $color;
- public function __construct()
- {
- $this->color = "Banana is yellow";
- }
- public function GetColor()
- {
- return Apple::showColor();
- }
- }
- $banana = new Banana;
- echo $banana->GetColor();
- ?>
(5)Program List:调用基类的方法
- <?php
- class Fruit
- {
- static function color()
- {
- return "color";
- }
- static function showColor()
- {
- echo "show " . self::color();
- }
- }
- class Apple extends Fruit
- {
- static function color()
- {
- return "red";
- }
- }
- Apple::showColor();
- // output is "show color"!
- ?>
Tags: => -> ::
- 上一篇:PHP操作MySQL的常用代码段梳理与总结
- 下一篇:最后一页
相关文章
- ·php中 ->与 ==>符号的用法与区别(2014-07-15)
- ·PHP中->和=>的含义及使用示例解析(2022-03-21)
- ·PHP中::、->、self、$this操作符(2014-03-10)
- ·双冒号 ::在PHP中的使用情况(2021-06-25)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)