2013-08-18 150 views
1

我得到未定义的变量,我不知道如何将其声明为变量?未定义的变量,无法声明变量?

Notice: Undefined variable: [$scores_round0], 
[$scores_round1], 
[$scores_round2], 
[$scores_final] 

感谢

这是功能我使用: -

public function bracketScores($tournID) { 

    $maxRounds = $this -> maxRounds($tournID); 
    $scores_template = false; 

    for($i = 0; $i < $maxRounds - 1; $i++) { 
     $scores_template.='[$scores_round'.$i.'],<br>'; 
    } 
    $scores_template.='[$scores_final]'; 

    return $scores_template; 
} 

从类文件:

$scores_template = $_brackets -> bracketScores($tournID); 

而且从模板文件:

<script type="text/javascript">var autoCompleteData = 
{ 
    teams : [ 
    {$brackets} 
    ], 
    results : 
    [ 
    [ 
    {$$scores_template} 
    ] 
    ] 
} 
</script> 
<div id="brackets"><div id="autoComplete"></div></div> 
+1

我们展示整个代码 – user4035

+0

什么是您使用的代码。 –

+0

谢谢我共享代码 –

回答

1

你不应该拿出用于输出JSON自己的解决方案 - 只需使用json_encode上的阵列结构:

function getAutoCompleteData(/* whatever params you need */) { 
    // build your structure here 
    $data = array(
     'teams' => array(), 
     'results' => array(), 
    ); 

    return $data; 
} 

然后用像这样:

<script> 
var autoCompleteData = <?php echo json_encode(getAutoCompleteData(/* params */)); ?>; 
</script> 

或为Smarty的,分配的getAutoCompleteData()给一个变量的结果,并使用像这样:

<script> 
var autoCompleteData = {$autoCompleteData|@json_encode}; 
</script>