簡體   English   中英

這個PHP語法是什么意思?

[英]What does this PHP syntax mean?

考慮一下代碼:

$a = "foobar";
echo $a{3}; // prints b

我知道$a[3]'b'但是如何使用{}代替[] produec得到相同的結果?

您可以在官方文檔中閱讀有關大括號的內容:

為了相同的目的,也可以使用大括號訪問字符串,如$ str {42}。 但是,從PHP 5.3.0開始,不推薦使用此語法。 請改用方括號,例如$ str [42]。

編輯這個主題可能會讓你感興趣: “丟大括號”

它只是一種替代語法; 這兩個表單編譯為完全相同的字節碼:

<?php
$str = "aaab";
echo $str{3}; 
echo $str[3]; 
number of ops:  9
compiled vars:  !0 = $str
line     # *  op                           fetch          ext  return  operands
---------------------------------------------------------------------------------
   2     0  >   EXT_STMT                                                 
         1      ASSIGN                                                   !0, 'aaab'
   3     2      EXT_STMT                                                 
         3      FETCH_DIM_R                                      $1      !0, 3
         4      ECHO                                                     $1
   4     5      EXT_STMT                                                 
         6      FETCH_DIM_R                                      $2      !0, 3
         7      ECHO                                                     $2
         8    > RETURN                                                   1

它是相同的,但從PHP 5.3開始不推薦使用{}語法。

{}和[]是一樣的。 它是您的選擇使用方法。 []更常見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM