将 smarty 布尔值转换为人类可读值。('Yes'/'No' 或 'True'/'False')

MrB*_*ide 2 html javascript php jquery smarty

我正在使用 Smarty 生成一些表,并且在某一时刻我正在打印从 php 文件传递​​的变量值。问题是其中一些变量是布尔值,它们呈现为“1”或“”。这是我尝试将这些布尔值转换为人类可读的格式。这是行不通的。如何检查变量是否为布尔值?

{if $val2.$value_index === true}Yes
{else if $val2.$value_index === false}No
{else}{$val2.$value_index->value}{/if}
Run Code Online (Sandbox Code Playgroud)

Ale*_*xus 5

使用 PHP var_export()函数作为布尔变量的 smarty 修饰符。将第二个参数设置为 true,因此var_export()返回变量表示形式而不是输出它。

要检查变量是否为布尔值,请使用 PHP is_bool()函数。

您的 Smarty 代码应如下所示:

{if is_bool($val2.$value_index)}
  {$val2.$value_index|var_export:true}
{/if}
Run Code Online (Sandbox Code Playgroud)