28 lines
		
	
	
		
			731 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			731 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\b\coll;
 | |
| 
 | |
| /**
 | |
|  * Trait TIterableArray: implémentation des méthodes de base pour être un objet
 | |
|  * array-like itérable. Ce trait doit être utilisé conjointement à
 | |
|  * {@link TBaseArray}
 | |
|  */
 | |
| trait TIterableArray {
 | |
|   private $valid;
 | |
| 
 | |
|   function _key() { return key($this->data); }
 | |
|   function _current() { return current($this->data); }
 | |
|   function rewind() {
 | |
|     if ($this->data === null) {
 | |
|       $this->valid = false;
 | |
|     } else {
 | |
|       $first = reset($this->data);
 | |
|       $this->valid = $first !== false || key($this->data) !== null;
 | |
|     }
 | |
|   }
 | |
|   function next() {
 | |
|     $next = next($this->data);
 | |
|     $this->valid = $next !== false || key($this->data) !== null;
 | |
|   }
 | |
|   function valid() { return $this->valid; }
 | |
| }
 |