文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

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"!
  
  ?>

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯