首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中销毁数组

在PHP中销毁数组
EN

Stack Overflow用户
提问于 2019-03-05 05:43:49
回答 1查看 0关注 0票数 0

不知道为什么我遇到这个问题。我在以前的项目中使用了相同的代码,没有任何问题。

我正在使用JavaScript中的复选框生成一个数组。我可以成功$ .post数组到PHP,但我一直收到以下错误:

警告:explode()期望参数2为字符串,数组在第14行的D:\ htdocs \ deliverynoticeV2 \ process \ updateRecord.php中给出 警告:implode():在第15行的 D:\ htdocs \ deliverynoticeV2 \ process \ updateRecord.php中传递的参数无效

它重复相同的错误大约4次,因为我有4个不同的阵列,我发送过来。

从JavaScript开始:

$('#updateRecords').on('click', function(e)
{ 
  e.preventDefault();
  $('#updateForm input').val('');

  var checkcontainer = [];
  var checkorder = [];
  var checktrucker = [];
  var checkconsignee = [];

  $(".checkEdit:checked").each(function(){
    checkcontainer.push($(this).data("checkcontainer"));
    checkorder.push($(this).data("checkorder"));
    checktrucker.push($(this).data("checktrucker")); 
    checkconsignee.push($(this).data("checkconsignee")); 
  });

  console.log(checkcontainer);

  $.post('process/updateRecord.php', {checkcontainer:checkcontainer,
  checkorder:checkorder, checktrucker:checktrucker, checkconsignee:checkconsignee}, 
  function(data)
  {
    console.log(data);
  }); 
});

当我控制变量'checkcontainer'时,我看到以下内容:

["FSCU7122545", "TGHU6235458", "TCNU6900047"]

在PHP中,代码如下所示:

<?php
if(isset($_POST['checkcontainer']))
{
  $checkcontainer = $_POST['checkcontainer'];
  $checkorder = $_POST['checkorder'];
  $checktrucker = $_POST['checktrucker'];
  $checkconsignee = $_POST['checkconsignee'];

  $containerSplit = explode(",", $checkcontainer);
  $containers = "'" . implode("', '", $containerSplit) . "'";
  $orderSplit = explode(",", $checkorder);
  $orders = "'" . implode("', '", $orderSplit) . "'";
  $truckerSplit = explode(",", $checktrucker);
  $truckers = "'" . implode("', '", $truckerSplit) . "'";      
  $consigneeSplit = explode(",", $checkconsignee);
  $consignees = "'" . implode("', '", $consigneeSplit) . "'";

  echo $containers;
}
?>

如上所述,我在之前的项目中使用了相同的代码。为什么我收到上述错误?

EN

回答 1

Stack Overflow用户

发布于 2019-03-05 15:29:29

实际上explode()之前不需要调用implode(),因为你发送的数据是数组(你的js中的变量是数组)。所以你所有的$_POST变量都是数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档