Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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_String_Preg Match - Fatal编程技术网

Php 如何从数据库中获取字符之间的多个字符串

Php 如何从数据库中获取字符之间的多个字符串,php,mysql,string,preg-match,Php,Mysql,String,Preg Match,因此,我有多个列的格式如下{a | b | c}{e | f | g}{h | i | j}[d] a、 e、h、d是数字(例如:2、3、4.5等) b、 f,i是日期(例如2014年1月1日-是,带点) c、 g,j是一个随机格式化的ID,包含数字和字母 该列如下所示: {5|1.1.2014|a23yiuahd3}{5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7] $i={5|1.1.2014|a23yiuahd3 $i_res

因此,我有多个列的格式如下
{a | b | c}{e | f | g}{h | i | j}[d]

a、 e、h、d是数字(例如:2、3、4.5等)

b、 f,i是日期(例如2014年1月1日-是,带点)

c、 g,j是一个随机格式化的ID,包含数字和字母

该列如下所示:

{5|1.1.2014|a23yiuahd3}{5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]
$i={5|1.1.2014|a23yiuahd3

$i_rest={5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]

$i2={5.25|2.1.2014|a23yiuahd3

$i2_rest={9.25|2.1.2014|a23yiuahd3}[7] ,
我花了两天时间仔细研究如何用php输出它们,如下所示:

5.25 9.25
将鼠标悬停在每个数字上,将显示日期和用户(ID)

我尝试了preg_match,但它只会输出同一数组中的第一个{…}或所有。所以这不是什么好事

我尝试将多个子字符串与许多其他子字符串拆分,如下所示:

{5|1.1.2014|a23yiuahd3}{5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]
$i={5|1.1.2014|a23yiuahd3

$i_rest={5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]

$i2={5.25|2.1.2014|a23yiuahd3

$i2_rest={9.25|2.1.2014|a23yiuahd3}[7] ,
但是我有很多列,数据库超负荷了

一个请求时,我等待大约7秒钟


欢迎任何意见。

首先,分开你的绳子

$s = "{5|1.1.2014|a23yiuahd3}{5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]";
preg_match_all('/{([\d.]+)\|([\d.]+)\|([\da-z]+)}/', $s, $match);

print_r($match);
输出
现在,您可以从数组中提取数据
$match
并生成自己的输出。

您是否尝试过使用preg\u match\u all函数来获取数组中的所有记录,而不是使用foreach循环来生成所需的输出。你为什么要这样存储数据?这不是我的数据库。但是想法是受欢迎的。@Wh1T3h4Ck5把它写下来作为答案,这样我就可以投票了。我会自杀的。我忘了赛前的事了****