Utiliser des indices négatifs avec les tableaux PHP
Publié le 24/02/2024 • Actualisé le 24/02/2024
Dans ce bout de code, nous voyons comment utiliser des indices négatifs avec les tableaux PHP. C'est un des changements majeurs introduits par PHP 8. Si un tableau a un index entier négatif, quand on ajoute un élément avec []
, les nouveaux indices prennent les valeurs négatives disponibles au lieu de commencer à 0. C'est quelque chose à savoir, ça peut casser des applications. Dans l'exemple suivant, avec PHP 7.4 et avant, la valeur "moins 1" aurait eu pour indice 0
au lieu de -1
.
<?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 Snippet292Trait
{
public function snippet292(): void
{
$arr = [];
$arr[-4] = 'moins 4';
$arr[-3] = 'moins 3';
var_dump($arr);
$arr[] = 'moins 2';
var_dump($arr);
echo PHP_EOL;
$arr2 = [-4 => 'moins 4', 'moins 3'];
var_dump($arr2);
$arr2[] = 'moins 2';
var_dump($arr2);
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Plus sur le web Snippet aléatoire