0

次の文字列を取得しました。

a:3:{s:3:"lat";s:17:"49.21103723075132";s:3:"lng";s:18:"22.330280542373657";s:4:"zoom";s:2:"17";}

そして、私はそれからこれを取得したい:

49.21103723075132 

22.330280542373657

どうやってするの?

4

1 に答える 1

1

正規表現は必要ありません。シリアル化された文字列です。それを逆シリアル化します。

$str = 'a:3:{s:3:"lat";s:17:"49.21103723075132";s:3:"lng";s:18:"22.330280542373657";s:4:"zoom";s:2:"17";}';
$deserialized = unserialize($str);
var_dump($deserialized);

出力は次のとおりです。

array(3) {
  ["lat"]=>
  string(17) "49.21103723075132"
  ["lng"]=>
  string(18) "22.330280542373657"
  ["zoom"]=>
  string(2) "17"
}

したがって、配列の要素としてアクセスできます: $deserialized['lat']$deserialized['lng']

于 2012-07-27T11:07:01.047 に答える