字串化揭秘:分步說明
字串化是一種強大的宏技術,可將給定標記轉換為字串文字。為了理解它的複雜性,讓我們檢查以下場景:
使用str(foo),預期輸出是" foo”,因為字串化被認為發生在文字擴展之前。但是,在第二個範例中:
xstr(foo) 的輸出變成「4」。為了解決這個差異,我們深入研究宏擴展中涉及的具體步驟:
將這些步驟套用於xstr(foo):
現在,讓我們檢查str(foo):
問題的關鍵在於執行順序。在步驟 1 中,當計算 str(foo) 時,foo 尚未被 4 取代。因此,字串化步驟結果為“foo”。
因此,使用像 xstr 這樣的輔助巨集可以單獨執行步驟 2 和 1,最終提供所需的字串化行為。
以上是為什麼字串化在一種情況下產生'foo”,在另一種情況下產生'4”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!