Php数组未定义的偏移量:0--第55行出错
我正在尝试将simplexmlload字符串转换为数组,以便可以输出数组值。但是,当我尝试输出数组值时,会出现以下错误: E_注意:类型8——未定义的偏移量:0——在第55行 这行代码中有错误:echo$array[0] 以下是完整的代码:Php数组未定义的偏移量:0--第55行出错,php,html,arrays,xml,Php,Html,Arrays,Xml,我正在尝试将simplexmlload字符串转换为数组,以便可以输出数组值。但是,当我尝试输出数组值时,会出现以下错误: E_注意:类型8——未定义的偏移量:0——在第55行 这行代码中有错误:echo$array[0] 以下是完整的代码: <!DOCTYPE html> <html> <body> <?php $note=<<<XML <Projects_Detail> <Mr-Imran>
<!DOCTYPE html>
<html>
<body>
<?php
$note=<<<XML
<Projects_Detail>
<Mr-Imran>
<projectBudget>125000</projectBudget>
<EmpNo>E100</EmpNo>
<DeptName>IT</DeptName>
<HourlyRate>625</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>120000</projectBudget>
<EmpNo>E101</EmpNo>
<DeptName>Database</DeptName>
<HourlyRate>500</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>135000</projectBudget>
<EmpNo>E102</EmpNo>
<DeptName>IT</DeptName>
<HourlyRate>550</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>115000</projectBudget>
<EmpNo>E103</EmpNo>
<DeptName>Testing</DeptName>
<HourlyRate>400</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>150000</projectBudget>
<EmpNo>E110</EmpNo>
<DeptName>Database</DeptName>
<HourlyRate>375</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>140000</projectBudget>
<EmpNo>E112</EmpNo>
<DeptName>Testing</DeptName>
<HourlyRate>425</HourlyRate>
</Mr-Imran>
</Projects_Detail>
XML;
$xml=simplexml_load_string($note);
$array = (array) $xml;
print_r(array_values($array));
echo $array[0];
?>
您可以使用以下方法:
通过使用array
-casting将foreach
循环替换为upgrated
one,您可以将XML数据作为方便的数组:
foreach($children as $child) {
$childArray = (array)$child;
print_r($childArray);
echo "<br/>";
}
您应该研究如何处理SimpleXML,而不仅仅是将其转换为数组并寄予希望。您希望得到什么样的输出?
SimpleXMLElement Object ( [projectBudget] => 125000 [EmpNo] => E100 [DeptName] => IT [HourlyRate] => 625 )
SimpleXMLElement Object ( [projectBudget] => 120000 [EmpNo] => E101 [DeptName] => Database [HourlyRate] => 500 )
SimpleXMLElement Object ( [projectBudget] => 135000 [EmpNo] => E102 [DeptName] => IT [HourlyRate] => 550 )
SimpleXMLElement Object ( [projectBudget] => 115000 [EmpNo] => E103 [DeptName] => Testing [HourlyRate] => 400 )
SimpleXMLElement Object ( [projectBudget] => 150000 [EmpNo] => E110 [DeptName] => Database [HourlyRate] => 375 )
SimpleXMLElement Object ( [projectBudget] => 140000 [EmpNo] => E112 [DeptName] => Testing [HourlyRate] => 425 )
foreach($children as $child) {
$childArray = (array)$child;
print_r($childArray);
echo "<br/>";
}
Array ( [projectBudget] => 125000 [EmpNo] => E100 [DeptName] => IT [HourlyRate] => 625 )
Array ( [projectBudget] => 120000 [EmpNo] => E101 [DeptName] => Database [HourlyRate] => 500 )
Array ( [projectBudget] => 135000 [EmpNo] => E102 [DeptName] => IT [HourlyRate] => 550 )
Array ( [projectBudget] => 115000 [EmpNo] => E103 [DeptName] => Testing [HourlyRate] => 400 )
Array ( [projectBudget] => 150000 [EmpNo] => E110 [DeptName] => Database [HourlyRate] => 375 )
Array ( [projectBudget] => 140000 [EmpNo] => E112 [DeptName] => Testing [HourlyRate] => 425 )