SMARTY删除数组值相同的值
问题描述:
我试图找到类似但未成功的东西。如果$ color.code重复,我需要删除一个数组。SMARTY删除数组值相同的值
代码:
foreach $element.modifications as $modification_id => $modification}
{if $modification != null}
{foreach $modification.colors as $color}
<span class="color" style="background:#{$color.code};"></span>
{/foreach}
{/if}
{/foreach}
当调试($颜色)我得到的数组:
阵列 ( [代码] => 333333 )
阵列 ( [code] => 333333 )
阵列 ( [代码] => ABDB25 )
我需要得到只有一次,如果代码是相同的。有人可以帮助我或举例说明我能做到吗?
答
在构建阵列时,使您的密钥为code
$modification['colors'][$color['code']] = $color;
。它会自动创建唯一键阵列。
另一种选择是使用code
池:
$pool = [];
$newColors = [];
foreach ($modification['colors'] as $color) {
if (!isset($pool[$color['code']])) {
$newColors[] = $color;
$pool[$color['code']] = true;
}
}
$modification['colors'] = $newColors;
谢谢您的回答。 –
@PauliusJasiulis接受答案,如果它满足你 – Justinas