【问题标题】:PHP Going to the next element of the array every time you refreshPHP每次刷新时都会转到数组的下一个元素
【发布时间】:2015-08-19 01:38:07
【问题描述】:

我正在制作一个推特机器人,我有一个很长的数组,该机器人必须从中发送推文,而且我不希望它两次发布同一件事。
因此,我需要一个代码,它会按顺序遍历数组,而不是循环回到开头。 我拥有的数组称为$statusarray;,其中包含以下内容:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)

因此,我想要一个从 0 => a 开始的代码,当我刷新时转到 1 => b,然后再次刷新转到 2 => c,依此类推而不循环返回。(显然不希望数字)
我在想一个这样的句子:

    for($i=0;$i<infinite or very large number;$i++){
         echo $statusarray['$i'];
    }


但我知道这只会在一个长字符串中回显数组中的所有元素,但我认为我在正确的轨道上(?)。 我该怎么办?

【问题讨论】:

  • 您错过了一个更改行,可能是在 for 循环中每个 echo 之后的 &lt;br /&gt;

标签: php arrays for-loop


【解决方案1】:

以会话为例:

 <?php 
   session_start();
 ?> 

 <?php
   if(empty($_SESSION['counter']))
    $counter = $_SESSION['counter'] = 0;
   else
    $counter = $_SESSION['counter']++;
   }



   for($i=$counter;$i<infinite or very large number;$i++){
    echo $statusarray['$i'];
   }
?>

【讨论】:

  • @Masayuki Tonoki。如果这解决了你的问题。请接受我的回答。
  • 问题是 $_SESSION['counter'] 刷新时总是空的。我认为它非常接近。
  • 在您的连接上方添加session_start();
  • 它说Cannot send session cookie - headers already sent by filename:9 我认为这意味着同一行的第 9 行 开始
  • 尝试设置在if语句之上
【解决方案2】:

在会话中设置先前推文的密钥。在页面重新加载时,检索密钥,加一并显示推文。 希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    相关资源
    最近更新 更多