在数组中查找 smarty
Find in array smarty
我有一个数组
Array
(
[0] => Array
(
[id] => 32
[type] => 4
)
[1] => Array
(
[id] => 51
[type] => 9
)
..
..
..
..
..
[84] => Array
(
[id] => 51
[type] => 9
[cnt] => 1180
)
)
我需要在我的数组中找到 [cnt] 的值,它只存在于我整个数组的一个索引中。 [cnt] 的索引不是常数。
你需要遍历 while 数组。
{foreach from=$data key='k' item='i'}
{if $i.cnt == 1180}
{assign var='key' value=$k}
{/if}
{/foreach}
值 1180 在键 {$key}
中。
{$data[$key]|print_r}
如果 smarty 有类似 break
的内容,您可以将其添加到 if
条件中。
编辑:
如果您需要查找 cnt
的值,它应该是:
{foreach from=$data key='k' item='i'}
{if isset($i.cnt)}
CNT value is: {$i.cnt}
Key of item with CNT: {$k}
{/if}
{/foreach}
您可以简单地使用 PHP 的 array_column
函数作为
$arr = array(
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas','cnt'=>1185)
);
print_r(array_column($arr, 'cnt'));
我有一个数组
Array
(
[0] => Array
(
[id] => 32
[type] => 4
)
[1] => Array
(
[id] => 51
[type] => 9
)
..
..
..
..
..
[84] => Array
(
[id] => 51
[type] => 9
[cnt] => 1180
)
)
我需要在我的数组中找到 [cnt] 的值,它只存在于我整个数组的一个索引中。 [cnt] 的索引不是常数。
你需要遍历 while 数组。
{foreach from=$data key='k' item='i'}
{if $i.cnt == 1180}
{assign var='key' value=$k}
{/if}
{/foreach}
值 1180 在键 {$key}
中。
{$data[$key]|print_r}
如果 smarty 有类似 break
的内容,您可以将其添加到 if
条件中。
编辑:
如果您需要查找 cnt
的值,它应该是:
{foreach from=$data key='k' item='i'}
{if isset($i.cnt)}
CNT value is: {$i.cnt}
Key of item with CNT: {$k}
{/if}
{/foreach}
您可以简单地使用 PHP 的 array_column
函数作为
$arr = array(
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas'),
array('id'=>1,'value'=>'asdas','cnt'=>1185)
);
print_r(array_column($arr, 'cnt'));