[英]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.