Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将单个数组拆分为多个数组以插入mysql数据_Php_Mysqli - Fatal编程技术网

Php 将单个数组拆分为多个数组以插入mysql数据

Php 将单个数组拆分为多个数组以插入mysql数据,php,mysqli,Php,Mysqli,我正在尝试将一个文本区域中的数据(以制表符分隔的数据)拆分为多个数组 过程是: 将数据导入文本区域 Post textarea to insert.php Preg_用逗号替换制表符 用逗号分解 打印\u r 使用的样本日期为: S Findlay医生1234567890米老鼠2001年1月1日选择性等待2002年2月2日00:00医生一天的病例2003年3月3日00:00接受医疗建议通常居住地点 我从中得到的结果是: Array([0]=>S Findlay医生[1]=>1234567890

我正在尝试将一个文本区域中的数据(以制表符分隔的数据)拆分为多个数组

过程是:
将数据导入文本区域
Post textarea to insert.php
Preg_用逗号替换制表符
用逗号分解
打印\u r

使用的样本日期为:
S Findlay医生1234567890米老鼠2001年1月1日选择性等待2002年2月2日00:00医生一天的病例2003年3月3日00:00接受医疗建议通常居住地点

我从中得到的结果是:
Array([0]=>S Findlay医生[1]=>1234567890[2]=>Mickey[3]=>Mouse[4]=>01/01/2001[5]=>optional Waiting[6]=>02/02/2002 00:00[7]=>Dr one[8]=>Day Case[9]=>03/03/2003 00:00[10]=>接受医疗咨询[11]=>通常居住地点[12]=>

这很好地工作,并完美地插入到mysql数据库中。但是,当我使用一个完整的数据范围(可以是2倍到50倍)时,上面示例的数据量显示不同:

更真实的数据示例:
S Findlay医生1234567890米老鼠2001年1月1日选择性等待2002年2月2日00:00医生一天病例2003年3月3日00:00接受医疗建议通常居住地点
Peter 1234557890 Mickey1 Mouse1 01/01/2003等待02/02/2014 00:00医生一个等待病例
Dr Nail 123456990 Mickey2 Mouse2 01/01/2009紧急02/02/2018 00:00 Dr one紧急29/05/2018

结果:
Array([0]=>S Findlay医生[1]=>1234567890[2]=>Mickey[3]=>Mouse[4]=>01/01/2001[5]=>optional Waiting[6]=>02/02/2002 00:00[7]=>Dr one[8]=>Day Case[9]=>03/03/2003 00:00[10]=>接受医疗咨询[11]=>Peter[13]=>1234557890[14]=>Mickey1[15]=>Mouse1[16]=>2003]=>等待[18]=>2014年2月2日00:00[19]=>Dr one[20]=>等待案例[21]=>22]=>[23]=>Dr Nail[25]=>123456990[26]=>Mickey2[27]=>Mouse2[28]=>2009年1月1日[29]=>Emergencey[30]=>2018年2月2日00:00[31]=>Dr one[32]=>Emergencey[33]=>

我想做的(但不知道如何做)是将其拆分为数组,以便每行数据(13列不总是包含数据)显示为这样,以便我可以一次性将所有数据插入mysql。我不知道这是否会工作,所以请纠正我,如果它不会

我希望它看起来像什么:

数组([0]=>S Findlay医生[1]=>1234567890[2]=>Mickey[3]=>Mouse[4]=>01/01/2001[5]=>Optional Waiting[6]=>02/02/2002 00:00[7]=>Dr one[8]=>Day Case[9]=>03/03/2003 00:00[10]=>就医[11]=>常住地点[12]=>)


阵列([0]=>Peter博士[1]=>1234557890[2]=>Mickey1[3]=>Mouse1[4]=>01/01/2003[5]=>Waiting[6]=>02/02/2014 00:00[7]=>Dr one[8]=>Waiting Case[9]=>10]=>11]=>12]=>)


阵列([0]=>Dr Nail[1]=>123456990[2]=>Mickey2[3]=>Mouse2[4]=>01/01/2009[5]=>Emergencey[6]=>2018年02月00:00[7]=>Dr one[8]=>Emergencey[9]=>10]=>11]=>12]=>29/05/2018)

然后我假设我可以给数组的每个部分一个名称
$forename=$area[2]然后使用它插入到数据库的正确字段


如果这没有意义,或者如果我找错了方向,那就抱歉。感谢您的所有建议、帮助或信息。谢谢AJ

你好,兄弟,你的解释很混乱,但正如你所说 在start中描述了您的工作过程,因此在此基础上,我 我建议您使用下面的代码。试试看

不确定是否有效,但值得一试

<?php
     // explode by tab
     $tabbedContent = 'Dr   S   Findlay 1234567890  Mickey  Mouse   01/01/2001  Elective Waiting    02/02/2002 00:00    Dr  one Day Case    03/03/2003 00:00    On  Medical Advice  Usual   Place   of  Residence';

      echo '<pre>';
       var_dump(explode("\t", $tabbedContent));
      echo '</pre>';
  ?>

至少这会缩短你的过程


不确定您的方法是否非常安全和实用,但您可以使用
array\u chunk()
将数组拆分为段。请编辑您的问题。这很难理解。尝试提供一个@NigelRen,它只能在本地网络上访问,因此安全性不是一个问题。谢谢你对数组的评论。我会看一看。主要的问题是它是否能始终如一地工作,有了用户的输入,只需要轻微的输入就可以改变,使用这种方法,你的数据可能到处都是。@NigelRen从电子邮件中复制并粘贴,因此不需要输入。我已经让它一半用于
array\u chunk()
但是现在需要弄清楚如何动态地将每个数组发回