php使用数组解析多维stdclass对象
我正在使用php访问wsdl Web服务。读取效果很好,但解析结果似乎有点困难:我试图对结果进行var_dump(),以了解结果的外观。这是我用来转储结果的PHP代码:php使用数组解析多维stdclass对象,php,arrays,web-services,parsing,stdclass,Php,Arrays,Web Services,Parsing,Stdclass,我正在使用php访问wsdl Web服务。读取效果很好,但解析结果似乎有点困难:我试图对结果进行var_dump(),以了解结果的外观。这是我用来转储结果的PHP代码: foreach($result as $var => $value) { var_dump($value); echo "<br />"; } 这是一个相当复杂的答案,我不知道如何用循环来解析它。最后,我想得到一个包含数据的表 非常感谢您的帮助:)。所以你可以用foreach循环它们。只需创
foreach($result as $var => $value) {
var_dump($value);
echo "<br />";
}
这是一个相当复杂的答案,我不知道如何用循环来解析它。最后,我想得到一个包含数据的表
非常感谢您的帮助:)。所以你可以用foreach循环它们。只需创建包含foreach循环的递归函数。例如:
function loop($input)
{
foreach ($input as $value)
{
if (is_array($value) || is_object($value))
loop($value);
else
{
//store data
echo $value;
}
}
}
问题是,他们将表转换为
列->行
,而不是行->列
,您可以通过创建新表并反转列和行来实现这一点
$table = array();
foreach ($result['xxx']->Columns->Column as $colnr => $coldata) {
foreach ($coldata->Rows->string as $rownr => $rowdata) {
$table[$rownr][$coldata->Name] = $rowdata;
}
}
print_r($table);
顺便说一句,
$result['xxx']
不起作用,应该用正确的键替换'xxx'
。我有类似的问题。我从JSON格式的代码中获取结果。当我使用json_decode时,我通过var_dump方法注意到,在解码过程中,数组中创建了一些对象
您在下面看到的var_转储是针对我的var的
$result.
如果我想从我的var访问“status”数组,我使用了以下方法,效果很好:)
我希望数据包含在查询结果中
array(1) {
[0]=>
object(stdClass)#3 (3) {
["status"]=>
string(9) "Connected"
["message"]=>
string(34) "Connected to database successfully"
["data"]=>
array(1) {
[0]=>
object(stdClass)#2 (10) {
["id"]=>
string(36) "cc569871-6544-11e3-945d-0e184c35292b"
["login_name"]=>
string(22) "tkamran@premierbpo.com"
["login_password"]=>
string(8) "Lead6291"
["notes"]=>
NULL
["created_by"]=>
string(7) "default"
["created_on"]=>
string(19) "2013-12-15 12:52:46"
["last_modified_by"]=>
string(7) "default"
["last_modified_on"]=>
string(19) "2013-12-15 12:52:46"
["is_current"]=>
string(3) "yes"
["is_active"]=>
string(3) "yes"
}
}
}
}
但是如果我像这样循环,我无法检测我给出的$value是该列的[“Name”]还是['value'],是吗?(对不起,我还是php初学者…)我更喜欢这种方式。这是一个非常好的解决方案,使以后处理数据变得非常容易。非常感谢你!
$result[0]->status
array(1) {
[0]=>
object(stdClass)#3 (3) {
["status"]=>
string(9) "Connected"
["message"]=>
string(34) "Connected to database successfully"
["data"]=>
array(1) {
[0]=>
object(stdClass)#2 (10) {
["id"]=>
string(36) "cc569871-6544-11e3-945d-0e184c35292b"
["login_name"]=>
string(22) "tkamran@premierbpo.com"
["login_password"]=>
string(8) "Lead6291"
["notes"]=>
NULL
["created_by"]=>
string(7) "default"
["created_on"]=>
string(19) "2013-12-15 12:52:46"
["last_modified_by"]=>
string(7) "default"
["last_modified_on"]=>
string(19) "2013-12-15 12:52:46"
["is_current"]=>
string(3) "yes"
["is_active"]=>
string(3) "yes"
}
}
}
}