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把它写下来作为答案,这样我就可以投票了。我会自杀的。我忘了赛前的事了****