Как использовать цикл, но не менять объект (курсор)?

Я только что понял, что мой обработчик печати меняет курсор объектов. (Это означает, что просмотр объекта действительно меняет его, и я бы предпочел этого не делать.)

Например, если я печатаю результат mysqli_query, мне нужно добавить что-то вроде $ result-> data_seek (0); прежде чем я смогу идти вперед.

Я пытался использовать клон вместо объекта, но, видимо, нельзя клонировать mysqli_queries.

Есть ли способ, как я могу обработать абиторный объект, не меняя его?

Я упростил свой метод, чтобы сосредоточиться на цикле foreach.

Заранее спасибо за помощь!
Питер

private static function _recursivePrintHandler($input, string $tab)
{

if(is_array($input))
{
$echoStr = 'array'. PHP_EOL;
}
elseif(is_object($input))
{
$echoStr = 'object'. PHP_EOL;
//$input = clone $input; // does not work, i.e. one cannot clone mysqli objects :-(
}
else
{
return 'UNKNOWN TYPE';
}

$echoStr .= $tab. '('. PHP_EOL;
$tabAdditional = '    ';

foreach ($input as $key => $value)
{
$echoStr .= $tab. '['. $key. '] => '. CallSomeThing(). PHP_EOL;
}
$echoStr .= $tab. ')';
return $echoStr;
}

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector