PHP学习之基础教程 (四)PHP中=>和->以及::的用法

PHP学习之基础教程 (四)PHP中=>和->以及::的用法

对这些概念有点模糊,请允许我做一下笔记,转自PHP中文网

1、=>的用法

在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义),如:

  $css=array('style'=>'0',‘color’=>‘green‘);
    
   则$css['style']=='0'$css['color']=='green'

2、->的用法

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

1 <?php 

2   $arr=['a'=>123,'b'=>456];//数组初始化 

3   echo $arr['a'];//数组引用 

4   print_r($arr);//查看数组 

5   class A{ 

6     public $a=123; 

7     public $b=456; 

8   } 

9   $obj=new A();

10   echo $obj->a;//对象引用

11   print_r($obj);//查看对象

12 ?>

输出结果:


123Array(

    [a] => 123

    [b] => 456)

123A Object(

    [a] => 123

    [b] => 456)

3、::的用法

双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。

(1)用变量在类定义外部访问

1 <?php 

2 class Fruit { 

3     const CONST_VALUE = 'Fruit Color'; 

4 } 

5  

6 $classname = 'Fruit'; 

7 echo $classname::CONST_VALUE; // As of PHP 5.3.0 

8  

9 echo Fruit::CONST_VALUE;

10 ?>

(2)在类定义外部使用::

1    

2 <?php 

3 class Fruit { 

4     const CONST_VALUE = 'Fruit Color'; 

5 } 

6  

7 class Apple extends Fruit 

8 { 

9     public static $color = 'Red';

10 

11     public static function doubleColon() {

12         echo parent::CONST_VALUE . "\n";

13         echo self::$color . "\n";

14     }

15 }

16 

17 Apple::doubleColon();

18 ?>

(3)调用parent方法

<?php 

2 class Fruit 

3 { 

4     protected function showColor() { 

5         echo "Fruit::showColor()\n"; 

6     } 

7 } 

8  

9 class Apple extends Fruit

10 {

11     // Override parent's definition

12     public function showColor()

13     {

14         // But still call the parent function

15         parent::showColor();

16         echo "Apple::showColor()\n";

17     }

18 }

19 

20 $apple = new Apple();

21 $apple->showColor();

22 ?>

(4)使用作用域限定符

1    

2 <?php 

3     class Apple 

4     { 

5         public function showColor() 

6         { 

7             return $this->color; 

8         } 

9     }

10 

11     class Banana12     {

13         public $color;

14 

15         public function __construct()

16         {

17             $this->color = "Banana is yellow";

18         }

19 

20         public function GetColor()

21         {

22             return Apple::showColor();

23         }

24     }

25 

26     $banana = new Banana;

27     echo $banana->GetColor();

28 ?>

(5)调用基类的方法

1      

2 <?php 

3  

4 class Fruit 

5 { 

6     static function color() 

7     { 

8         return "color"; 

9     }

10 

11     static function showColor()

12     {

13         echo "show " . self::color();

14     }

15 }

16 

17 class Apple extends Fruit

18 {

19     static function color()

20     {

21         return "red";

22     }

23 }

24 

25 Apple::showColor();

26 // output is "show color"!

27 

28 ?>

猜你喜欢

转载自blog.csdn.net/qq_43204040/article/details/86591211