>  기사  >  백엔드 개발  >  변수 정의 PHP 변수 정의 및 변수 대체 방법

변수 정의 PHP 변수 정의 및 변수 대체 방법

WBOY
WBOY원래의
2016-07-29 08:40:28950검색

변수를 문자열로 바꾸는 방법에는 간단한 방법과 복잡한 방법의 두 가지가 있습니다.
간단한 방법은 변수 이름을 큰따옴표로 묶은 문자열이나 heredoc에 넣는 것입니다.
$who = 'Kilroy'
$where = 'here'
echo "$who was $ where ”;
Kilroy가 여기에 있었습니다
대체할 변수를 중괄호로 묶는 것이 복잡한 방법입니다. 이 접근 방식은 배열 조회를 명확하게 하거나 대체하는 데 사용할 수 있습니다. 중괄호의 일반적인 사용은 변수 이름을 주변 텍스트와 분리하는 것입니다.
$n = 12
echo “당신은 {$n}번째 사람입니다”
당신은 12번째 사람입니다
중괄호가 없으면 PHP는 $nth 변수의 값을 인쇄하려고 시도합니다.
일부 셸 환경과 달리 PHP 문자열의 변수는 반복적으로 구문 분석되지 않고 큰따옴표로 묶인 문자열로만 구문 분석되며 결과는 문자열 값으로 사용됩니다.
$bar = ' 이것은 인쇄되지 않습니다.'; // 작은따옴표
print("$foo"); // 큰따옴표
$bar
4.1.2 작은따옴표 사용 둘러싸인 문자열
작은따옴표로 묶인 문자열
작은따옴표로 묶인 문자열은 변수를 대체하지 않습니다. 문자열 리터럴은 작은따옴표로 묶여 있으므로 다음 문자열에서는 변수 이름이 구문 분석되지 않습니다.
$name = 'Fred'
$str = 'Hello, $name'; 작은따옴표
echo $str;
안녕하세요, $name
작은따옴표로 묶인 문자열에서 사용할 수 있는 유일한 이스케이프 시퀀스는 '(작은따옴표로 묶인 문자열 안에 작은따옴표 넣기), \ ( 작은따옴표로 묶인 문자열에 백슬래시를 넣습니다). 다른 백슬래시는 백슬래시로만 해석됩니다.
$name = 'Tim O'Reilly'; // 이스케이프된 작은따옴표
echo $name;
$path = ' C:\WINDOWS'; /이스케이프된 백슬래시
echo $path;
$nope = 'n'; //이스케이프 시퀀스가 ​​아님
echo $nope
Tim O' Reilly
C:WINDOWS
n
4.1.3 큰따옴표로 묶인 문자열
큰따옴표로 묶인 문자열
큰따옴표로 묶인 문자열은 가변적으로 구문 분석되고 허용됩니다. 많은 이스케이프 시퀀스를 사용하세요. 표 4-1에는 큰따옴표로 묶인 문자열에서 PHP가 인식하는 이스케이프 시퀀스가 ​​나열되어 있습니다.
표 4-1: 큰따옴표로 묶인 문자열의 이스케이프 시퀀스
이스케이프 시퀀스 문자 의미

큰따옴표
n
새 줄
r
Enter
t

\
백슬래시
$
달러 기호
{
왼쪽 중괄호
}
오른쪽 중괄호
[
왼쪽 괄호
]
오른쪽 괄호
더 복잡한 표현식에서 heredoc을 사용하는 경우 별도의 줄에 표현식을 작성해야 합니다.
printf(<<< 템플릿
%s는 %d년이 되었습니다.
템플릿
, “Fred”, 35);
heredoc의 작은따옴표와 큰따옴표는 건너뜁니다(일반 기호로 처리).
$dialogue = <<< No_More
" 그런 일은 일어나지 않습니다. " 그녀는 화를 냈습니다.
그는 눈썹을 치켜떴습니다. "내기할래요?"
No_More;
echo $dialogue;
"그런 일은 일어나지 않을 거예요!" 그녀는 화를 냈습니다.
그는 "내기하시겠습니까?"
heredoc의 공백도 유지됩니다.
$ws = <<< 부

/ / $ws = ” boon hoon”;
후행 종결자 앞의 개행 문자가 제거되므로 다음 두 지정은 동일합니다.
$s = ' Foo'
// 아래와 같습니다.
$s = <<< End_of_pointless_heredoc
Foo
End_of_pointless_heredoc;
여기서 참조를 개행 문자 문자열로 끝내려면 직접 추가해야 합니다.
$ s = <<< End
Foo
End
//Foo 뒤에는 빈 줄이 있으므로 삭제할 수 없습니다.

위 내용은 변수 정의 내용을 포함하여 변수 정의, PHP 변수 정의, 변수 치환 방법을 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.