Используя RecursiveIteratorIterator с пространствами имен?

Моя проблема в том, что когда я использую пространства имен, я не могу использовать класс RecursiveIteratorIterator из стандартной библиотеки PHP.
Следующий код:

<?php namespace mynamespace;

$arr = Array("abc", Array("def", "ghi", Array("jkl")));
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
$result = iterator_to_array($it, false);

?>

Возвращает:

Неустранимая ошибка PHP: неперехваченная ошибка: класс ‘mynamespace \ RecursiveIteratorIterator’ не найден в …

2

Решение

Вам нужно сослаться на глобальное пространство имен с \:

$it = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($arr));

Или вы можете импортировать их в текущее пространство имен с помощью use:

namespace mynamespace;
use RecursiveIteratorIterator;
use RecursiveArrayIterator;

Увидеть Использование пространств имен: основы для деталей.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]