Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- SPL: ArrayIterator overloading --FILE-- <?php class ArrayIteratorEx extends Arra..

Decoded Output download

--TEST--
SPL: ArrayIterator overloading
--FILE--
<?php

class ArrayIteratorEx extends ArrayIterator
{
    function rewind(): void
    {
        echo __METHOD__ . "
";
        ArrayIterator::rewind();
    }

    function valid(): bool
    {
        echo __METHOD__ . "
";
        return ArrayIterator::valid();
    }

    function key(): string|int|null
    {
        echo __METHOD__ . "
";
        return ArrayIterator::key();
    }

    function current(): mixed
    {
        echo __METHOD__ . "
";
        return ArrayIterator::current();
    }

    function next(): void
    {
        echo __METHOD__ . "
";
        ArrayIterator::next();
    }
}

$ar = new ArrayIteratorEx(array(1,2));
foreach($ar as $k => $v)
{
    var_dump($k);
    var_dump($v);
}

?>
--EXPECT--
ArrayIteratorEx::rewind
ArrayIteratorEx::valid
ArrayIteratorEx::current
ArrayIteratorEx::key
int(0)
int(1)
ArrayIteratorEx::next
ArrayIteratorEx::valid
ArrayIteratorEx::current
ArrayIteratorEx::key
int(1)
int(2)
ArrayIteratorEx::next
ArrayIteratorEx::valid

Did this file decode correctly?

Original Code

--TEST--
SPL: ArrayIterator overloading
--FILE--
<?php

class ArrayIteratorEx extends ArrayIterator
{
    function rewind(): void
    {
        echo __METHOD__ . "\n";
        ArrayIterator::rewind();
    }

    function valid(): bool
    {
        echo __METHOD__ . "\n";
        return ArrayIterator::valid();
    }

    function key(): string|int|null
    {
        echo __METHOD__ . "\n";
        return ArrayIterator::key();
    }

    function current(): mixed
    {
        echo __METHOD__ . "\n";
        return ArrayIterator::current();
    }

    function next(): void
    {
        echo __METHOD__ . "\n";
        ArrayIterator::next();
    }
}

$ar = new ArrayIteratorEx(array(1,2));
foreach($ar as $k => $v)
{
    var_dump($k);
    var_dump($v);
}

?>
--EXPECT--
ArrayIteratorEx::rewind
ArrayIteratorEx::valid
ArrayIteratorEx::current
ArrayIteratorEx::key
int(0)
int(1)
ArrayIteratorEx::next
ArrayIteratorEx::valid
ArrayIteratorEx::current
ArrayIteratorEx::key
int(1)
int(2)
ArrayIteratorEx::next
ArrayIteratorEx::valid

Function Calls

None

Variables

None

Stats

MD5 170778b4e76d0a772999f06b0e1065e8
Eval Count 0
Decode Time 75 ms