函式名:FilterIterator::key()
適用版本:PHP 5, PHP 7
函式描述:該函式返回當前迭代器指向元素的鍵名。
用法:
public FilterIterator::key ( void ) : mixed
引數: 該函式沒有引數。
返回值: 返回當前迭代器指向元素的鍵名。如果當前迭代器指向的元素不存在鍵名,返回null。
示例:
// 建立一個自定義過濾器迭代器類
class MyFilterIterator extends FilterIterator {
public function accept() {
// 只保留鍵名為奇數的元素
return $this->key() % 2 == 1;
}
}
// 建立一個陣列迭代器
$array = new ArrayIterator(array(1, 2, 3, 4, 5));
// 使用自定義過濾器迭代器
$filterIterator = new MyFilterIterator($array);
// 遍歷迭代器並輸出鍵名
foreach ($filterIterator as $key => $value) {
echo "鍵名: " . $key . "\n";
}
輸出:
鍵名: 0
鍵名: 2
鍵名: 4
在上面的示例中,我們建立了一個自定義的過濾器迭代器類MyFilterIterator
,它繼承自FilterIterator
。在accept()
方法中,我們定義了一個過濾條件,只保留鍵名為奇數的元素。然後我們建立了一個陣列迭代器$array
,並使用MyFilterIterator
來過濾這個迭代器。最後,我們透過遍歷迭代器,使用key()
方法獲取並輸出每個元素的鍵名。由於過濾器的條件,只有鍵名為奇數的元素被保留下來,並輸出了相應的鍵名。