-1

重複の可能性:
Php pass array to Javascript
PHP 配列パラメーターを Javascript 関数に渡す方法は?

そのため、データベースから取得したデータで構成される配列から個々の要素をランダムに取得しようとしています。これは、php コードの簡略化されたバージョンです。

        function getID() {
                $result = array('1','2','3','4');

                $id = $result[array_rand($result)];
                return $id;
        }

ここから、返された ID を使用して JavaScript 変数を定義します。

奇妙なことに、渡された return $id を使用して JS 変数を定義すると、javascript 変数は $id データではなく = "Array" として定義されます。

PHPコードを次のように変更した場合:

        function getID() {
                $result = array('1','2','3','4');

                $id = array_rand($result);
                return $id;
        }

javascript 変数は、配列データではなく配列キーである $id として定義されます。

そこで、phpコードを次のように変更してみました:

        function getID() {
                $result = array('1','2','3','4');

                return $result[0];
        }

しかし、JavaScript は再び「配列」として定義されます。

あたかもphpが配列マーカーを取らないかのようです。

ここでのアイデアは大歓迎です。

4

1 に答える 1

2

PHP から JavaScript に配列を直接渡すことはできません。json_encodeJson でエンコードされた文字列として配列を返すために使用します。

function getID() {
   $result = array('1','2','3','4');

   json_encode($result);
}

そしてjavascriptでは次のことができます:

var obj = JSON.parse(jsonFormattedStringThatWasGeneratedByFunctionGetID);

ほとんどのブラウザがサポートJSON.parse()

編集:最初はあなたの質問を誤解していましたが、この方法を使用してクライアント側で目的のアイテムを取得することはできますが、これは完璧な解決策とは言えません。この回答は別のオプションとして残します。

于 2012-11-07T07:15:45.317 に答える