На странице произошла ошибка #S51. Свяжитесь с вебмастером. PHP 5.6 и PHP 7 на русском: Функция RecursiveArrayIterator::getChildren() - Возвращает итератор для текущего элемента, если этот элемент является массивом (array) или объектом (object)

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7)

RecursiveArrayIterator::getChildren Возвращает итератор для текущего элемента, если этот элемент является массивом (array) или объектом (object)

Описание

public RecursiveArrayIterator RecursiveArrayIterator::getChildren ( void )

Возвращает итератор для текущего элемента.

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

У этой функции нет параметров.

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

Итератор для текущего элемента, если этот элемент является массивом (array) или объектом (object).

Ошибки

Метод выбрасывает исключение InvalidArgumentException, если текущий элемент не содержит массивов (array) или объектов (object).

Примеры

Пример #1 Пример использования RecursiveArrayIterator::getChildren()

<?php
$fruits 
= array("a" => "lemon""b" => "orange", array("a" => "apple""p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while (
$iterator->valid()) {

    if (
$iterator->hasChildren()) {
        
// выводим информацию о всех дочерних элементах
        
foreach ($iterator->getChildren() as $key => $value) {
            echo 
$key ' : ' $value "\n";
        }
    } else {
        echo 
"Дочерних элементов не обнаружено.\n";
    }

    
$iterator->next();
}
?>

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

Дочерних элементов не обнаружено.
Дочерних элементов не обнаружено.
a : apple
p : pear

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

Коментарии

Автор:
RecursiveArrayIterator::getChildrens returns a copy of the children, not a reference:
<?php
$stack 
= array ("some" => "value",
                array (
"subsome" => "subvalue", array ("subsubsome" => "subsubvalue")),
               
"some1" => "value1");

$object = new RecursiveArrayIterator ($stack);
$object->next ();
$second_object = &$object->getChildren ();

$second_object->next ();

$third_object = &$second_object->getChildren ();

$third_object->offsetSet ("subsubsome""subsubdiferent");

var_dump ($object);
var_dump ($second_object);
var_dump ($third_object);
?>

returns: 

object(RecursiveArrayIterator)#1 (1) {
  ["storage":"ArrayIterator":private]=>
  array(3) {
    ["some"]=>
    string(5) "value"
    [0]=>
    array(2) {
      ["subsome"]=>
      string(8) "subvalue"
      [0]=>
      array(1) {
        ["subsubsome"]=>
        string(11) "subsubvalue" <--- expected to be changed
      }
    }
    ["some1"]=>
    string(6) "value1"
  }
}
object(RecursiveArrayIterator)#2 (1) {
  ["storage":"ArrayIterator":private]=>
  array(2) {
    ["subsome"]=>
    string(8) "subvalue"
    [0]=>
    array(1) {
      ["subsubsome"]=>
      string(11) "subsubvalue" <--- expected to be changed
    }
  }
}
object(RecursiveArrayIterator)#3 (1) {
  ["storage":"ArrayIterator":private]=>
  array(1) {
    ["subsubsome"]=>
    string(14) "subsubdiferent"
  }
}
2014-03-05 22:44:39
http://php5.kiev.ua/manual/ru/recursivearrayiterator.getchildren.html

    Поддержать сайт на родительском проекте КГБ