Petit casse-tête PHP : foreach et référence
Posté : 21 juil. 2010, 09:47
Hey
,
Voici un petit casse-tête que j'ai eu récemment. Amusez-vous bien :
Voici un petit casse-tête que j'ai eu récemment. Amusez-vous bien :
<?php
class C {
protected $_foo = array('a', 'b', 'c', 'd');
public function &getData ( ) {
return $this->_foo;
}
}
function f ( C $c ) {
var_dump(current($c->getData()));
}
$c = new C();
$a = &$c->getData();
foreach($a as $i => $v) {
var_dump($v);
f($c);
echo "\n";
}
/**
* Will output:
*
* string(1) "a"
* string(1) "b"
*
* string(1) "b"
* string(1) "c"
*
* string(1) "c"
* string(1) "d"
*
* string(1) "d"
* bool(false)
*/