0

私のjsコード:

$(function(){
    var arr = new Array('jj', 'kk', 'oo');
    $.post('test12.php', {'arr[]': arr}, function(data){
        alert(data);
    });
});

PHP コード:

<?php
echo print_r($_POST['arr']);

問題は、$.post が 'arr[]' という名前のキーを受け取ることです。PHP では 'arr' ではなく 'arr[]' として使用する必要がありますが、'$_POST['arr[]']' はそうではありません。 work,'arr' works.Jquery は、PHP に何かを送信する前に中かっこ '[]' を使用して何かを実行するようです。

第二に、'arr[]' 周辺の単一クォータを削除すると、PHP は $_POST['arr'];を使用して何も受信できません。なぜですか?

中括弧を使用しない従来の方法でこのタスクを実行します。

$.post('test12.php', {arr: arr}, function(data){
        alert(data);
    });

それは正常に動作します。

したがって、javascript 配列を PHP に送信するときに、わざわざ一重引用符と中括弧を使用する必要があるのはなぜですか

'arr[]'

arr:arr のような簡潔な方法を使用する代わりに

私のリターン結果は

Array(
   [0]=>jj
   [1]=>kk
   [2]=>oo
)
1

配列の下に 1 があることに注意してください。なぜですか?

4

2 に答える 2