本文整理汇总了PHP中AppendIterator::key方法的典型用法代码示例。如果您正苦于以下问题:PHP AppendIterator::key方法的具体用法?PHP AppendIterator::key怎么用?PHP AppendIterator::key使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AppendIterator
的用法示例。
在下文中一共展示了AppendIterator::key方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: key
function key()
{
return ($this->getIteratorIndex() ? '@' : '') . parent::key();
}
示例2: key
function key()
{
echo __METHOD__ . '; ';
return parent::key();
}
示例3: key
/**
* {@inheritdoc}
*/
public function key()
{
$this->lazyAppend();
return parent::key();
}
示例4: dir_readdir
/**
* Support for readdir().
*
* @return string|bool the next filename, or false if there are no more
* files in the directory
* @see http://www.php.net/manual/en/function.readdir.php
*/
public function dir_readdir()
{
while ($this->_directoryIterator->valid()) {
$key = $this->_directoryIterator->key();
$current = $this->_directoryIterator->current();
$iterator = $this->_directoryIterator->getInnerIterator();
try {
$this->_directoryIterator->next();
} catch (Services_Amazon_S3_Exception $e) {
return false;
}
if (is_string($current)) {
// Return "." or ".."
return $key;
}
if ($iterator instanceof Services_Amazon_S3_ObjectIterator) {
// Strip prefix and any trailing slash
$key = rtrim(substr($key, strlen($iterator->prefix)), '/');
} else {
// When iterating over buckets, $current is a bucket instance
$key = $current->name;
}
// Subdirectories may be represented in two different ways - make
// sure not to report duplicates
$subdirectory = false;
if (substr($key, -9) == '_$folder$') {
$subdirectory = $key = substr($key, 0, -9);
} elseif ($current instanceof Services_Amazon_S3_Prefix) {
$subdirectory = $key;
}
if ($subdirectory) {
if (!in_array($key, $this->_subdirectories)) {
$this->_subdirectories[] = $key;
return $key;
}
} else {
return $key;
}
}
return false;
}
示例5: ArrayIterator
[expect php]
[file]
<?php
$pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));
$appendIterator = new AppendIterator();
$appendIterator->append($pizzas);
$appendIterator->append($toppings);
foreach ($appendIterator as $key => $item) {
echo "{$key} => {$item}", PHP_EOL;
}
$appendIterator->append($toppings);
while ($appendIterator->valid()) {
echo $appendIterator->key() . " => " . $appendIterator->current() . "\n";
$appendIterator->next();
}
示例6: 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());
}