我有一个在一个站点上自动生成的XML提要,我试图将其复制到另一个站点并将数据导入到mysql数据库中,但是,我有困难,因为我&#39 ;我不熟悉分解成多个元素的数组。
它是否以与标准数组相同的方式处理,或者每个必须单独处理?输出的XML示例包含在下面;
[str] => Array
(
[0] => 0
[1] => USD
[2] => USPS
[3] => 4228547
[4] => 486948677
[5] => 7
[6] => IndyGen3
[7] => 1
[8] => 8 units|8
[9] => N/A
[10] => 1
[11] => Unlimited Refill
[12] => Unlimited Refill
[13] => www
[14] => 1297081
[15] => unitACTIVE4228547
[16] => 2
[17] => 0
[18] => unit-486948677
[19] => unit
[20] => ACTIVE
[21] => unit
[22] => 1
[23] => 1
[24] => 47d 23h 24m
[25] => 2013-02-15T19:35:15.153Z
)
[float] => Array
(
[0] => 94.88
[1] => 94.88
)
[date] => Array
(
[0] => 2013-02-15T19:35:15.438Z
[1] => 2013-02-15T19:33:14Z
[2] => 2013-02-15T19:35:02Z
[3] => 2013-04-04T19:00:00Z
)
[arr] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => fm_ship_rules
)
[str] => Array
(
[0] => 6,3,25.0,,2013-04-02T19:00:00Z
[1] => 6,7,11.95,,2013-03-22T19:00:00Z
[2] => 6,15,19.95,,2013-04-02T19:00:00Z
[3] => 6,16,19.95,,2013-04-02T19:00:00Z
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[name] => fm_dm_rules_desc
)
[str] => Array
(
[0] => USPS,USPS Priority, 25.0,,2013-04-02T19:00:00Z
[1] => USPS,USPS Two Day,11.95,,2013-03-22T19:00:00Z
[2] => USPS,USPS International Priority Puerto Rico,19.95,,2013-04-02T19:00:00Z
[3] => USPS,USPS International Priority Canada,19.95,,2013-04-02T19:00:00Z
)
)
)
[int] => Array
(
[0] => 8
[1] => 8
[2] => 1
)
)
答案 0 :(得分:1)
要访问多维数组中的信息(如上所示),请使用以下表示法。假设您的主阵列名为$arr
。
$sql = "INSERT INTO `mytable`
(
`currency`,
`postal_service`,
`date`,
`amount_1`,
`amount_2`
) VALUES (
'".$arr[str][1]."',
'".$arr[str][2]."',
'".$arr[date][0]."',
'".$arr[float][0]."',
'".$arr[float][1]."'
)";
这相当于:
$sql = "INSERT INTO `mytable`
(
`currency`,
`postal_service`,
`date`,
`amount_1`,
`amount_2`
) VALUES (
'USD',
'USPS',
'2013-02-15T19:35:15.438Z',
'94.88',
'94.88'
)";