将每个数组值与ajax-php传递的数组分开

时间:2015-02-09 06:47:10

标签: javascript php jquery arrays ajax

我使用Ajax传递了一个数组,我在php中回应它,它运行良好。但我不知道如何分离它的价值并找到它的长度。

以下是代码:

var myCheckboxes = new Array();
        $(".book_type:checked").each(function() {
           myCheckboxes.push($(this).val());
        });

            $.post("s.php?c="+category+"&k="+myCheckboxes,{data : "some data"}, function(response){
   $("#show_result").html(response);

而且php是:

$a=$_GET['k'];
echo $a;

它显示所有复选框的值,如

all,0,1,2,3,4

如何将$a长度视为数组?如果我使用sizeof($a),则显示为1。 另外,如何将这些值分成每个单独的值。 任何建议

4 个答案:

答案 0 :(得分:1)

尝试使用:

$a=$_GET['k'];
$a=explode(',', $a);
echo count($a);

答案 1 :(得分:1)

  

试试这个

$a=$_GET['k'];
$value= explode(",",$a);
echo sizeof($value); //output 6
echo $value[0];      //all
echo $value[1];      //0
echo $value[2];      //1
echo $value[3];      //2
echo $value[4];      //3
echo $value[5];      //4

答案 2 :(得分:0)

将值作为数组传递

$.post("s.php", {
    data: "some data",
    c: category,
    k: myCheckboxes
}, function (response) {
    $("#show_result").html(response);
})

然后

$a=$_GET['k'];

其中$a将是一个数组,因此count($a)应该为您提供长度

答案 3 :(得分:0)

您应该在javascript中调用JSON.stringify

//                   ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
... category+"&k=" + JSON.stringify(myCheckboxes) ...

或者,在你的帖子请求中使用jQuery ajax语法糖:

$.post("s.php", { k: myCheckboxes, ... });

这将提供一个json作为传递给控制器​​的字符串。在您的控制器中,您应该json_decode收到的参数:

$a = $_GET['k'];
print_r(json_decode($a));

希望这有帮助。