ArrayIterator::seek

(PHP 5 >= 5.0.0, PHP 7)

ArrayIterator::seekПеремещает указатель на выбранную позицию

Описание

public void ArrayIterator::seek ( int $position )
Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

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

position

Позиция, на которую нужно переместить указатель.

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

Эта функция не возвращает значения после выполнения.

Коментарии

<?php
// didn't see any code demos...here's one from an app I'm working on

$array = array('1' => 'one',
               
'2' => 'two',
               
'3' => 'three');

$arrayobject = new ArrayObject($array);
$iterator $arrayobject->getIterator();

if(
$iterator->valid()){
   
$iterator->seek(1);            // expected: two, output: two
   
echo $iterator->current();    // two
}

?>
2008-10-21 20:08:20
http://php5.kiev.ua/manual/ru/arrayiterator.seek.html
<?php
//seek alter the iterator's internal indice instead of the value that key() returns. 
//This is a big trap if combining with uasort/natsort function. 

$a = new ArrayObject([4,3,2,1]);
$it $a->getIterator();
$it->natsort();   //The Iterator preserve the key while sorting the array 
$it->rewind();
$first $it->key();   //The first element is  1 and it's key is 3
echo $firstPHP_EOL// 3

$it->next();
$second $it->key();
echo 
$secondPHP_EOL//2

$it->next();
$it->seek($first);             //Was intended to seek to element 1, key 3, indice 0
echo  $it->key() . PHP_EOL//end up 0 because seek took parameter as indice instead of key. It seek to element indice 3, element 4 key 0.

var_dump($it);

/* Output: 
3
2
0
object(ArrayIterator)#2 (1) {
  ["storage":"ArrayIterator":private]=>
  object(ArrayObject)#1 (1) {
    ["storage":"ArrayObject":private]=>
    array(4) {
      [3]=>
      int(1)
      [2]=>
      int(2)
      [1]=>
      int(3)
      [0]=>
      int(4)
    }
  }
}
*/
2016-04-27 05:20:12
http://php5.kiev.ua/manual/ru/arrayiterator.seek.html

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