簡體   English   中英

將smarty布爾值轉換為人類可讀值。('是'/'否'或'真'/'假')

[英]Transform smarty Boolean value to human readable value.('Yes'/'No' or 'True'/'False')

我正在使用Smarty生成一些表,有一次我打印出從php文件傳遞的變量值。 問題是這些變量中的一些是布爾值,它們呈現為“1”或“”。 這是我嘗試將這些布爾值轉換為人類可讀的格式。 這是行不通的。 如何檢查變量是否為布爾值?

{if $val2.$value_index === true}Yes
{else if $val2.$value_index === false}No
{else}{$val2.$value_index->value}{/if}

使用PHP var_export()函數作為布爾變量的smarty修飾符。 將第二個參數設置為true,因此var_export()返回變量表示而不是輸出它。

要檢查您的變量是否為布爾值,請使用PHP is_bool()函數。

您的Smarty代碼應如下所示:

{if is_bool($val2.$value_index)}
  {$val2.$value_index|var_export:true}
{/if}

我對此並不熟悉,但看起來應該是:

{if $val2.$value_index->value === true}Yes
{elseif $val2.$value_index->value === false}No
{else}{$val2.$value_index->value}{/if}

怎么樣:

{if $va2.$value_index}Yes
{else}No
{/if}

問題是這些變量中的一些是布爾值,它們呈現為“1”或“”。

1""不是布爾值,它們是相應的整數和字符串。

我用谷歌搜索速記,如果沒有,這篇文章最初來了。 以防萬一有人需要速記:

{if $val2.$value_index === true}Yes
{else if $val2.$value_index === false}No
{else}{$val2.$value_index->value}{/if}

至:

{($val2.$value_index->value) ? 'yes' : (!$val2.$value_index->value) ? 'no' : $val2.$value_index->value}

暫無
暫無

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

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