# imap_thread

(PHP 4 >= 4.0.7, PHP 5)

imap_thread — Returns a tree of threaded message

### Description

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

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