首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP: Foreach访问索引不正确的数组的值

PHP: Foreach访问索引不正确的数组的值
EN

Stack Overflow用户
提问于 2020-12-25 22:34:09
回答 2查看 41关注 0票数 3

我的api调用提供了一个不正确的索引,如下所示

代码语言:javascript
复制
(
    [0] => stdClass Object
        (
            [xml] =>  
            [qid] =>1
            [title] => Tile of the question 
            [description] => Description of the question here
        )

    [1] => xml for quetion 1 
    [2] => stdClass Object
        (
            [xml] =>  
            [qid] => 2
            [title] => Updated Question 
            [description] => description changed for edting
        )

    [3] => xml for quetion 2  
)

我可以访问foreach循环中的值,但问题是每个问题的xml都是在循环的下一个索引中设置的:

代码语言:javascript
复制
foreach ($array as  $key =>$node) {
     $title = $node->title;
     $des = $node->description;
     $qid = $node->qid;
     if($node->xml==''){
         // set xml value here in 1  and 3 index seen as in above output 
      }
    }

我该怎么做呢?请告诉我

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-25 22:44:34

试着这样做:

代码语言:javascript
复制
foreach ($array as  $key =>$node) {
    try {
        $title = $node->title;
        $des = $node->description;
        $qid = $node->qid;
        if($node->xml==''){
            $xml = $array[$key + 1];
        }
        echo "Added row with index $key";
    } catch (\Throwable $th) {
        echo "That was a xml row - The key is $key";
    }
}
票数 2
EN

Stack Overflow用户

发布于 2020-12-25 22:46:41

看起来你是在“成对”地获取数据。索引0和1属于一起,索引2和3属于同一索引,依此类推。

如果这是真的,您可以将数据拆分成块并处理每一对:

代码语言:javascript
复制
$chunks = array_chunk($array, 2);
foreach($chunks as $chunk) {
    // $chunk[0] contains object with title, qid, ...
    // $chunk[1] contains "xml for question"
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65448982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档