美文网首页
php学习之操作符

php学习之操作符

作者: 古德毛宁_39de | 来源:发表于2020-12-07 15:55 被阅读0次

    1. 范围解析操作符 (::)

    范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。
    当在类定义之外引用到这些项目时,要使用类名。

    自 PHP 5.3.0 起,可以通过变量来引用类,该变量的值不能是关键字(如 self,parent 和 static)。

    把 Paamayim Nekudotayim 选作双冒号操作符的名字似乎有些奇怪。然而,这是 Zend 开发小组在写 Zend Engine 0.5(被用于 PHP 3 中)时所作出的决定。事实上这个词在希伯莱文就是双冒号的意思。

    <?php
    class MyClass {
        const CONST_VALUE = 'A constant value';  //定义常量
    }
    
    $classname = 'MyClass';
    echo $classname::CONST_VALUE; // 自 PHP 5.3.0 起  
    
    echo MyClass::CONST_VALUE;  //访问常量
    ?>
    
    (1.1) self,parent 和 static

    在类定义内部使用 ::

    <?php
    class OtherClass extends MyClass
    {
        public static $my_static = 'static var';
    
        public static function doubleColon() {
            echo parent::CONST_VALUE . "\n";
            echo self::$my_static . "\n";
        }
    }
    
    $classname = 'OtherClass';
    echo $classname::doubleColon(); // 自 PHP 5.3.0 起
    
    OtherClass::doubleColon();
    ?>
    

    调用父类的方法

    <?php
    class MyClass
    {
        protected function myFunc() {
            echo "MyClass::myFunc()\n";
        }
    }
    
    class OtherClass extends MyClass
    {
        // 覆盖了父类的定义
        public function myFunc()
        {
            // 但还是可以调用父类中被覆盖的方法
            parent::myFunc();
            echo "OtherClass::myFunc()\n";
        }
    }
    
    $class = new OtherClass();
    $class->myFunc();
    ?>
    

    2. PHP中=>和->用法

    2.1 =>的用法
    在php中数组默认键名是整数(如:0,1,2 .....),也可以自己定义任意字符键名(最好是有实际意义),如:

    $css=array('style'=>'0',‘color’=>‘green‘); //关联数组的写法
    
     则$css['style']=='0',$css['color']=='green'。
    

    2.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);//查看对象
    
    ?>
    

    over!

    相关文章

      网友评论

          本文标题:php学习之操作符

          本文链接:https://www.haomeiwen.com/subject/cuktgktx.html