我有一个名为的数组$mydata,如下所示:
Array
(
[0] => Array
(
[id] => 1282
[type] =>2
)
[1] => Array
(
[id] => 1281
[type] =>1
)
[2] => Array
(
[id] => 1266
[type] =>2
)
[3] => Array
(
[id] => 1265
[type] =>3
)
)
Run Code Online (Sandbox Code Playgroud)
我把数组分配给了smarty $smarty->assign("results", $mydata)
现在,在模板中,我需要打印数组中每个"类型"的数量.任何人都可以帮我这样做吗?
Mat*_*t S 20
PHP 5.3,5.4:
从Smarty 3开始,你可以做到
{count($mydata)}
Run Code Online (Sandbox Code Playgroud)
你也可以在Smarty 2或3中管它:
{$mydata|count}
Run Code Online (Sandbox Code Playgroud)
要计算"类型"值,您必须在PHP或Smarty中遍历数组:
{$type_count = array()}
{foreach $mydata as $values}
{$type = $values['type']}
{if $type_count[$type]}
{$type_count[$type] = $type_count[$type] + 1}
{else}
{$type_count[$type] = 1}
{/if}
{/foreach}
Count of type 2: {$type_count[2]}
Run Code Online (Sandbox Code Playgroud)
PHP 5.5+:
使用PHP 5.5+和Smarty 3,您可以使用新array_column功能:
{$type_count = array_count_values(array_column($mydata, 'type'))}
Count of type 2: {$type_count['2']}
Run Code Online (Sandbox Code Playgroud)
pyt*_*033 15
你试过这个吗?:
{$mydata|@count}
Run Code Online (Sandbox Code Playgroud)
count传递php函数count()
| 归档时间: |
|
| 查看次数: |
35786 次 |
| 最近记录: |