2012-05-24 5 views
-3

왜 내 자바 스크립트 배열이 비어 있습니까? while 루프에서 변수 ($ btext)를 채 웁니다. 내가 $ btext를 echo 할 때 모든 것이 잘 보입니다 :자바 스크립트 배열의 PHP 변수

그러나 자바 스크립트 배열을 채우려 고 시도하면 아무것도 인쇄되지 않습니다. 여기

$btext .= "\"".${'name_'.$user}."\","; 

자바 스크립트 부분 :

이것은 내가 PHP에서 변수 $ btext을 채우는 방법이다

var battletext = new Array(<? echo $btext; ?>); 

내가 좋아하는 btext $를 정의하는 경우 :

$btext = "\"Hallo\", \"Welt\""; 

을 소스 코드는 다음과 같습니다.

<script> 
var battletext = new Array("Hallo", "Welt"); 
</script> 
+0

그것은 당신의 문제가이 문제에서 무엇을 말할 어렵다. – Gareth

+1

왜 그것이 비어 있다고 생각합니까? battletext의 길이는 2입니다. – Bergi

+0

빈 배열은 어디에 있습니까? – JJJ

답변

6

그냥 JSON 인코딩을 사용해야합니다

$battletext = array("Hallo", "Welt"); 

HTML :

<script> 
var battletext = <?php echo json_encode($battletext); ?>; 
</script> 

소스 :

<script> 
var battletext = ["Hallo", "Welt"]; 
</script> 
+0

while 루프에서 $ battletext를 어떻게 채울 수 있습니까? – Quicknation

+0

내가하고 싶은 일을 설명하려면 : 변수 ($ btext)를 루프에 채우고 나중에 변수의 모든 부분을 단계별로 실행하여 텍스트 상자에 표시하십시오. – Quicknation

+0

@Quicknation 루프에서 문자열 연결 대신 ('$ btext. =')는 루프 앞에'$ btext = array()'를 선언하고 루프 안에'$ btext [] = $ { 'name _'. $ user};' 'json_encode()'가 유효한 Javascript [배열 리터럴] (http://www.javascriptkit.com/javatutors/literal-notation.shtml)로 변환되는 모든 이름의 PHP 배열입니다. 부수적으로 변수 변수 이름 대신 배열을 사용하는 것이 더 좋을 것입니다. – DaveRandom