Dies ist kein Array, sondern ein Google-Objekt, das serialisiert wurde. Es erwartet, dass Sie ein Objekt namens Distance
in dem Namespace Ivory\GoogleMap\Service\Base\
haben.
Ich habe eine Github Repo gefunden, die damit zu tun scheint.
Wenn das nicht das, was Sie wollen Sie etwas ein bisschen unelegant wie das Lesen rückwärts vom Ende der Zeichenfolge versuchen könnte, bis Sie alle Ziffern haben.
str_replace(';}','',$string);
$output = '';
for ($i = -1; is_numeric(substr($string, $i,1)); $i--) {
$output = substr($string, $i,1).$output;
}
echo $output;
oder Sie könnten versuchen, explode
mit ‚"; i:‘. Als Token und das zweite Element greifen
$pieces = explode('";i:', $string);
$number = str_replace(';}','',$pieces[1]);
echo $number;
Oder Sie könnten mit einem regex etwas ein bisschen stabiler machen (die als Sie könnten raten, ich genieße es nicht.)
Update: von OP kommentiert es scheint, dass sie tatsächlich kämpfen mit einer Reihe von Google Ivory-Objekte und keine Zeichenfolge überhaupt. Das ist eine ganz andere Frage wenn das so wäre die Zeichenfolge, die sie analysieren mussten, würde meine Antwort helfen.
1) 'unserialize()' it 2) Zugriff auf die Eigenschaft – Rizier123
Sieht aus wie eine abgeschnittene php serialisierte Zeichenfolge. Wenn Sie die vollständige Zeichenfolge haben, verwenden Sie 'unserialize', um eine Array-Struktur zu erhalten. – Steve
Woher haben Sie diese Zeichenfolge? Es kann einen besseren Weg geben, diesen Wert zu erhalten. –