1. 程式人生 > 程式設計 >PHP中=>和->以及::符號的用法

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

沒關係,下面我們做一下詳細的解釋,如果你有C++,Perl基礎,你會發現這些傢伙和他們裡面的一些符號功能是差不多的。

‘- >'符號

插入式解引用操作符”(infix dereference operator)。換句話說,它是呼叫由引用傳遞引數的子程式的方法(當然,還有其它的作用)。正如我們上面所提到的,在呼叫的函式的時候,大部分引數都是通過引用傳遞的。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中陣列預設鍵名是整數,也可以自己定義任意字元鍵名(最好是有實際意義),如: 

$=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{
    ZzEdPbWpublic $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 
  { 
  ZzEdPbW    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 GetColoZzEdPbWr()
      ZzEdPbW    {
              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 => -> ::內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!