解析PHP对象中的xml数组响应


parsing xml array response in PHP objects

我正在研究一个UPS跟踪API,我已经调用了API来跟踪包裹,我得到了正确的响应,但在数组格式中,我是json解码的新手,请告诉我如何在PHP中解析这个,我是否必须在PHP中创建多个对象?我附加的输出以及PHP代码。

PHP代码

if (isset($_POST['af0'])) {
    if (preg_match('/^[a-z'd_]{4,80}$/i', $_POST['trackingNumber'])) {
        $cleanTrackingNumber = $_POST['trackingNumber'];
        $someArray = upsTrack("$cleanTrackingNumber");
        echo '<pre>'; print_r($someArray); echo '</pre>';
    } else {
        echo 'Invalid tracking number... sigh...';
    }
}

输出
Array
(
    [TRACKRESPONSE] => Array
        (
            [RESPONSE] => Array
                (
                    [TRANSACTIONREFERENCE] => Array
                        (
                            [XPCIVERSION] => 1.0
                        )
                    [RESPONSESTATUSCODE] => 1
                    [RESPONSESTATUSDESCRIPTION] => Success
                )
            [SHIPMENT] => Array
                (
                    [SHIPPER] => Array
                        (
                            [SHIPPERNUMBER] => A6161A
                            [ADDRESS] => Array
                                (
                                    [ADDRESSLINE1] => 132 E 43RD ST
                                    [CITY] => NEW YORK
                                    [STATEPROVINCECODE] => NY
                                    [POSTALCODE] => 10017   4019
                                    [COUNTRYCODE] => US
                                )
                        )
                    [SHIPTO] => Array
                        (
                            [ADDRESS] => Array
                                (
                                    [CITY] => TORONTO
                                    [STATEPROVINCECODE] => ON
                                    [POSTALCODE] => M5V3X1
                                    [COUNTRYCODE] => CA
                                )
                        )
                    [SHIPMENTWEIGHT] => Array
                        (
                            [UNITOFMEASUREMENT] => Array
                                (
                                    [CODE] => LBS
                                )
                            [WEIGHT] => 3.20
                        )
                    [SERVICE] => Array
                        (
                            [CODE] => 011
                            [DESCRIPTION] => STANDARD
                        )
                    [REFERENCENUMBER] => Array
                        (
                            [CODE] => 13
                            [VALUE] => A6161AD9HPK
                        )
                    [SHIPMENTIDENTIFICATIONNUMBER] => 1ZA6161A6832763249
                    [PICKUPDATE] => 20140519
                    [SCHEDULEDDELIVERYDATE] => 20140521
                    [PACKAGE] => Array
                        (
                            [TRACKINGNUMBER] => 1ZA6161A6832763249
                            [ACTIVITY] => Array
                                (
                                    [ACTIVITYLOCATION] => Array
                                        (
                                            [ADDRESS] => Array
                                                (
                                                    [CITY] => SECAUCUS
                                                    [STATEPROVINCECODE] => NJ
                                                    [COUNTRYCODE] => US
                                                )
                                        )
                                    [STATUS] => Array
                                        (
                                            [STATUSTYPE] => Array
                                                (
                                                    [CODE] => I
                                                    [DESCRIPTION] => DEPARTURE SCAN
                                                )
                                            [STATUSCODE] => Array
                                                (
                                                    [CODE] => DP
                                                )
                                        )
                                    [DATE] => 20140520
                                    [TIME] => 053000
                                )
                            [MESSAGE] => Array
                                (
                                    [CODE] => 01
                                    [DESCRIPTION] => On Time
                                )
                            [PACKAGEWEIGHT] => Array
                                (
                                    [UNITOFMEASUREMENT] => Array
                                        (
                                            [CODE] => LBS
                                        )
                                    [WEIGHT] => 3.20
                                )
                            [REFERENCENUMBER] => Array
                                (
                                    [CODE] => 19
                                    [VALUE] => MMTD71EUY061A
                                )
                        )
                )
        )
)

如果你已经有了数组格式的输出,那么你就不用再做json解码了

您可以使用$someArray从数组中获取任何数据。如果你只是想显示它或保存它,例如在数据库中,这取决于你。

你想要完成什么?