2014-12-28 7 views
0

따옴표로 묶는 데 어려움을 겪고 있습니다. 나는이 줄의 코드를 가지고있다. 3 개 변수 $bName, $bid$next_id[id]PHP 에코 따옴표 오류

echo "<a href='$bName'_read.php?bid='$bid'&id='$next_id[id]'>NEXT</a>"; 

.

내가 사용한 인용문에 문제가 있습니다. 나는 또한 이것을 시도했다;

echo "<a href='".$bName."_read.php?bid=".$bid."&id=".$next_id['id']."'">"; 

하지만 여전히 작동하지 않습니다.

누구나 인용구 작동 방식을 설명 할 수 있습니까?

+1

['sprintf'] (http://php.net/manual/en/function.sprintf.php) 대신에 – PeeHaa

+1

이 적당합니다. 그 변수는 그 문자열 안에 인용 할 필요가 없지만'$ bname'은'href = '{$ bname} _read.php?''로 묶인'{}'이어야하고'href' 문자열 전체는 따옴표로 묶어야합니다 –

+2

가독성과 모호함을 위해서 모두'{} '에코 "와 마찬가지로 NEXT"; –

답변

4

모든 PHP 변수를 작은 따옴표로 묶을 필요는 없습니다. 예를 들어, 대신 HTML에서 의미가 있어야합니다.

echo "<a href='{$bName}_read.php?bid={$bid}&amp;id={$next_id['id']}'>NEXT</a>"; 

당신은 객체와 배열 변수 중괄호 ({})가 필요하지만, 일반적인 변수 유용합니다. 또한 배열 인덱스는 문자열이므로 따옴표로 묶어야합니다 (정수 인덱스에는 필요하지 않음). 이 경우는 문제가되지 않을 것이지만, 그래서

또한, 나는 특수 문자 코드 (단지 &amp;를 같은)의 시작을 의미 &amp;&로 앰퍼샌드 (&를) 변경, 그것은을 두는 것이 가장 좋습니다 URL의 경우에도 HTML 코드가 들어 있습니다.

+3

'{}'안의 배열 키'[id]'는 따옴표 붙이 여야합니다. 그렇지 않으면 '정의되지 않은 상수 id'고지가 발생할 것입니다. '{$ next_id [ 'id']}' –

+0

아, 그렇습니다. – worldofjr

+0

ohhhh'{}'! 대단히 감사합니다! : D –