douhuang3833
douhuang3833
2017-02-14 17:28
浏览 69
已采纳

PHP致命错误:For循环中不支持的操作数类型

I got an Error in my For Loop for some reason. I just want to go backwards through an array in php.

The Error in my Browser is:

Fatal error: Unsupported operand types in /var/html/modules/getChat.php on line 18

Line 18 in this Code part line 1:

Here is the Code:

for($x = sizeof($result-1); $x > 0; $x--)
{
    echo '<div class="message '.$result[$x].'"> <img src="'.$result[$x].'" /><span class="name">'.$result[$x].'</span>
    <p>'.$result[$x].'</p>
    </div>';
}

I hope you can help

Thanks

图片转代码服务由CSDN问答提供 功能建议

由于某些原因,我在For循环中出现了错误。 我只想在数组中向后移动 php。

浏览器中的错误是:

致命错误:/ var / html / modules /中不支持的操作数类型 第18行的getChat.php

本代码第1行第1行:

以下是代码: x = sizeof($ result-1); $ x&gt; 0; $ x - ) { echo'&lt; div class =“message '$结果[$ X]'。“&GT; &lt; img src =“'。$ result [$ x]。'”/&gt;&lt; span class =“name”&gt;'。$ result [$ x]。'&lt; / span&gt; &lt; p&gt; ;'。$ result [$ x]。'&lt; / p&gt; &lt; / div&gt;'; }

我希望你能提供帮助

谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douhai9043
    douhai9043 2017-02-14 17:31
    已采纳

    $result is an array, and substracting 1 from an array doesn't make any sense. You probably wanted to use this instead:

    for ($x = sizeof($result) - 1; $x > 0; $x--) // ...
    

    And yes, it seems that you unintentionally skip the very first element of your array here. If so, fix the condition ($x >= 0) - or just compact the whole loop into while:

    $x = count($result);
    while($x--) {
      // output with $result[$x]
    }
    

    If that's not a bottleneck (and most probably it's not), you better show the real intent of the code with array_reverse:

     foreach (array_reverse($result) as $el) {
        // output with $el
     }
    
    点赞 评论

相关推荐