以XML格式回显数组的特定部分

时间:2012-01-05 17:13:23

标签: php xml arrays simplexml

我正在为我的脚本构建一些错误管理,并且需要一些关于如何使其正常运行的建议。

我很困惑如何将我的消息实际输出到结果函数中。我的脚本以IF语句开头,如果出现问题,它将从我的错误函数中选择一个错误。 (我将如何具体选择哪个错误?)

首先,我有:

if ($_GET)
{

    // run function

} else {

    return $this->error();

} 

现在错误功能:

private function error($errnum=1000) {
$data = array(
  'error' => array(
    '1000' => 'Required parameter is missing',
    '1100' => 'Parameter not recognized',
    '2000' => 'Currency type not recognized',
    '2100' => 'Currency amount must be to 2 decimal places',
    '3000' => 'Service currently unavailable',
    '3100' => 'Error in service'
  )
);  
$this->result($data);
}  

最后是结果函数:

private function result($data=array(),$type='XML') {
    switch(strtolower($type)) {     
        case 'xml':

            header("Content-type: text/html"); // Set header type to XML
            $output = new SimpleXMLElement('<conv/>'); // Convert our php array to simpleXML
            array_walk_recursive($data, array ($output, 'addChild'));
            echo $output->asXML();

        break;
    }
    exit;
}

1 个答案:

答案 0 :(得分:0)

导致问题的是这条线:

$这 - &GT;结果($数据);

我不得不将数据var更改为数组。