0

PHPで配列を作成してから、Javaスクリプト関数に割り当てる必要があります。このようなものが必要です。見た目と同じようにこの配列が必要です

$users = array(
array('username' => 'user1', 'email' => 'user1@your-host.com'),
array('username' => 'user2', 'email' => 'user2@your-host.com'),
array('username' => 'user3', 'email' => 'user2@your-host.com'),
...
);

$users 配列の場合、このコードを試しました

 $users = array();
while($rw = $objApp->dbrow($res))
{
 $users []=array('username'=>$rw['username'],
      'email'=>$rw['email']
);
}

これでよろしいですか?

はいの場合、同じ配列をjavascript関数に渡したい...これが私が試したものです

  objJS::importUsers( <?php echo json_encode($results) ?>);

これは簡単です。コードが機能していないためにコードの問題は何ですか

4

3 に答える 3

3

PHP から Javascript に任意のオブジェクトまたは配列を渡したい場合は、JSON を試すことができます。(未テスト)

<?php
    $data = array('whatever');
    $json = json_encode($data);
?>

<script>
    var json = '<?=$json?>';
    var obj = JSON.parse(json);

    // do with your obj.
</script>

PHP json_encode

Javascript JSON.parse

'オブジェクト/配列に文字を含むキー/値が含まれていない場合にのみ機能することに注意してください。


編集:構文を混同した可能性があるようです。

Javascript には::演算子がありません。

私は信じている

objJS::importUsers( <?php echo json_encode($results) ?>);

実際にあるはずです

objJS.importUsers( <?php echo json_encode($results) ?>);

ただし、何が何であるかを教えていただけないので、勝手なobjJs::importUsers推測にすぎません。それは Javascript 関数ですか、それとも PHP クラス メソッドですか、それとも何か他のものですか?

それが PHP 関数である場合、なぜそれを Javascript に渡す必要があるのでしょうか。そのメソッドを直接呼び出すだけです。

編集ここで他の投稿のコメントを読みましたarray.PHPをJavascriptに渡し、Javascriptとして表示しarrayます。残念ながら、それらは同じではありません。Javascriptキーは実際には文字列 ( など) にすることはarrayできません。実際には Javascript です。'email'objects

于 2013-07-21T07:25:46.523 に答える
1
<?php
    $result =['your entire array']
    echo json_encode($result);
?>

あなたのJavaScriptで!!!

var JS_ARRAY=[];
$.ajax({
            url: "../xyz/xyz.php",
            type: 'POST',
            data: {//your data to be send},
            dataType: "json",
            success: function(data) {
                     console.log(JSON.stringify(data)
                     JS_ARRAY.push(JSON.stringify(data));
}
});
//use this JS_ARRAY in you js function. 
于 2013-07-21T07:32:42.243 に答える
1
    <?php
    $users = array(
        array('username' => 'user1', 'email' => 'user1@your-host.com'),
        array('username' => 'user2', 'email' => 'user2@your-host.com'),
        array('username' => 'user3', 'email' => 'user2@your-host.com'),
    );
    $users_json_str = json_encode($users);
    ?>
    <script type="text/javascript">
    // here is you java script
    // the variable users is the same with the $users in your php code
    var users = <?php echo "$users_json_str";?>;

    // you can access the first username
    var first_user_name = users[0]['username'];
    </script>
于 2013-07-21T07:32:43.230 に答える