Créez un tableau à taille fixe avec PHP
Publié le 11/11/2022 • Actualisé le 11/11/2022
Dans ce bout de code, nous voyons comment créer un tableau à taille fixe avec PHP. On peut utiliser la classe SplFixedArray
. Il peut être intéressant d'utiliser cette structure parfois pour de larges tableaux, car elle est optimisée en mémoire. Notez que l'on pourrait s'attendre à recevoir une exception OutOfBoundsException
si l'on essaie d'accéder à un index invalide, mais on a une exception RuntimeException
à la place.
<?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 Snippet231Trait
{
public function snippet231(): void
{
$splFixedArray = new \SplFixedArray(5);
$splFixedArray[3] = 'foo';
$splFixedArray[4] = 'bar';
var_dump($splFixedArray);
echo 'Size of array: '.$splFixedArray->count().PHP_EOL.PHP_EOL;
// out of range index
try {
$splFixedArray[10] = 'oops!!';
} catch (\RuntimeException $e) {
echo 'Error: '.$e->getMessage().PHP_EOL.PHP_EOL;
}
var_dump($splFixedArray->toArray());
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Snippet aléatoire