PHP | SplDoublyLinkedList setIteratorMode()函数
SplDoublyLinkedList::setIteratorMode()函数是PHP中的一个内置函数,用于设置迭代模式。
句法:
void SplDoublyLinkedList::setIteratorMode( int $mode )
参数:此函数接受单个参数$mode ,它包含下面列出的两组正交模式:
迭代的方向是:
- SplDoublyLinkedList::IT_MODE_LIFO(堆栈样式)
- SplDoublyLinkedList::IT_MODE_FIFO(队列样式)
迭代器的行为是:
- SplDoublyLinkedList::IT_MODE_DELETE(元素被迭代器删除)
- SplDoublyLinkedList::IT_MODE_KEEP(元素被迭代器遍历)
返回值:此函数不返回任何值。
下面的程序说明了PHP中的 SplDoublyLinkedList::setIteratorMode()函数:
方案一:
setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO);
// Use getIteratorMode() function
$mode = $list->getIteratorMode();
var_dump($mode);
// Add the element into SplDoublyLinkedList
$list->setIteratorMode(SplDoublyLinkedList::IT_MODE_DELETE);
// Use getIteratorMode() function
$mode = $list->getIteratorMode();
var_dump($mode);
// Add the element into SplDoublyLinkedList
$list->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO);
// Use getIteratorMode() function
$mode = $list->getIteratorMode();
var_dump($mode);
?>
输出:
int(0)
int(1)
int(2)
方案二:
setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO
| SplDoublyLinkedList::IT_MODE_DELETE
| SplDoublyLinkedList::IT_MODE_LIFO);
$mode = $list->getIteratorMode();
var_dump($mode & SplDoublyLinkedList::IT_MODE_FIFO);
var_dump($mode & SplDoublyLinkedList::IT_MODE_LIFO);
var_dump($mode & SplDoublyLinkedList::IT_MODE_DELETE);
var_dump($mode & SplDoublyLinkedList::IT_MODE_KEEP);
?>
输出:
int(0)
int(2)
int(1)
int(0)
参考: https://www. PHP.net/manual/en/spldoublylinkedlist.setiteratormode。 PHP