Php数组未定义的偏移量:0--第55行出错

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>

我正在尝试将simplexmlload字符串转换为数组,以便可以输出数组值。但是,当我尝试输出数组值时,会出现以下错误:

E_注意:类型8——未定义的偏移量:0——在第55行

这行代码中有错误:echo$array[0]

以下是完整的代码:

<!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 )