从字符串中提取PHP文本

时间:2012-02-17 16:13:28

标签: php string text-extraction

我有以下字符串:a:2:{s:4:“user”; b:1; s:6:“userid”; s:2:“48”;}

在这种情况下,我需要做的是从中提取48号。此数字可以包含任意数字。我该怎么做呢?

5 个答案:

答案 0 :(得分:4)

看起来你正面临一个序列化的字符串。因此,不要试图使用正则表达式或任何其他字符串操作方法来获取该数字,请尝试以下方法:

$myVar = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
$myNumber = $myVar['userid'];

在此处了解PHP序列化:

  

http://php.net/manual/en/function.serialize.php
  http://php.net/manual/en/function.unserialize.php

答案 1 :(得分:1)

您想要实现的完全是什么?该字符串看起来像serialize() d字符串,因此您最好的选择是unserialize()

答案 2 :(得分:1)

它看起来像序列化的字符串。

$data = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
print_r($data['userid']);

答案 3 :(得分:0)

看起来这是一个序列化的关联数组。您只需要使用unserialize()将其从字符串转换回数组。

<?php
  $arr = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
  echo $arr['userid'];
?>

答案 4 :(得分:0)

我看到的字符串是PHP中的序列化数组

要反序列化数组,请执行此操作

$obj = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
echo $obj['userid'];

我有未序列化的数组,然后按名称访问数组参数