У меня есть этот многомерный массив в smarty:
attribute => Array (16)
25 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Blue"
id_product_attribute => "25"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "25"
26 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Blue"
id_product_attribute => "26"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "26"
27 => Array (2)
0 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "27"
1 => Array (3)
public_group_name => "Color"
attribute_name => "Yellow"
id_product_attribute => "27"
28 => Array (2)
0 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "28"
1 => Array (3)
public_group_name => "Color"
attribute_name => "Yellow"
id_product_attribute => "28"
29 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Metal"
id_product_attribute => "29"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "29"
30 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Metal"
id_product_attribute => "30"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "30"
32 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Black"
id_product_attribute => "32"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "32"
33 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Orange"
id_product_attribute => "33"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "33"
34 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Orange"
id_product_attribute => "34"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "34"
35 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Pink"
id_product_attribute => "35"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "35"
36 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Pink"
id_product_attribute => "36"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "36"
39 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Green"
id_product_attribute => "39"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "39"
40 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Green"
id_product_attribute => "40"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "40"
41 => Array (2)
0 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "41"
1 => Array (3)
public_group_name => "Color"
attribute_name => "Purple"
id_product_attribute => "41"
42 => Array (2)
0 => Array (3)
public_group_name => "Disk space"
attribute_name => "8Go"
id_product_attribute => "42"
1 => Array (3)
public_group_name => "Color"
attribute_name => "Purple"
id_product_attribute => "42"
31 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Black"
id_product_attribute => "31"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "31"
Я могу отобразить весь массив благодаря этому решению ссылка :
{foreach from=$product.attribute key='id_attribute' item='attribute'}
<li>
{foreach from=$attribute key='id_property' item='property'}
{$property.public_group_name}
{$property.attribute_name}
{/foreach}
</li>
{/ foreach}
Результат примерно такой:
- Цвет Синий Дисковое пространство 16Go
- Цвет Синий Дисковое пространство 8Go
- Дисковое пространство 16Go Цвет Желтый
- Место на диске 8Go Цвет Желтый
- Цвет Металл Место на диске 16Go
- Цвет Металл Место на диске 8Go
- Цвет Черный Место на диске 8Go
- Цвет ОранжевыйДисковое пространство 16Go
- Цвет Оранжевый Дисковое пространство 8Go
- Цвет Розовый Дисковое пространство 16Go
- Цвет Розовый Дисковое пространство 8Go
- Цвет Зеленый Дисковое пространство 16Go
- Цвет Зеленый Дисковое пространство 8Go
- Дисковое пространство 16Go Цвет Фиолетовый
- Дисковое пространство 8Go Цвет Фиолетовый
- Цвет Черный Дисковое пространство 16Go
Теперь я хочу отобразить результат, только если строка содержит «Синий».Этот массив не будет отображаться, потому что он имеет атрибут name = Orange:
33 => Array (2)
0 => Array (3)
public_group_name => "Color"
attribute_name => "Orange"
id_product_attribute => "33"
1 => Array (3)
public_group_name => "Disk space"
attribute_name => "16Go"
id_product_attribute => "33"
Как я могу это сделать?С помощью in_array я могу проверить, находится ли значение в многомерном массиве?
Thx