Как получить индекс элемента в классе ArrayObject

#php #arrayobject

#php #arrayobject массивобъект

Вопрос:

Я реализую класс, наследуя PHP-класс ArrayObject. Но я не нахожу, как получить индекс массива во время итерации. Я хочу показать как ключ, так и значение

 class TestArrayObject extends ArrayObject {
    public function displayAsTable() {
        $iterator = $this->getIterator();
        // Table
        echo '<table border="1">';
        echo '<tr>';
        echo '<th>Keys</th><th>Values</th>';
        echo '</tr>';
        while ($iterator->valid()) {
            echo '<tr>';
            echo '<td>'.$iterator->current().'</td><td>'.$iterator->current().'</td>';
            echo '</tr>';
            $iterator->next();
        }
        echo '</table>';
    }
}

$arrFruits = array('Apple','Banana', 'Mango');
$objArr = new TestArrayObject($arrFruits);
$objArr->displayAsTable();
 

Кто-нибудь может мне помочь?

Комментарии:

1. И, конечно же, вы не хотите использовать руководство пользователя. php.net/manual/en/iterator.key.php

2. Спасибо, брат, это работает @u_mulder

Ответ №1:

Я изменил следующую строку, и она работает нормально

'<td>'.$iterator->key().'</td><td>'.$iterator->current().'</td>'

Для получения дополнительной информации смотрите здесь