2012-04-12 14 views
0

の中で使用しています。このコードでは、JavaScriptのforループをPHPの内部で実行しています。とにかく、私は変数のPHP変数の内部のループのために使用することができますか?これはPHP内部にあります。forループの値をPHPの変数

echo '<script> 
for (var i =0; i<4;i++){ 

alert("hey"'.$phparr[i].'); 



}</script>'; 

私は$のphparrは、PHPの変数であるので、私はjavascriptの変数でありながら、これは動作しません知っているが、私はこれを行うことができますとにかくありますか?

+1

この質問の回答には、多くの下落があります。誰かがそれを個人的に服用していますか – staticsan

答えて

0

試してみてください。

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

    for (i in phparr){ 

     alert("hey" + phparr[i]); 

    } 
</script> 

PHPは、クライアント(ブラウザ)に達する前に、それが実行されることを意味するserver side languageです。

JavaScriptはclient side languageです。つまり、ブラウザ(クライアント側)で実行されます。

新しいウェブ開発者に最適なツールはGoogle検索です。 Learn how to search effectively.

+0

あなたのキーとその数が分からないので 'for(i pharr in) 'を使用しました。 – iambriansreed

-1

PHP配列をJavascript変数に格納し、kpotehinのようにループするのはどうでしょうか?

<script> 
var i = 0, name; 
var myArr = <?php echo json_encode($my_array); ?>; 

while (name = myArr[i++]){ 
    alert("hey " + name); 
} 
</script> 
+0

(これは '$ my_array'がPHPで配列を保持していることを前提としています) – rjz

-1

あなたは、このようにそれを行う必要があります

var arr = ["<?php echo implode('","',$array); ?>"]; 
for (var i =0; i<4;i++){ 
alert("hey"+ arr[i]); 
} 
+0

json_encodeを使うのは、そのようなやり方よりも優れています。なぜあなたの$配列要素の1つに引用が含まれているとしたら? – Corbin

-1

あなたの基本的な問題は、PHPコードとJavaScriptコードが同時にで実行されないことを忘れているということです。 PHPが実行され、HTMLとJavaScriptが出力されます。その後、ブラウザはJavaScriptを実行します。 JavaScriptがPHP変数(配列を含む)のデータに動的にアクセスする必要がある場合、PHPはJavaScript構造内にデータを宣言するJavaScriptを生成する必要があります。それが他のすべての答えがやっていることです。

0

あなたはほぼあります。 javascriptでphp配列にアクセスするには、まずphp配列をjavascript配列にエコーする必要があります。試してみてください:あなたのPHPの配列は、データベースから、またはJavaScriptが誤って解釈することがあり、特殊文字が含まれている場合は

$phparr_imploded = implode(',',$phparr); 
echo ' 
    <script> 
     var arr = ['.$phparr_imploded.']; 
     for (var i =0; i<4;i++){ 
      alert("hey"+arr[i]); 
     } 
    </script> 
'; 

を、出力する前にサニタイズすることを確認してください。

あなたのPHP配列のオブジェクトは文字列ですか?その場合は、暗黙のうちにエスケープされた引用符でオブジェクトを囲む必要があります。

for($i=0; i<count($phparr); $i++){ 
    $phparr[i] = '"'.$phparr[i].'"'; 
}; 
+0

ねえ、これは素晴らしい仕事をしましたが、私の配列に含まれる文字列は実際にhtmlです。たとえば、があります。今のところ、引用符を除いたものだけです。そうでなければjavascriptはそれを受け入れないからです。とにかくそこにそれらを持つことができるようにするには、私のjavscriptの選択の中で私のオプションを印刷することはできません。 – user541597

+0

ああ、2つのタイプの引用符、一重引用符と二重引用符があることをよく覚えておいてください。一度に3つの異なる言語(html、javascript、およびphp)で作業すると、手間がかかります。 以前に入力したコードに基づいて、警告が機能するはずです。私はあなたが今苦労しているコードではないと仮定します。 –