我有一些请求,如下所示:
$input = "$POS,1234,5223,A,2719";
如果收到如上所述的请求,请使用以下代码处理保存到数据库的过程:
$input_ex = explode(",", $input);
$input_ex[0];
$input_ex[1];
$input_ex[2];
$input_ex[3];
$input_ex[4];
mysql_query("INSERT INTO table_name (cl_1,cl_2,cl_3,cl_4,cl_5)
values ('$input_ex[0]','$input_ex[1]','$input_ex[2]','$input_ex[3]','$input_ex[4]')
问题:
我的输入有时可能不止一个,并用"#"字符分隔
最后一行输入可能也有"#"字符
$input = "$POS,1234,5223,A,2719#
$POX,752,4342,N,SXD#
$POZ,122,6242,B,XFB#";
如何分离每一行并将其作为新行插入数据库
谢谢;)
编辑:输入是3种不同的模式,第一种是没有任何#
符号的一行,第二种是最后一行有更多#
结束的行,最后一行结束时第三行没有#
符号
foreach (explode('#', $input) as $record) {
$record = trim($record);
if ($record == '')
continue;
$input_ex = explode(',', $record);
$input_ex[0];
$input_ex[1];
$input_ex[2];
$input_ex[3];
$input_ex[4];
// Same MySQL query as you already have
mysql_query("...");
}
首先按"#"进行分解,对于每个结果按","进行分解并添加新行
只需首先在'#上爆炸,然后循环遍历在"上爆炸的结果数组,就像您正在做的那样,并为每行插入一个。
您需要使用explode()
两次。首先检查多个记录,然后再次在分隔符,
:上进行拆分
<?php
$input = "POS,1234,5223,A,2719# POX,752,4342,N,SXD# POZ,122,6242,B,XFB#";
foreach(explode('#', $input) as $records){
$record = explode(',', $records);
print_r($record);
}
?>