문자열화 풀기: 단계별 설명
문자열화는 주어진 토큰을 문자열 리터럴로 변환하는 강력한 매크로 기술입니다. 복잡한 내용을 이해하기 위해 다음 시나리오를 살펴보겠습니다.
str(foo)를 사용하면 예상되는 출력은 " foo"는 문자열화가 텍스트 확장 전에 발생한다고 믿기 때문입니다. 그러나 두 번째 예에서는
xstr(foo)의 출력은 "4"가 됩니다. 이러한 불일치를 해결하기 위해 매크로 확장과 관련된 특정 단계를 자세히 살펴보겠습니다.
다음 단계를 적용하면 xstr(foo):
이제 str(foo)를 살펴보겠습니다.
문제의 핵심은 실행 순서에 있습니다. 1단계에서 str(foo)가 평가될 때 foo는 아직 4로 대체되지 않았습니다. 따라서 문자열화 단계의 결과는 "foo"입니다.
따라서 xstr과 같은 도우미 매크로를 사용하면 다음이 가능합니다. 2단계와 1단계를 별도로 실행하여 궁극적으로 원하는 문자열화 동작을 제공합니다.
위 내용은 문자열화가 한 경우에는 'foo'를 생성하고 다른 경우에는 '4'를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!