簡體   English   中英

Smarty輸出動態變量

[英]Smarty output dynamic variable

我的目標是為數學方程式分配一個動態變量(稱為技能),如下所示:

$skill_HULK = 5, $skill_MAC = 2, ...

所以我做到了

${math assign="skill_`$sk->skill_abbreviation`" equation="x * y" x=1 y=2}

哪里

$sk->skill_abbreviation returns HULK and MAC (foreach loop).

但是,如何輸出變量的結果呢? 我嘗試使用“ eval”,但是它只顯示我變量的名稱。 如果我做 :

{eval var="sk_`$sk->skill_abbreviation`"}

它將輸出例如skill_MAC而不是2。

有人可以幫我嗎? 謝謝

不確定這是您要找的東西,但是請看一下:

PHP:

$smarty->assign("skill_abbreviation", "HULK");
$smarty->assign("skill_HULK", 5);
$smarty->assign("skill_MAC", 2);
$smarty->display('index.tpl');

模板:

{$skill_{$skill_abbreviation}}
// or
{assign var='myVar' value=$skill_{$skill_abbreviation}}
{$myVar}

結果:

5
// or
5


或者,您可以循環運行此命令:

PHP:

{foreach from=$skill_abbreviations item=abbr}
  {$skill_{$abbr}}
{/foreach}

模板:

  5
  2

結果:

  5 2 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM