0

未定義の変数を取得していますが、これを変数として宣言する方法がわかりません。

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>
4

1 に答える 1

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>
于 2013-08-18T13:05:23.070 に答える