CloudCastle Cli API

Tree
in package

FinalYes

Рендер древовидной иерархии в псевдографике (`├──`, `└──`, `│`).

Дерево задаётся вложенным ассоциативным массивом: ключ — подпись узла, значение — массив дочерних узлов той же формы (пустой массив — лист). Обход итеративный (явный стек кадров), поэтому глубина вложенности ограничена только памятью, а не стеком вызовов PHP.

Table of Contents

Methods

lines()  : Generator<int, string>
Построчный обход дерева без материализации результата.
render()  : string
Отрисовать дерево.
renderTo()  : void
Отрисовать дерево прямо в приёмник вывода, не накапливая результат.

Methods

lines()

Построчный обход дерева без материализации результата.

public lines(array<string|int, mixed> $tree) : Generator<int, string>

Позволяет печатать деревья любого объёма при постоянном расходе памяти: в куче живёт только текущая строка и стек кадров по глубине обхода.

Parameters
$tree : array<string|int, mixed>

вложенная карта узлов

Return values
Generator<int, string> —

строки дерева без перевода строки

render()

Отрисовать дерево.

public render(array<string|int, mixed> $tree) : string
Parameters
$tree : array<string|int, mixed>

вложенная карта узлов

Return values
string —

многострочное представление дерева

renderTo()

Отрисовать дерево прямо в приёмник вывода, не накапливая результат.

public renderTo(Writer $writer, array<string|int, mixed> $tree) : void
Parameters
$writer : Writer

приёмник вывода

$tree : array<string|int, mixed>

вложенная карта узлов

On this page

Search results