html - Iterate an object using SMARTY?
问题描述
I've been trying to iterate {"username":"testuser","password":"XXXXXX"}
in smarty(3.1.29). I need to print those keys and values inside a panel. I cannot iterate over this.
Even I tried with PHP array a:2:{s:8:"username";s:6:"ubuntu";s:8:"password";s:8:"password";}
I cannot iterate this.
$json = {
"username":"testuser",
"password":"XXXXXX"
}
{foreach from=$json item=key key=val}
Key : {key}
Value: {value}
{/foreach}
Is there any way possible to iterate over this?
I want output like below:
Key : testuser
Value : XXXXX
解决方案
您可以先尝试将 JSON 对象转换为 PHP 数组:
$userJson = {"username":"testuser","password":"XXXXXX"}
$userArray = json_decode($userJson)
$smarty->assign("userArray", $userArray);
然后在 Smarty 中会是:
{foreach from=$userArray key=key item=value}
<li>{$key}: {$value}</li>
{/foreach}
推荐阅读
- regex - 如何使用 sed、awk、grep 等在跨多个文件的行的子字符串中用 %20 替换空格
- python - 我正在尝试使用条纹支付。但是在提交卡详细信息时遇到一些问题
- c++ - 将 gmsh 生成的节点和元素保存到 std::vector 或其他容器
- javascript - Firefox browser.tabs.query({}).then() 未定义
- python - 将特定文件从一个文件夹批量复制/粘贴到另一个文件夹
- mysql - 带有 MySQL auth mod 的 ProFTPd 的 UID 和 GID
- java - api客户端调用的线程安全
- c - linux中的“闹钟”消息
- amazon-cognito - 如何创建未确认状态的 AWS 管理员用户
- javascript - ./src/productsection.js 尝试导入错误:“bindActionCreaters”未从“redux”导出