Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 将字符串拆分为字段_Php_Mysql_Regex - Fatal编程技术网

Php 将字符串拆分为字段

Php 将字符串拆分为字段,php,mysql,regex,Php,Mysql,Regex,我有一个使用PHP的字符串输入,如下所示: Log,,t1,12.12:t2,20.23:t3,30.00:t4,50.20:11.23 我想把它保存到MySQL中 field:reading t1:12.12 t2:20.23 t3:30.00 t4:50.20 Temp:11.23 谁能给我一个方向吗?开始你必须解析到行和列 $string = 't1,12.12:t2,20.23:t3,30.00:t4,50.20:11.23'; $rows = explode(':', $strin

我有一个使用PHP的字符串输入,如下所示:

Log,,t1,12.12:t2,20.23:t3,30.00:t4,50.20:11.23
我想把它保存到MySQL中

field:reading
t1:12.12
t2:20.23
t3:30.00
t4:50.20
Temp:11.23

谁能给我一个方向吗?

开始你必须解析到行和列

$string = 't1,12.12:t2,20.23:t3,30.00:t4,50.20:11.23';
$rows = explode(':', $string);
$table = array();
foreach(rows as $row) {
   $table[] = explode(',', $row);
}

您可以在下面使用正则表达式:

if (preg_match_all('/[a-z]+\d+,\d+\.\d+|\d+\.\d+/i', $string, $matches) {
    var_dump($matches[0]);
}
如果每个字段都称为“t+number”,则正则表达式可能会简单一些:


你自己试过什么吗?
field
reading
Temp
来自哪里?你试过什么?
if (preg_match_all('/t\d+,\d+\.\d+|\d+\.\d+/i', $string, $matches) {
    var_dump($matches[0]);
}