0

这是我到目前为止得到的一个脚本。

<?php 

 $xml= simplexml_load_file("http://meteo.arso.gov.si/uploads/probase/www/observ/surface/text/sl/observationAms_si_latest.xml");
  // print_r($xml);

$meteos = $xml->metData; 

$spot = array();
foreach ($meteos as $meteo) {
$spot[] = "$meteo->domain_title, $meteo->tsValid_issued, $meteo->t, $meteo->dd_icon, $meteo->ff_val, $meteo->ffmax_val, $meteo->msl, $meteo->rr_val, $meteo->rr_val";

}

print_r($spot);

    ?>

我得到的是这样的:

Array
(
    [0] => BILJE NOVA GORICA, 31.08.2013 21:00 CEST, 19.2, E, 1.5, 1.8, 1019, 0, 0
    [1] => BOHINJSKA CESNJICA, 31.08.2013 21:00 CEST, 14.4, , , , , , 
    [2] => BORST GORENJA VAS, 31.08.2013 21:00 CEST, 15.3, SW, 0.4, 1.3, 1020, 0, 0

我想得到的是

Array
(
    [0] => BILJE NOVA GORICA
          [0] => 31.08.2013 21:00 CEST
          [1] =>19.2 
          [2] =>E
          [3] =>1.5
          [4] =>1.8 
          [5] =>1019

我怎么做?另外我想找到一个包含“ILIRSKA BISTRICA”的数组,这样我就可以将它写入数据库。

4

2 回答 2

2

你不能真的那样做,但是你有两种选择:

Array
(
    [BILJE NOVA GORICA]  => Array
    (
        [0] => 31.08.2013 21:00 CEST
        [1] =>19.2 
        ....
    )
)

或者

Array
(
    [0] => Array
    (
        [name] => BILJE NOVA GORICA
        [values] => Array
        (
            [0] => 31.08.2013 21:00 CEST
            [1] =>19.2 
            ...
        )
    )
)

我会推荐第一种方法,因为它更小更容易使用。您可以通过简单地执行以下操作来设置您的数组:

$spot[$meteo->domain_title] = array(
    $meteo->tsValid_issued,
    $meteo->t,
    $meteo->dd_icon,
    $meteo->ff_val,
    $meteo->ffmax_val,
    $meteo->msl,
    $meteo->rr_val,
    $meteo->rr_val
);
于 2013-08-31T19:48:05.460 回答
0

将属性保存$meteo为数组项。

foreach ($meteos as $meteo) {
    $spot[$meteo->domain_title] = array(
        $meteo->tsValid_issued, 
        $meteo->t, 
        $meteo->dd_icon,     
        $meteo->ff_val, 
        $meteo->ffmax_val, 
        $meteo->msl, 
        $meteo->rr_val, 
        $meteo->rr_val
    );
}
于 2013-08-31T19:44:36.627 回答