imap_thread

Returns a tree of threaded message (PHP 4 >= 4.1.0, PHP 5)
array imap_thread ( resource stream_id [, int options] )

imap_thread() returns an associative array containing a tree of messages threaded by REFERENCES, or FALSE on error.

Every message in the current mailbox will be represented by three entries in the resulting array:

  • $thread["XX.num"] - current message number

  • $thread["XX.next"]

  • $thread["XX.branch"]

例 875. imap_thread() Example

<?php

// Here we're outputting the threads of a newsgroup, in HTML

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach (
$threads as $key => $val) {
 
$tree = explode('.', $key);
 if (
$tree[1] == 'num') {
   
$header = imap_headerinfo($nntp, $val);
   echo
"<ul>\n\t<li>" . $header->fromaddress . "\n";
 } elseif (
$tree[1] == 'branch') {
   echo
"\t</li>\n</ul>\n";
 }
}

imap_close($nntp);

?>