Php - 重试执行一行

时间:2016-03-18 09:26:54

标签: php variables line handler execute

在解释我想做什么之前,这是我的代码:

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;等等......这将是完美的。

0 个答案:

没有答案