在PHP文件它說:可以克隆PHP生成器嗎?
這種靈活性也不過是有代價的,:發電機只進迭代器,一旦迭代開始無法倒帶。這也意味着相同的生成器不能迭代多次:生成器需要通過再次調用生成器函數來重建,或通過克隆關鍵字進行克隆。 Documentation
但是我試圖書面克隆,我從一個方法接收到的生成器對象代碼,並收到錯誤指定的發電機對象不能被克隆:
class Course {
private $students = array("avi" , "haim" , "maor" , "liran" , "yossi");
function generateStudents() {
foreach ($this->students as $student) {
yield $student;
}
}
}
$ob = new Course();
$generator = $ob->generateStudents();
// Fatal error: Trying to clone an uncloneable object of class Generator
$generator2 = clone $generator;
?>
請讓你的問題更清楚。 –