次の文字列を取得しました。
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
どうやってするの?
次の文字列を取得しました。
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
どうやってするの?
正規表現は必要ありません。シリアル化された文字列です。それを逆シリアル化します。
$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']