2012-02-17 55 views
1

私は次の文字列を持っています:a:2:{s:4: "user"; b:1; s:6: "userid"; s:2: "48";}文字列からのPHPテキスト抽出

私がする必要があるのは、この場合、番号48を抽出することです。この数字には任意の桁数を使用できます。これをどうやってやりますか?

答えて

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

何を正確にあなたは達成しようとしていますか?その文字列はserialize()のように見えるので、あなたの最善の策はunserialize()です。

1

これはシリアル化された文字列のようです。

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

これはシリアル化された連想配列のようです。文字列から配列に戻すにはunserialize()を使うだけです。

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

私が見た文字列は、配列が、私は、シリアライズ配列は、名前

によって配列のparamにアクセスする必要があり、この

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

を行うアンシリアライズするにはPHP

でシリアライズされた配列であります

関連する問題