[英]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.