1

php配列をjavascriptに渡したい。このサイトからいくつかの例を試しましたが、残りのコードはそれらを認識していないようです。問題は、引用符または配列の形式にあると思います。

まず、以下のように定義されたvarfunctionlistは正常に機能します。

<script type="text/javascript">
    var functionlist = Array('1','2','3','4','5','6','7','8','9','10','11','12');
    //Rest of the code
</script>

2番目:以下のように定義されたvarfunctionlistは正常に機能します。

<script type="text/javascript">
    var functionlist=Array("1","2","3","4","5","6","7","8","9","10","11","12");
    //Rest of the code
</script>

ただし、$ TransfArrayをエコーすると上記と非常によく似たものがレンダリングされるにもかかわらず、以下のコードは機能しません。

<?php
    for ($i = 0; $i <= 12; $i++) {
        $OriginalArray[$i] = $i;
    }
    $TransfArray= "'" . implode("','", $OriginalArray) . "'";
?>

<script type="text/javascript">
    var functionlist = Array(<? echo $TransfArray; ?>);
    //Rest of the code
</script>

以下のコードも

<?php
    for ($i = 0; $i <= 12; $i++) {
        $OriginalArray[$i] = $i;
    }
    $Original_to_json = json_encode($OriginalArray);
?>

<script type="text/javascript">
    var functionlist =  <?php echo $Original_to_json; ?>;
    //Rest of the code
</script>

誰かが問題を検出しますか?事前にThnaks。

4

3 に答える 3

2

次のようにキャストを使用します。

<?php
for ($i = 0; $i <= 12; $i++) {
$OriginalArray[]= (String)$i;
}
$Original_to_json=json_encode($OriginalArray);
?>

<script type="text/javascript">
var functionlist =  <?php echo $Original_to_json; ?>;
//Rest of the code
</script>
于 2013-02-26T13:26:36.487 に答える
0

PHPでJavaScriptコードを書くのは、ひどい習慣です。あなたはそれをするべきではありません。代わりに、別の簡単なことを行うことができます。

  1. PHPでは、配列をJSONオブジェクトに変換してJSONドキュメントを生成します。そのためにjson_encode関数を使用します。ファイルに「json.php」という名前を付けます(名前はdata.jsonの方がおそらく良い方法ですが、さらに多くの手順を実行する必要があります)。
  2. これで、ファイルをHTMLドキュメントに含めることができます <script src="json.php"></script>。または、AJAXを使用してファイルを動的にロードすることもできます。
  3. JSONオブジェクトにはJavaScript配列が含まれます。
于 2013-02-26T13:24:44.707 に答える
-1

これを試して :

<script type="text/javascript">
var functionlist =  <?php echo json_encode($OriginalArray); ?>;
//Rest of the code
</script>

楽しみ ;)

于 2013-02-26T13:24:36.303 に答える