gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 08:12:04 26 4
gpt4 key购买 nike

所以,我有多列格式如下 {a|b|c}{e|f|g}{h|i|j}[d] .

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

b、f、i 是日期(例如 1.1.2014 - 是的,带点)

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

该列如下所示:

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

我花了两天时间思考如何在 php 中输出它们,如下所示:

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

我尝试使用 preg_match 但它只会输出第一个 {...} 或同一数组中的所有内容。所以没有什么好事。

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

$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);

输出

Array
(
[0] => Array
(
[0] => {5|1.1.2014|a23yiuahd3}
[1] => {5.25|2.1.2014|a23yiuahd3}
[2] => {9.25|2.1.2014|a23yiuahd3}
)

[1] => Array
(
[0] => 5
[1] => 5.25
[2] => 9.25
)

[2] => Array
(
[0] => 1.1.2014
[1] => 2.1.2014
[2] => 2.1.2014
)

[3] => Array
(
[0] => a23yiuahd3
[1] => a23yiuahd3
[2] => a23yiuahd3
)

)

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

关于php - 如何从数据库中的字符之间获取多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com