imap_subscribe
imap_timeout
IMAP Functions
PHP Manual

# imap_thread

Returns a tree of threaded message

### Description

array imap_thread ( resource `$imap_stream` [, int `$options` = SE_FREE ] )

Gets a tree of a threaded message.

### Parameters

`imap_stream`

  An IMAP stream returned by imap_open.

`options`

### Return Values

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"]

### Examples

Example #1 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);
?>`