How to remove duplicated items in array on Twig

后端 未结 7 1045
-上瘾入骨i
-上瘾入骨i 2020-12-14 06:40

How to remove duplicated items in array on Twig?

I have array value in twig such as.

{{ set array = [\"testA         


        
7条回答
  •  一整个雨季
    2020-12-14 07:26

    In this case, as @Webberig said it's better to prepare your data before the rendering of the view. But when you have a more complex process and if is related to the view you can create a Twig Extension, with an extension the code would look like:

    MyTwigExtension.php for Twig versions 1.12 and greater:

    /**
     * {@inheritdoc}
     */
    public function getFunctions()
    {
        return array(
            new \Twig_SimpleFunction('array_unset', array($this, 'arrayUnset'))
        );
    }
    

    If you are on a Twig version earlier than 1.12, use this MyTwigExtension.php instead:

    /**
     * {@inheritdoc}
     */
    public function getFunctions()
    {
        return array(
            'array_unset' => new \Twig_Function_Method($this, 'arrayUnset')
        );
    }
    
    /**
     * Delete a key of an array
     *
     * @param array  $array Source array
     * @param string $key   The key to remove
     *
     * @return array
     */
    public function arrayUnset($array, $key)
    {
        unset($array[$key]);
    
        return $array;
    }
    

    Twig:

    {% set query = array_unset(query, 'array_key') %}
    

提交回复
热议问题