2015-02-09 65 views
1

我传递了一个数组使用Ajax,我在PHP中回应它,它工作良好。但我不知道如何分离它的价值并找到它的长度。分离从数组传递的每个数组值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. 也如何将这些值分成每个单一的值。 任何建议

回答

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 
+0

@ user3784251希望这应该为你工作:) – Priyank 2015-02-09 07:00:17

+0

呀..它的作品...谢谢你。会接受你的答案。 – user3784251 2015-02-09 07:02:02

0

传递值作为数组

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

然后

$a=$_GET['k']; 

其中$a将是一个数组,所以count($a)应该给你长

+0

@ user3784251希望这应该为你工作:) – Priyank 2015-02-09 06:59:47

0

你应该叫JSON.stringify在您的javascript中:

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

,或者使用jQuery的AJAX语法糖在你的POST请求:

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

这将提供一个JSON字符串作为传递给控制器​​。从你的控制器内你应该收到json_decode参数:

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

希望这会有所帮助。

1

尝试使用:

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