If Iterator::valid() returns false, the foreach() loop will be terminated.
Iterator::valid
(PHP 5 >= 5.0.0)
Iterator::valid — Checks if current position is valid
Descrição
abstract public boolean Iterator::valid
( void
)
This method is called after Iterator::rewind() and Iterator::next() to check if the current position is valid.
Parâmetros
Esta função não possui parâmetros.
Valor Retornado
The return value will be casted to boolean and then evaluated.
Retorna TRUE em caso de sucesso ou FALSE em caso de falha.
seva dot lapsha at gmail dot com ¶
3 years ago
Voitcus at gmail dot com ¶
2 months ago
If your class implements also ArrayAccess interface, you could use as valid() body
function valid(){
return $this->offsetExists($this->position);
}
hyponiq at gmail dot com ¶
1 year ago
Take consideration when utilizing this method and using the returned value of isset([value]). The value of isset([value]) will be false for null values.
I ran into this problem when checking isset([value]) against array elements whose value was null.
Example:
<?php
$array = array(null, 1, 2, 3);
$isSet = isset($array[0]);
var_dump($isSet); // output: boolean(false)
class AClass {
public $array = (null, 1, 2, 3);
function valid() {
return isset($this->array[0]);
}
}
$class = new AClass;
var_dump($class->valid()); // output: boolean(false)
?>
