3 namespace PhpParser\Node\Stmt;
7 class For_ extends Node\Stmt
9 /** @var Node\Expr[] Init expressions */
11 /** @var Node\Expr[] Loop conditions */
13 /** @var Node\Expr[] Loop expressions */
15 /** @var Node[] Statements */
19 * Constructs a for loop node.
21 * @param array $subNodes Array of the following optional subnodes:
22 * 'init' => array(): Init expressions
23 * 'cond' => array(): Loop conditions
24 * 'loop' => array(): Loop expressions
25 * 'stmts' => array(): Statements
26 * @param array $attributes Additional attributes
28 public function __construct(array $subNodes = array(), array $attributes = array()) {
29 parent::__construct($attributes);
30 $this->init = isset($subNodes['init']) ? $subNodes['init'] : array();
31 $this->cond = isset($subNodes['cond']) ? $subNodes['cond'] : array();
32 $this->loop = isset($subNodes['loop']) ? $subNodes['loop'] : array();
33 $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : array();
36 public function getSubNodeNames() {
37 return array('init', 'cond', 'loop', 'stmts');