foreach 循环正在回显第一次提交的结果

我正在处理来自 Formstack 的 REST API 的数据。一切都是 XML 格式。我编写了一些 PHP 来处理它,出于某种原因,当我在 foreach 循环中 echo $valueVar 时,只有第一个条目中的值会为三个条目中的每一个返回。我真的不知道为什么字符串没有被替换。有人可以阐明我做错了什么吗?

谢谢你!

PHP 输出

Formstack API XML 输出

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;

        }

    }

}


九州编程
浏览 71回答 1
1回答

侃侃尔雅

我认为这是两个循环相互破坏的简单情况。请注意如何将内部循环定义为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) {输出前缀 = Dr 第一 = Argnes 最后 = Acmefirst = Bobby 最后 = Leamalotfirst = Tina 最后 = 学生
打开App,查看更多内容
随时随地看视频慕课网APP