这是我到目前为止的一个剧本。
<?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”的数组,这样我就可以将它写入数据库了。
THX。
答案 0 :(得分:1)
你不能真的这样做,但是你有两种选择:
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
);
答案 1 :(得分: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
);
}