Transformer un tableau en objet traversable avec PHP
Publié le 21/04/2024 • Actualisé le 21/04/2024
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