我的数据库结果如下:
s:6:hobbit
s是“string”,值是第三部分中的字符数。这个叫什么?冒号分隔值?是通过正则表达式在PHP中处理它的唯一方法吗?
具体来说,我正在尝试获取值hobbit
。但显然当我访问数据库获取任何内容时,我得到了整个值s:6:hobbit
。我注定要使用正则表达式来处理这样的结果吗?
答案 0 :(得分:9)
看起来像serialize()
的输出。 (提示:unserialize()
*)
或者,您可以使用explode()
在:
上limit=3
。这很重要,因为字符串本身(来自第二个:
前进的所有内容)可能包含冒号。
另外,为什么DB中的这些值首先出现?
*) 编辑似乎serialize()
会将字符串编码为s:6:"hobbit"
(引用),以便explode()
可以证明是这样做的方法。
答案 1 :(得分:3)
list($tmp, $tmp, $string) = explode(':', $dbString);
echo $string;