PHP中=>和->以及::符号的用法

admin3年前PHP教程33

没关系,下面我们做一下详细的解释,如果你有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

“->”(减号、右尖括号)

用于类中,访问类里的函数或对象,比如:

?

1
2
3
4
5
6
7
8
<?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、->的用法

->用来引用对象的成员(属性与方法);

?

1
2
3
4
5
6
7
8
9
10
11
$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:用变量在类定义外部访问

?

1
2
3
4
5
6
7
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:在类定义外部使用::


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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方法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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:使用作用域限定符


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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:调用基类的方法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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"!
 
?>






到此这篇关于PHP中=>和->以及::符号的用法的文章就介绍到这了,更多相关PHP => -> ::内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

高防服务器多少钱一个月?美国电信100G高防服务器购买价格一个月多少钱?

高防服务器是防御能力最强的,但是价格也是最高的。很多客户在购买之前都想要知道高防服务器的价钱,那么今天小编就给大家讲解下关于高防服务器多少钱一个月的问题:一、什么是高防呢?所谓的高防御指的是攻击者对服...

关于PHP5和PHP7中数组实现方式的比较总结

目录⒈ 数据结构⒉ 添加/修改元素⒊ 删除元素⒋ 数组遍历⒌ hash 碰撞⒍ 扩容⒎ PHP 7 中的 packed hashtable总结从 PHP 5 到 PHP 7 ,PHP 通过对 hash...

详解PHP的Sodium加密扩展函数

目录AEAD_AES_256_GCM 加解密信息签名Hash总结参考文档Sodium 扩展在 PHP7.2 后是跟随 PHP 源码一起发布的,只需要在编译的时候加上 --with-sodium 即可安...

韩国高防服务器租用多少钱受什么因素影响

韩国高防服务器的租用价格受以下因素的影响:1.服务器配置:服务器配置是影响租用价格的主要因素之一。通常来说,配置越高、性能越好的服务器租用价格会越高。2.使用时间:租用时间是影响价格的另一个因素。通常...

7款本地PHP服务器环境搭建工具推荐

通常在开发PHP程序时,需要用到服务器环境来调试自己的页面。有时候仅仅是为了学习PHP程序开发,如果是出于这样的理由去购买一个空间或者服务器是完全没必要的。本文推荐7款目前主流的PHP环境搭建工具,可...

美国高防服务器租用哪里有

美国高防服务器租用哪里有?租用美国高防服务器需要选择美国高防服务器服务商,那么在选择美国高防服务器服务商时需要考虑哪些方面呢?选择美国高防服务器服务商时需要考虑以下几个方面:1.高防性能:高防服务器的...