【问题标题】:Isolate strings out of PHP array?将字符串从 PHP 数组中分离出来?
【发布时间】:2013-09-12 19:19:02
【问题描述】:

假设我刚刚从 MySQL 数据库中选择了 PHP 数组的字符串表示形式,如下所示:

a:1:{s:2:"cc";a:2:{i:39340;s:9:"Username1";i:119778;s:9:"Username2";}}

如何提取字符串“Username1”和“Username2”(或者更确切地说,第二组花括号中的所有字符串),其内容可以是该数组中的任何 ASCII 字符串(但不能是字符串“cc”) ?在 PHP 中是否有一种简单的方法可以做到这一点,还是我需要使用正则表达式?

【问题讨论】:

    标签: php regex arrays string parsing


    【解决方案1】:

    使用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
            )
    
    )
    

    See it in action

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多