Находит дочерние элементы данного узла

# SimpleXMLElement::children

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::children — Находит дочерние элементы данного узла

### Описание

public function SimpleXMLElement::children(?string `$namespaceOrPrefix` = `null`, bool `$isPrefix` = `false`): ?SimpleXMLElement

Этот метод находит все дочерние элементы узла. Результат подчиняется стандартным правилам итерации.

> Замечание: SimpleXML содержит правило добавления итеративных свойств к большинству методов. Они не могут быть просмотрены с использованием var_dump() или каких-либо других средств анализа объектов.

### Список параметров

`namespaceOrPrefix`

  Необязательное пространство имён XML.

`isPrefix`

  Если `isPrefix` установлен в `true`, `namespaceOrPrefix` будет рассмотрен как префикс. Если `false`, `namespaceOrPrefix` будет рассмотрен как пространство имён URL.

### Возвращаемые значения

Возвращает элемент SimpleXMLElement, даже если узел не имеет дочерних элементов, если узел не представляет атрибут, в этом случае функция возвращает `null`.

### Примеры

Пример #1 Обход псевдомассива `children()`

    <?php
    $xml = new SimpleXMLElement(
    '<person>
     <child role="сын">
      <child role="дочь"/>
     </child>
     <child role="дочь">
      <child role="сын">
       <child role="сын"/>
      </child>
     </child>
    </person>');

    foreach ($xml->children() as $second_gen) {
        echo ' У человека родился(-ась) ' . $second_gen['role'];

        foreach ($second_gen->children() as $third_gen) {
            echo ', у которого родился(-ась) ' . $third_gen['role'] . ';';

            foreach ($third_gen->children() as $fourth_gen) {
                echo ' и у ' . $third_gen['role'] .
                    ' родился(-ась) ' . $fourth_gen['role'];
            }
        }
    }
    ?>

Результат выполнения приведённого примера:

    У человека родился(-ась) сын, у которого родился(-ась) дочь; У человека
    родился(-ась) дочь, у которого родился(-ась) сын; и у сын родился(-ась) сын

Пример #2 Использование пространства имён

    <?php
    $xml = '<example xmlns:foo="my.foo.urn">
      <foo:a>Яблоко</foo:a>
      <foo:b>Банан</foo:b>
      <c>Вишня</c>
    </example>';

    $sxe = new SimpleXMLElement($xml);

    $kids = $sxe->children('foo');
    var_dump(count($kids));

    $kids = $sxe->children('foo', TRUE);
    var_dump(count($kids));

    $kids = $sxe->children('my.foo.urn');
    var_dump(count($kids));

    $kids = $sxe->children('my.foo.urn', TRUE);
    var_dump(count($kids));

    $kids = $sxe->children();
    var_dump(count($kids));
    ?>

    int(0)
    int(2)
    int(2)
    int(0)
    int(1)

### Смотрите также

- SimpleXMLElement::count() - Подсчитывает количество дочерних элементов у текущего элемента
- count() - Подсчитывает количество элементов в массиве или в объекте Countable

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open