将jquery数组传递给php - 意外格式和count()值以及变量传递问题

时间:2014-01-07 07:38:30

标签: php jquery arrays

我正在传递一个名为'selected'的jquery数组,其中包含一个ajax模式的开头。

$('#dtDelete').on('click', function () {
    $('#modal-ajax').load('/modals/m__delete.php?selected='+selected);
    $('#modal-ajax').modal('show');                         
});

在模态php页面count($_GET['selected']);总是返回1,无论如何。我试图获得数组中值的实际计数。事实证明这是因为数组是一个字符串,如下所示。

var_dump($_GET['selected']);返回string(69) "187419,187420,187413,187414,187415,187416,187417,187418,187421,187422"行的内容,这是我不习惯的(jquery的新内容)。我需要在这个数组上使用foreach在php中进行处理。我可以'将'转换为'正常'的php数组,这样count()将按预期工作,我可以在php中正常处理吗?

最后,这个数组有时可能会非常大,也可能不会非常大。上面的jquery函数打开一个ajax模式(我使用模态作为用户的确认框是否真的要删除所选数组中的条目)我知道$ _GET方法对数据量有限制通过。我不能做$ _POST,因为这是一个模态,我需要加载它然后显示它...我怎么能传递这些数据?

1 个答案:

答案 0 :(得分:0)

$_GET['selected']

在属性“selected”之后返回STRING,count(string)为1并不重要(多维数组不大于1)。

对于您提供的逗号分隔字符串示例,您可以使用以下内容:

  $selected = $_GET['selected'];
  //test wether the string has contents
  if(strlen($selected)!=0) {
     $selected_array = explode(',',$selected); //this is the new array that you want
  }
  else {
     //the string is empty
  }

您可以查看许多字符串函数:http://www.php.net/manual/en/ref.strings.php