Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CodeIgniter-处理简单XML&;PHP_Php_Codeigniter_Simplexml - Fatal编程技术网

CodeIgniter-处理简单XML&;PHP

CodeIgniter-处理简单XML&;PHP,php,codeigniter,simplexml,Php,Codeigniter,Simplexml,在控制器中,我有\u send方法。此方法返回如下内容: $xmlstr = <<<XML <?xml version='1.0' standalone='yes' ?> <status id="555555555" date="Wed, 28 Mar 2013 12:35:00 +0300"> <id>3806712345671174984921381</id> <id>38

在控制器中,我有
\u send
方法。此方法返回如下内容:

 $xmlstr = <<<XML
<?xml version='1.0' standalone='yes' ?>
<status id="555555555" date="Wed, 28 Mar 2013 12:35:00 +0300">
<id>3806712345671174984921381</id>
<id>3806712345671174984921382</id>
<id>3806712345671174984921383</id>
<id>3806712345671174984921384</id>
<state error="Unknown1">Rejected1</state>
<state error="Unknown2">Rejected2</state>
<state error="">Accepted</state>
<state error="">Accepted</state>
</status>
XML;
我无法创建适合传递到模型以插入数据库的数组或对象。 低于我现在拥有的

$xml = new SimpleXMLElement($xmlstr);


foreach ($xml as $child) {

                if ($child->getName() == 'id') {
                    $id[] = $child->id;
                }

                if ($child->getName() == 'state') {
                    $state[] = $child;
                    //$state[] = $child['error'];
                }

}

return array_merge($id,$state);
我正在尝试实现类似以下阵列的功能:

array(0 => array(
                 'id' => '3806712345671174984921381',
                 'state' => 'Rejected1',
                 'state_error' => 'Unknown1'),
      1 => array( ....
error
属性有问题,有错误
array\u merge

有什么想法吗?

你可以这样做:

//加载XML
$xmlstr='1
3806712345671174984921381
3806712345671174984921382
3806712345671174984921383
3806712345671174984921384
拒绝1
拒绝2
认可的
认可的
';
$xml=新的simplexmlement($xmlstr);
//初始化
$parsed_data=array();
//解析Id
foreach($xml->id作为$id)
{
$parsed_data[]=数组(
'id'=>(字符串)$id,
'状态'=>'',
“状态错误”=>“
);
}
//解析状态&状态错误
$i=0;
foreach($xml->状态为$state)
{
$parsed_data[$i]['state']=(字符串)$state;
$parsed_data[$i]['state_error']=(字符串)$state['error'];
$i++;
}
//输出
var_dump($parsed_data);
这是我得到的输出:

这是您可以做到的:

//加载XML
$xmlstr='1
3806712345671174984921381
3806712345671174984921382
3806712345671174984921383
3806712345671174984921384
拒绝1
拒绝2
认可的
认可的
';
$xml=新的simplexmlement($xmlstr);
//初始化
$parsed_data=array();
//解析Id
foreach($xml->id作为$id)
{
$parsed_data[]=数组(
'id'=>(字符串)$id,
'状态'=>'',
“状态错误”=>“
);
}
//解析状态&状态错误
$i=0;
foreach($xml->状态为$state)
{
$parsed_data[$i]['state']=(字符串)$state;
$parsed_data[$i]['state_error']=(字符串)$state['error'];
$i++;
}
//输出
var_dump($parsed_data);
这是我得到的输出:

这是您可以做到的:

//加载XML
$xmlstr='1
3806712345671174984921381
3806712345671174984921382
3806712345671174984921383
3806712345671174984921384
拒绝1
拒绝2
认可的
认可的
';
$xml=新的simplexmlement($xmlstr);
//初始化
$parsed_data=array();
//解析Id
foreach($xml->id作为$id)
{
$parsed_data[]=数组(
'id'=>(字符串)$id,
'状态'=>'',
“状态错误”=>“
);
}
//解析状态&状态错误
$i=0;
foreach($xml->状态为$state)
{
$parsed_data[$i]['state']=(字符串)$state;
$parsed_data[$i]['state_error']=(字符串)$state['error'];
$i++;
}
//输出
var_dump($parsed_data);
这是我得到的输出:

这是您可以做到的:

//加载XML
$xmlstr='1
3806712345671174984921381
3806712345671174984921382
3806712345671174984921383
3806712345671174984921384
拒绝1
拒绝2
认可的
认可的
';
$xml=新的simplexmlement($xmlstr);
//初始化
$parsed_data=array();
//解析Id
foreach($xml->id作为$id)
{
$parsed_data[]=数组(
'id'=>(字符串)$id,
'状态'=>'',
“状态错误”=>“
);
}
//解析状态&状态错误
$i=0;
foreach($xml->状态为$state)
{
$parsed_data[$i]['state']=(字符串)$state;
$parsed_data[$i]['state_error']=(字符串)$state['error'];
$i++;
}
//输出
var_dump($parsed_data);
这是我得到的输出:


您可以使用一个简单的
while
语句来编写

$cnt=$xml->id->count();$i=0;
while($i<$cnt)
{
    $new_arr[$i]['id']=(string)$xml->id[$i];
    $new_arr[$i]['state'] = (string)$xml->state[$i];
    $new_arr[$i]['state_error'] = (string)$xml->state[$i]['error'];
    $i++;
}
print_r($new_arr);
$cnt=$xml->id->count()$i=0;
而($iid[$i];
$new_arr[$i]['state']=(字符串)$xml->state[$i];
$new_arr[$i]['state_error']=(字符串)$xml->state[$i]['error'];
$i++;
}
打印(新的);

您可以使用一个简单的
while
语句来编写

$cnt=$xml->id->count();$i=0;
while($i<$cnt)
{
    $new_arr[$i]['id']=(string)$xml->id[$i];
    $new_arr[$i]['state'] = (string)$xml->state[$i];
    $new_arr[$i]['state_error'] = (string)$xml->state[$i]['error'];
    $i++;
}
print_r($new_arr);
$cnt=$xml->id->count();$i=0;
而($iid[$i];
$new_arr[$i]['state']=(字符串)$xml->state[$i];
$new_arr[$i]['state_error']=(字符串)$xml->state[$i]['error'];
$i++;
}
打印(新的);

您可以使用一个简单的
while
语句来编写

$cnt=$xml->id->count();$i=0;
while($i<$cnt)
{
    $new_arr[$i]['id']=(string)$xml->id[$i];
    $new_arr[$i]['state'] = (string)$xml->state[$i];
    $new_arr[$i]['state_error'] = (string)$xml->state[$i]['error'];
    $i++;
}
print_r($new_arr);
$cnt=$xml->id->count();$i=0;
而($iid[$i];
$new_arr[$i]['state']=(字符串)$xml->state[$i];
$new_arr[$i]['state_error']=(字符串)$xml->state[$i]['error'];
$i++;
}
打印(新的);

您可以使用一个简单的
while
语句来编写

$cnt=$xml->id->count();$i=0;
while($i<$cnt)
{
    $new_arr[$i]['id']=(string)$xml->id[$i];
    $new_arr[$i]['state'] = (string)$xml->state[$i];
    $new_arr[$i]['state_error'] = (string)$xml->state[$i]['error'];
    $i++;
}
print_r($new_arr);
$cnt=$xml->id->count();$i=0;
而($iid[$i];
$new_arr[$i]['state']=(字符串)$xml->state[$i];
$new_arr[$i]['state_error']=(字符串)$xml->state[$i]['error'];
$i++;
}
打印(新的);

一个小问题。为什么我们必须通过指定(字符串)来使用对象到字符串的转换?我想是php做的…一个小问题。为什么我们必须通过指定(字符串)来使用对象到字符串的转换?我想是php做的…一个小问题。为什么我们必须通过指定(字符串)来使用对象到字符串的转换?我想是php做的…一个小问题。为什么我们必须通过指定(字符串)来使用对象到字符串的转换?我在想php可以做到…你需要手动进行强制转换,php不会神奇地为你做。你需要手动进行强制转换,php不会神奇地为你做。你需要手动进行强制转换,php不会神奇地为你做。你需要手动进行强制转换,php不会神奇地为你做。