title: Displaying tweets with the Twitter 1.1 API
body: <p>I'm using this bit of code to display tweets, everything is fine but I would like to modify the script to display them from oldest to newest, whereas at the moment they display from newest to oldest.</p>
  
  <p>I can see anything obvious in the code to change or where to add:</p>
  
  <pre><code>&lt;?php
  
  
  
  // Session start
  session_start(); 
  
  // Set timezone. (Modify to match your timezone) If you need help with this, you can find it here. (http://php.net/manual/en/timezones.php)
  date_default_timezone_set('Europe/London');
  
  // Require TwitterOAuth files. (Downloadable from : https://github.com/abraham/twitteroauth)
  require_once("twitteroauth/twitteroauth/twitteroauth.php");
  
  // Function to authenticate app with Twitter.
  function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
    $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
    return $connection;
  }
  
  // Function to display the latest tweets.
  function display_latest_tweets(
  
      // Function parameters.
      $twitter_user_id,
      $cache_file          = './tweets.txt',  // Change this to the path of your cache file. (Default : ./tweets.txt)
      $tweets_to_display   = 5,               // Number of tweets you would like to display. (Default : 5)
      $ignore_replies      = false,           // Ignore replies from the timeline. (Default : false)
      $include_rts         = false,           // Include retweets. (Default : false)
      $twitter_wrap_open   = '&lt;ul class="home-tweets-ul"&gt;',
      $twitter_wrap_close  = '&lt;/ul&gt;',
      $tweet_wrap_open     = '&lt;li&gt;&lt;p class="home-tweet-tweet"&gt;',
      $meta_wrap_open      = '&lt;br/&gt;&lt;span class="home-tweet-date"&gt;',
      $meta_wrap_close     = '&lt;/span&gt;',
      $tweet_wrap_close    = '&lt;/p&gt;&lt;/li&gt;',
      $date_format         = 'g:i A M jS',    // Date formatting. (http://php.net/manual/en/function.date.php)
      $twitter_style_dates = true){           // Twitter style days. [about an hour ago] (Default : true)
  
      // Twitter keys (You'lll need to visit https://dev.twitter.com and register to get these.
      $consumerkey         = "";
      $consumersecret      = "";
      $accesstoken         = "";
      $accesstokensecret   = "";
  
      // Seconds to cache feed (Default : 1 minute).
      $cachetime           = 60*3;
  
      // Time that the cache was last updtaed.
      $cache_file_created  = ((file_exists($cache_file))) ? filemtime($cache_file) : 0;
  
      // A flag so we know if the feed was successfully parsed.
      $tweet_found         = false;
  
      // Show cached version of tweets, if it's less than $cachetime.
      if (time() - $cachetime &lt; $cache_file_created) {
          $tweet_found = true;
          // Display tweets from the cache.
          readfile($cache_file);       
      } else {
  
      // Cache file not found, or old. Authenticae app.
      $connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
  
          if($connection){
              // Get the latest tweets from Twitter
              $get_tweets = $connection-&gt;get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitter_user_id."&amp;count=".$tweets_to_display."&amp;include_rts=".$include_rts);
  
              // Error check: Make sure there is at least one item.
              if (count($get_tweets)) {
  
                  // Define tweet_count as zero
                  $tweet_count = 0;
  
                  // Start output buffering.
                  ob_start();
  
                  // Open the twitter wrapping element.
                  $twitter_html = $twitter_wrap_open;
  
                  // Iterate over tweets.
                  foreach($get_tweets as $tweet) {
  
                      // If we are not ignoring replies, or tweet is not a reply, process it.
                      if ($ignore_replies==false){
  
                          $tweet_found = true;
                          $tweet_count++;
                          $tweet_desc = $tweet-&gt;text;
                          // Add hyperlink html tags to any urls, twitter ids or hashtags in the tweet.
                          $tweet_desc = preg_replace('/(https?:\/\/[^\s"&lt;&gt;]+)/','&lt;a href="$1" target="_blank"&gt;$1&lt;/a&gt;',$tweet_desc);
                          $tweet_desc = preg_replace('/(^|[\n\s])@([^\s"\t\n\r&lt;:]*)/is', '$1&lt;a href="http://twitter.com/$2" target="_blank"&gt;@$2&lt;/a&gt;', $tweet_desc);
                          $tweet_desc = preg_replace('/(^|[\n\s])#([^\s"\t\n\r&lt;:]*)/is', '$1&lt;a href="http://twitter.com/search?q=%23$2" target="_blank"&gt;#$2&lt;/a&gt;', $tweet_desc);
  
                          // Convert Tweet display time to a UNIX timestamp. Twitter timestamps are in UTC/GMT time.
                          $tweet_time = strtotime($tweet-&gt;created_at);    
                          if ($twitter_style_dates){
                              // Current UNIX timestamp.
                              $current_time = time();
                              $time_diff = abs($current_time - $tweet_time);
                              switch ($time_diff) 
                              {
                                  case ($time_diff &lt; 60):
                                      $display_time = $time_diff.' seconds ago';                  
                                      break;      
                                  case ($time_diff &gt;= 60 &amp;&amp; $time_diff &lt; 3600):
                                      $min = floor($time_diff/60);
                                      $display_time = $min.' minutes ago';                  
                                      break;      
                                  case ($time_diff &gt;= 3600 &amp;&amp; $time_diff &lt; 86400):
                                      $hour = floor($time_diff/3600);
                                      $display_time = 'about '.$hour.' hour';
                                      if ($hour &gt; 1){ $display_time .= 's'; }
                                      $display_time .= ' ago';
                                      break;          
                                  default:
                                      $display_time = date($date_format,$tweet_time);
                                      break;
                              }
                          } else {
                              $display_time = date($date_format,$tweet_time);
                          }
  
                          // Render the tweet.
                          $twitter_html .= $tweet_wrap_open.html_entity_decode($tweet_desc).$meta_wrap_open.'&lt;a href="http://twitter.com/'.$twitter_user_id.'"&gt;'.$display_time.'&lt;/a&gt;'.$meta_wrap_close.$tweet_wrap_close;
  
                      }
  
                      // If we have processed enough tweets, stop.
                      if ($tweet_count &gt;= $tweets_to_display){
                          break;
                      }
  
                  }
  
                  // Close the twitter wrapping element.
                  $twitter_html .= $twitter_wrap_close;
                  echo $twitter_html;
  
                  // Generate a new cache file.
                  $file = fopen($cache_file, 'w');
  
                  // Save the contents of output buffer to the file, and flush the buffer. 
                  fwrite($file, ob_get_contents()); 
                  fclose($file); 
                  ob_end_flush();
  
              }
  
          }
  
      }
  
  }
  
  // Display latest tweets. (Modify username to your Twitter handle)
  display_latest_tweets('');
   ?&gt;
  </code></pre>
  
  <p>Any help would be great :) </p>
  
  <p>Thanks</p>