Прежде чем объяснить, что я хочу сделать, вот мой код:
set_error_handler(function($errno, $errstr)
{
if (strpos($errstr, 'Undefined variable: ') === 0)
{
// Get my var
$words = explode(' ', $errstr);
// Var is not declared before so "we create it" in global (wizard astuce ;p)
global $route, ${$words[2]};
// I put a content to my var
${$words[2]} = array('tutu' => 'toto');
// I don't display error
return true;
}
return false;
}, E_NOTICE);
// I want to display "toto" without declared my var before
echo $News['tutu'].'<br/><br/>';
echo $News['tutu'].'<br/><br/>';
Итак … в первый раз $ News [‘tutu’] не работает, а во второй раз он работает очень хорошо.
И что я хочу сделать, это повторить первое выполнение $ News [‘tutu’] или получить конец моего var ([‘tutu’]), после чего я смогу получить «toto».
Если бы я мог избежать использования «substr», «open», ect … Это было бы прекрасно.
Задача ещё не решена.
Других решений пока нет …