在Twig和PHP中搜索选定的值

时间:2018-11-04 21:48:35

标签: php twig

我在php中有这个数组:

Array
(
    [pageHeader] => Array
        (

            [pageValue] => Array
                (


                    [attractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [tourist_attractions_id] => 4
                                    [enable] => 1
                                    [name_pl] => atrackja 2
                                )

                            [1] => Array
                                (
                                    [tourist_attractions_id] => 1
                                    [enable] => 1
                                    [name_pl] => nazwa pl1
                                )

                        )

                    [selectedAttractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [related_id] => 4
                                )

                        )

                )

        )

和我的树枝文件:

{% for attractions in pageTemplate.pageHeader.pageValue.attractionsArray %}
   <fieldset class="checkboxsas">
                                            <label>
                                                <input type="checkbox" value="{{ attractions.tourist_attractions_id }}" {% if attractions.tourist_attractions_id in selectedAttractionsArray %} checked {% endif %}> {{ attractions.name_pl }}
                                            </label>
                                        </fieldset>
                                    {% endfor %}

我想选中以下复选框以检查记录: 景点Array.tourist_attractions_id == selectedAttractionsArray.related_id

如何做到?

已更新 我的实际数组php:

[attractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [tourist_attractions_id] => 4
                                    [enable] => 1
                                    [name_pl] => atrackja 2
                                )

                            [1] => Array
                                (
                                    [tourist_attractions_id] => 1
                                    [enable] => 1
                                    [name_pl] => nazwa pl1
                                )

                        )

                    [selectedAttractionsArray] => Array
                        (
                            [0] => Array
                                (
                                    [related_id] => 4
                                )

                            [1] => Array
                                (
                                    [related_id] => 1
                                )

                        )

我在selectedAttractionsArray中有2个值,在景点数组中有2个值。 景点Array-该数组在数据库中具有所有可用的景点

selectedAttractionsArray-该数组只有喜欢的项目

1 个答案:

答案 0 :(得分:0)

您需要在将PHP数组传递给View之前对其进行更改,例如,如果您的数组变量名为$data

$data['pageHeader']['pageValue']['selectedAttractionsArray'] = array_map('current', $data['pageHeader']['pageValue']['selectedAttractionsArray']);

您可以查看currentmap函数文档以进一步了解代码。

还要对树枝进行一些小的更改:

{% if attractions.tourist_attractions_id in pageTemplate.pageHeader.pageValue.selectedAttractionsArray %} checked {% endif %}