在解释我想做什么之前,这是我的代码:
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 [&#39; tutu&#39;]无效,第二次效果非常好。
我想要做的是重试第一次执行$ News [&#39; tutu&#39;]或者让我的var结束([&#39; tutu&#39;])然后我可以得到&#34; toto&#34;。
如果我可以避免使用&#34; substr&#34;,&#34;打开&#34;等等......这将是完美的。