Returns a tree of threaded message

- « imap_subscribe

- imap_timeout »

- PHP Manual
- IMAP Functions
- Returns a tree of threaded message

# imap_thread

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imap_thread — Returns a tree of threaded message

### Description

imap_thread(IMAP\Connection `$imap`, int `$flags` = `SE_FREE`): array|false

Gets a tree of a threaded message.

### Parameters

`imap`

  An IMAP\Connection instance.

`flags`

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

### Changelog

Version | Description
--- | ---
8.1.0 | The `imap` parameter expects an IMAP\Connection instance now; previously, a valid `imap` resource was expected.

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