我使用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。
另外,如何将这些值分成每个单独的值。
任何建议
答案 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));
希望这有帮助。