假设我刚刚从MySQL数据库中选择了PHP数组的字符串表示形式,如下所示:
a:1:{s:2:"cc";a:2:{i:39340;s:9:"Username1";i:119778;s:9:"Username2";}}
如何提取字符串"用户名1"和"用户名2"(或者更确切地说,第二组大括号中的所有字符串),其内容可以是此数组中的任何 ASCII 字符串(但不是字符串"cc")?在 PHP 中是否有一种简单的方法可以做到这一点,或者我需要使用正则表达式吗?
使用 unserialize()
.为什么?因为该字符串实际上是一个序列化数组,该函数会将其转换回数组。
$array = unserialize('a:1:{s:2:"cc";a:2:{i:39340;s:9:"Username1";i:119778;s:9:"Username2";}}');
print_r($array);
Array
(
[cc] => Array
(
[39340] => Username1
[119778] => Username2
)
)
查看实际效果