【发布时间】:2013-06-04 09:54:25
【问题描述】:
你能帮我把大字符串分成子字符串吗?
场景: 在 MySQL 表中的一个字段中,我有一个字符串,其中有一个以下格式的活动日志:
yyyy-mm-dd hh:mm:ss - Name1 Surname1 - Activity1
yyyy-mm-dd hh:mm:ss - Name2 Surname2 - Activity2
yyyy-mm-dd hh:mm:ss - Name3 Surname3 - Multiline Activity1
Multiline Activity2
Multiline Activity3
yyyy-mm-dd hh:mm:ss - Name4 Surname4 - Activity4
问题:
如何将上述数据拆分成这样的数组:
id date name activity
1 yyyy-mm-dd hh:mm:ss Name1 Surname1 Activity1
2 yyyy-mm-dd hh:mm:ss Name2 Surname2 Activity2
3 yyyy-mm-dd hh:mm:ss Name3 Surname3 Multiline Activity 1, Multiline Activity2, Multiline Activity 3
4 yyyy-mm-dd hh:mm:ss Name4 Surname4 Activity4
使用 PHP 或 MySQL 查询?
我知道它可以以某种方式完成,但不幸的是,由于 PHP/MySQL 的知识不允许我解析带有可变分隔符(日期)的文本,或者可能有其他方法?
【问题讨论】:
-
你为什么不在'-'上分开?
-
即使使用 mysql 也可以做到。检查这个很好的答案:stackoverflow.com/questions/6152137/mysql-string-split 但是,这是高级程序员的高级用法:)
-
我认为你的表格设计是错误的。你可以在php中使用explode函数来获得所需的输出
-
不幸的是,我正在处理现有数据库,所以我不是数据结构的设计者。这个问题与将来将数据结构转换为更易于访问的格式有关