\" 은 무엇이죠?
본문
echo "<a href=\"".$list[$i]['href']."\">";
"<a href=\" ==> html
".$list[$i]['href']." ==> php
\">"; ==> html
위의 것이 맞나요?
그리고
\" 은 무엇이죠?
답변 3
일종의 구문 규칙입니다.
대개 문자열의 경우는 외따옴표나 쌍따옴표를 안 써도 괜찮습니다.
<img src=my.jpg class=you>
하지만 문자열에 띄워쓰기가 들어가면 반드시 외따옴표나 쌍따옴표 표시를 해 주어야 합니다.
<img src="my 1.jpg" class="you 1">
여기서 따옴표는 구문의 형식에 해당되는데...
따옴표를 형식이 아니라 내용에 사용할 경우엔 \ 를 써야 합니다.
아래는 예제입니다.
따옴표 없이, 외따옴표 사용시, 쌍따옴표 사용시를 능수능란하게 표현할 수 있다면 이미 많은 발전을 이룬 것입니다.
<input value=그누보드>
<input value="그누보드">
<input value="'그누보드'">
<input id=my>
<script>
my.value = "\"그누보드\"";
</script>
+ PHP Manual > Language Reference > Types > Strings
- https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double
echo "문자열"; // 이 문자열 부분에 "를 써야 할 때 " 앞에 \를 붙여 Escape해야 합니다.
echo "언어 "PHP", "Java" 재미있습니다."; // 오류
↓
echo "언어 \"PHP\", \"Java\" 재미있습니다."; // 정상
참고로 '를 쓸 때는 안쪽에 "를 그대로 사용할 수 있습니다.
echo '언어 "PHP", "Java" 재미있습니다.';
마찬가지로 '로 감싼 내부에서 '를 사용하려면 \'처럼 Escape 해주면 됩니다.
echo '언어 \'PHP\', \'Java\' 재미있습니다.';
* '로 감싼 문자열 내에선 해석이 일어나지 않습니다.
$lang = 'PHP';
echo "Language is {$lang}";
echo 'Language is {$lang}'; // 차이 직접 보세요.
기타 출력에 관한 부분은 위 링크의 설명 및 예제 등 참고하면 됩니다.
참고로 Arrays 쪽도 봐주면 좋습니다.
+ PHP Manual > Language Reference > Types > Arrays
- https://www.php.net/manual/en/language.types.array.php#language.types.array.donts
BiHon 님, 비타주리 님,
답변 감사합니다.