我有以下字符串:a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}
在这种情况下,我需要做的是从中提取数字48。这个数字可以有任意数字。我该怎么做?
看起来您正面对一个序列化的字符串。因此,与其尝试使用正则表达式或任何其他字符串操作方法来获取该数字,不如尝试以下方法:
$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
您到底想实现什么?这个字符串看起来像serialize()
d,所以你最好的选择是unserialize()
it
它看起来像是序列化的字符串。
$data = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
print_r($data['userid']);
看起来这是一个序列化的关联数组。您只需要使用unserialize()将它从字符串返回到数组中。
<?php
$arr = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
echo $arr['userid'];
?>
我看到的字符串是PHP 中的序列化数组
要取消数组的序列化,请执行此
$obj = unserialize('a:2:{s:4:"user";b:1;s:6:"userid";s:2:"48";}');
echo $obj['userid'];
我有未序列化的数组,然后按名称访问数组参数