我已经尝试了几个小时,如果只是 PHP,我现在就完成了,但这需要 Smarty 3,所以事情有点不同。我很难从数组中获取特定的复数键。数组看起来像这样
Array
(
[0] => Array
(
[id] => 1
[client] => Jane Doe
[email] => <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0268636c6742666d672c616d6f" rel="noreferrer noopener nofollow">[email protected]</a>
)
[1] => Array
(
[id] => 2
[client] => John Doe
[email] => <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6c060304022c080309420f0301" rel="noreferrer noopener nofollow">[email protected]</a>
)
[2] => Array
(
[id] => 3
[client] => Jim Doe
[email] => <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="02686b6f42666d672c616d6f" rel="noreferrer noopener nofollow">[email protected]</a>
)
我可以使用 PHP 访问它,Smarty 让我很困惑,文件是两个
- clients.php
- clients.tpl <- 聪明
我使用以下内容在 .php 文件中分配数组
$totalEntries = $results['products']['product'];
$ca->assign('innerArray', $totalEntries);
$results['products']['product']
输出上面看到的数组。
现在在 .tpl 文件中,我有以下内容
<select class="form-control" id="sel1">
{foreach $innerArray as $results}
{foreach from=$results.client item=label}
<option value="{$label}">{$label}</option>
{/foreach}
{/foreach}
</select>
这可以输出到下拉列表
- 无名氏
- 约翰·多伊
- 吉姆·多伊
我正确地理解了这一部分,并且我一直在互联网上查找以找出答案。我的计划是在下拉菜单中引入类似
- 简·多伊 - [email protected]
- 约翰·多伊 - [email protected]
- 吉姆·多伊 - [email protected]
但是,当我使用类似以下内容尝试执行此操作时,我删除了 from=
的 .client 部分 <select class="form-control" id="sel1">
{foreach $innerArray as $results}
{foreach from=$results item=label}
<option value="{$label.client}">{$label.client} - {$label.email}</option>
{/foreach}
{/foreach}
</select>
我遇到了一个看起来像这样的列表
- 1 - 1
- J - J
- j - j
- 2 - 2
- J - J
- j - j
- 3 - 3
- J - J
- j - j
我意识到这基本上是第一个字母和数字,但是我在网上看到了各种示例,表明我可以从数组中获取我需要的内容,但是当我尝试 $label.client - $label.email 这不会起作用。
我做错了什么?
最佳答案
这与您的方式不同,但使用 {section} 即可:
<select class="form-control" id="sel1">
{section name=seq loop=$innerArray}
<option value="{$innerArray[seq].id}">{$innerArray[seq].client} - $innerArray[seq].email}</option>
{/section}
</select>
关于php - 在 Smarty 中从数组中获取某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46875833/