Transformer un tableau en objet traversable avec PHP

PubliĂ© le 21/04/2024 • ActualisĂ© le 21/04/2024


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous voyons comment transformer un tableau en objet traversable avec PHP. Rappel : iterable est un type de retour introduit dans PHP 7.1 alors que Traversable est une interface PHP. Dans ce cas, ArrayIterator implĂ©mente l'interface Traversable et peut ĂȘtre typĂ© en tant que iterable.


<?php

declare(strict_types=1);

namespace App\Controller\Snippet;

/**
 * J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
 * Ce code doit ĂȘtre apellĂ© d'un contrĂŽleur Symfony Ă©tendant AbstractController (depuis Symfony 4.2)
 * ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
 * Les services sont injectés dans le constructeur du contrÎleur principal.
 */
trait Snippet299Trait
{
    public function snippet299(): void
    {
        $ai = new \ArrayIterator([
            'foo' => 'bar',
            'dd' => 'DD',
        ]);
        var_dump($ai->getArrayCopy());

        $ai->ksort();
        var_dump($ai->getArrayCopy(), $ai->count(), is_iterable($ai), is_a($ai, \Traversable::class)); // @phpstan-ignore-line

        // That's it! 😁
    }
}

 ExĂ©cuter le snippet  Plus sur Stackoverflow   Lire la doc  Snippet alĂ©atoire

  Travaillez avec moi !