如何解决foreach循环正在回显第一次提交的结果
我正在使用来自Formstack REST API的数据。一切都是XML格式。我写了一些PHP来处理它,由于某些原因,当我在foreach循环中回显$ valueVar时,三个条目中的每个条目都只返回第一个条目的值。我真的不知道为什么字符串没有被替换。有人可以告诉我我在做什么错。
谢谢!
foreach($xml->submissions->submission as $submission) {
foreach($xml->submissions->submission->data->XML_Serializer_Tag as $serializer) {
$fieldeVar = (string)$serializer->field;
$valueVar = (string)$serializer->value;
if ($fieldeVar=="95733876") {
echo $valueVar;
break;
}
}
}
解决方法
我认为这是您的2个循环相互干扰的简单情况。注意如何将内部循环定义为foreach($xml->submissions->submission->...
。那将永远抢先。应该使用$submission
,这是您的外循环为您设置的。
只是改变
foreach($xml->submissions->submission as $submission) {
foreach($xml->submissions->submission->data->XML_Serializer_Tag as $serializer) {
对此
foreach ($xml->submissions->submission as $submission) {
foreach ($submission->data->XML_Serializer_Tag as $serializer) {
输出
前缀=博士优先= Argnes最后= Acmefirst = Bobby最后= Leamalotfirst = Tina last =学生
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。