SimpleXMLElement オブジェクトから値を取得する 質問する

SimpleXMLElement オブジェクトから値を取得する 質問する

次のようなものがあります:

$url = "http://ws.geonames.org/findNearbyPostalCodes?country=pl&placename=";
$url .= rawurlencode($city[$i]);

$xml = simplexml_load_file($url);
echo $url."\n";
$cityCode[] = array(
    'city' => $city[$i], 
    'lat' => $xml->code[0]->lat, 
    'lng' => $xml->code[0]->lng
);

これは、geonames から XML をダウンロードするはずです。そうすると、次のprint_r($xml)ようになります:

SimpleXMLElement Object
(
    [code] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [postalcode] => 01-935
                    [name] => Warszawa
                    [countryCode] => PL
                    [lat] => 52.25
                    [lng] => 21.0
                    [adminCode1] => SimpleXMLElement Object
                        (
                        )

                    [adminName1] => Mazowieckie
                    [adminCode2] => SimpleXMLElement Object
                        (
                        )

                    [adminName2] => Warszawa
                    [adminCode3] => SimpleXMLElement Object
                        (
                        )

                    [adminName3] => SimpleXMLElement Object
                        (
                        )

                    [distance] => 0.0
                )

ご覧のとおり実行する$xml->code[0]->latと、オブジェクトが返されます。値を取得するにはどうすればよいでしょうか?

ベストアンサー1

simpleXML オブジェクトを文字列にキャストする必要があります。

$value = (string) $xml->code[0]->lat;

おすすめ記事