本文整理汇总了PHP中AppendIterator::getIteratorIndex方法的典型用法代码示例。如果您正苦于以下问题:PHP AppendIterator::getIteratorIndex方法的具体用法?PHP AppendIterator::getIteratorIndex怎么用?PHP AppendIterator::getIteratorIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AppendIterator
的用法示例。
在下文中一共展示了AppendIterator::getIteratorIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test3
function test3($firstData, $secondData)
{
$firstIterator = new ArrayIterator($firstData);
$secondIterator = new ArrayIterator($secondData);
$append = new AppendIterator();
$append->append($firstIterator);
$append->append($secondIterator);
foreach ($append as $key => $value) {
printf("F: %s, S: %s, A: %s=>%s (%s)\n", $firstIterator->key(), $secondIterator->key(), $key, $value, $append->getIteratorIndex());
}
}
示例2: AppendIterator
<?php
$a = new AppendIterator();
$a1 = new ArrayIterator([]);
$a2 = new ArrayIterator([1, 2, 3]);
$a->append($a1);
$a->append($a2);
var_dump($a->valid());
var_dump($a->current());
var_dump($a->getIteratorIndex());
// go to the end
for ($a->rewind(); $a->valid(); $a->next()) {
}
$a->append(new ArrayIterator([]));
$a->append(new ArrayIterator([4, 5, 6]));
var_dump($a->valid());
var_dump($a->current());
var_dump($a->getIteratorIndex());
示例3: test_error_handler
<?php
function test_error_handler($errno, $msg, $filename, $linenum)
{
echo "Error {$msg} in {$filename} on line {$linenum}\n";
return true;
}
set_error_handler('test_error_handler');
$it = new AppendIterator();
try {
$it->append(array());
} catch (Error $e) {
test_error_handler($e->getCode(), $e->getMessage(), $e->getFile(), $e->getLine());
}
$it->append(new ArrayIterator(array(1)));
$it->append(new ArrayIterator(array(21, 22)));
var_dump($it->getArrayIterator());
$it->append(new ArrayIterator(array(31, 32, 33)));
var_dump($it->getArrayIterator());
$idx = 0;
foreach ($it as $k => $v) {
echo '===' . $idx++ . "===\n";
var_dump($it->getIteratorIndex());
var_dump($k);
var_dump($v);
}
?>
===DONE===
示例4: testResultsetAppendIterator
public function testResultsetAppendIterator()
{
if (!$this->_prepareTestMysql()) {
$this->markTestSkipped("Skipped");
return;
}
// see http://php.net/manual/en/appenditerator.construct.php
$iterator = new \AppendIterator();
$robots_first = Robots::find(array('limit' => 2));
$robots_second = Robots::find(array('limit' => 1, 'offset' => 2));
$robots_first_0 = $robots_first[0];
$robots_first_1 = $robots_first[1];
$robots_second_0 = $robots_second[0];
$iterator->append($robots_first);
$iterator->append($robots_second);
$iterator->rewind();
$this->assertTrue($iterator->valid());
$this->assertEquals($iterator->key(), 0);
$this->assertEquals($iterator->getIteratorIndex(), 0);
$this->assertEquals(get_class($iterator->current()), 'Robots');
$this->assertEquals($robots_first_0->name, $iterator->current()->name);
$iterator->next();
$this->assertTrue($iterator->valid());
$this->assertEquals($iterator->key(), 1);
$this->assertEquals($iterator->getIteratorIndex(), 0);
$this->assertEquals(get_class($iterator->current()), 'Robots');
$this->assertEquals($robots_first_1->name, $iterator->current()->name);
$iterator->next();
$this->assertTrue($iterator->valid());
$this->assertEquals($iterator->key(), 0);
$this->assertEquals($iterator->getIteratorIndex(), 1);
$this->assertEquals(get_class($iterator->current()), 'Robots');
$this->assertEquals($robots_second_0->name, $iterator->current()->name);
$iterator->next();
$this->assertFalse($iterator->valid());
}