baopham / tree-parser
解析树结构
1.0.0
2016-07-03 13:06 UTC
Requires
- php: ~5.5|~7.0
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-09-24 04:10:01 UTC
README
解析这个
Root
|- Level 1.1
|- Level 2.1
|- Level 1.2
|- Level 2.2
|- Level 3
|- Level 4
到这个
foreach ($root->children as $child) { print $child->name; print $child->order; print $child->level; print_r($child->children); print_r($child->children[0]->children); print $child->children[0]->parent === $child; }
目录
安装
通过Composer
$ composer require baopham/tree-parser
使用
// A tree with 2 spaces for indentation $tree = <<<TREE Root |- Level 1 - Order 1 |- Level 2 - Order 2 |- Level 3 - Order 3 |- Level 3 - Order 4 |- Level 2 - Order 5 |- Level 1 - Order 6 |- Level 2 - Order 7 |- Level 3 - Order 8 |- Level 4 - Order 9 TREE; $parser = new BaoPham\TreeParser($tree); $parser->setIndentation(2); // number of spaces for an indentation, 2 is the default. $root = $parser->parse(); foreach ($root->children as $child) { print $child->name; print $child->order; print $child->level; print_r($child->children); print_r($child->children[0]->children); print $child->children[0]->parent === $child; }
高级
$tree = <<<TREE Root |- Level 1 - Order 1 |- Level 2 - Order 2 |- Level 3 - Order 3 |- Level 3 - Order 4 |- Level 2 - Order 5 |- Level 1 - Order 6 |- Level 2 - Order 7 |- Level 3 - Order 8 |- Level 4 - Order 9 TREE; $parser = new BaoPham\TreeParser($tree); $parser->parse(); $structure = $parser->getStructure(); // Get nodes at level 3 $level3Nodes = $structure[3]; // Get node at level 3, order 4 $node = $structure[3][4]; // Get last leaf $orderedNodes = $parser->getOrderedNodes(); $lastLeaf = $orderedNodes[count($orderedNodes) - 1];
变更日志
请参阅变更日志获取更多信息。
测试
$ composer test
贡献
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。