字符串化揭秘:分步说明
字符串化是一种强大的宏技术,可将给定标记转换为字符串文字。为了理解它的复杂性,让我们检查以下场景:
使用 str(foo),预期输出是 " foo”,因为字符串化被认为发生在文本扩展之前。但是,在第二个示例中:
xstr(foo) 的输出变为“4”。为了解决这个差异,我们深入研究宏扩展中涉及的具体步骤:
将这些步骤应用于xstr(foo):
现在,让我们检查 str(foo):
问题的关键在于执行顺序。在步骤 1 中,当计算 str(foo) 时,foo 尚未被 4 替换。因此,字符串化步骤结果为“foo”。
因此,使用像 xstr 这样的辅助宏可以单独执行步骤 2 和 1,最终提供所需的字符串化行为。
以上是为什么字符串化在一种情况下产生'foo”,在另一种情况下产生'4”?的详细内容。更多信息请关注PHP中文网其他相关文章!