0

php配列を含むjavascriptでforループを実行するこのコードがあります。とにかく、たとえばphp変数内のループに変数を使用できますか?これはすべてphpの内部です。

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

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



}</script>';

$ phparrはphp変数であり、iはjavascript変数であるため、これは機能しないことを私は知っています。とにかくこれを行うことができますか?

4

5 に答える 5

0

試す:

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

    for (i in phparr){

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

    }
</script>

PHPはサーバー側の言語であり、クライアント(ブラウザー)に到達する前に実行されることを意味します。

JavaScriptはクライアント側の言語であり、ブラウザ(クライアント側)で実行されることを意味します。

新しいWeb開発者に最適なツールは、Google検索です。 効果的に検索する方法を学びます。

于 2012-04-12T00:34:06.833 に答える
0

もうすぐです。javascriptでphp配列にアクセスするには、最初に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配列がデータベースからのものである場合、またはjavascriptが誤解する可能性のある特殊文字が含まれている場合は、出力する前に必ずサニタイズしてください。

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

for($i=0; i<count($phparr); $i++){
    $phparr[i] = '"'.$phparr[i].'"';
};
于 2012-04-12T00:51:32.700 に答える
-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>
于 2012-04-12T00:20:55.097 に答える
-1

あなたはそれをこのようにするべきです:

var arr = ["<?php echo implode('","',$array); ?>"];
for (var i =0; i<4;i++){
alert("hey"+ arr[i]);
}
于 2012-04-12T00:21:19.573 に答える
-1

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

于 2012-04-12T00:29:36.100 に答える