Maison >développement back-end >Problème PHP >Nouvelle syntaxe PHP 7.4 : opérateur de répartition de tableau

Nouvelle syntaxe PHP 7.4 : opérateur de répartition de tableau

步履不停
步履不停original
2019-06-21 15:33:345356parcourir

Nouvelle syntaxe PHP 7.4 : opérateur de répartition de tableau

Le vote RFC pour la prise en charge de Spread Operator dans les expressions de tableau est majoritairement en faveur pour ajouter cette fonctionnalité à PHP 7.4.

La prise en charge des opérateurs d'extension pour la décompression des paramètres existait pour la première fois dans PHP 5.6, et cette RFC étend l'utilisation des tableaux ; les extensions peuvent prendre en charge les tableaux et les objets de Traversable. Voici un exemple de base de la RFC :

$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];

Voici d'autres exemples :

$arr1 = [1, 2, 3];
$arr2 = [...$arr1]; // [1, 2, 3]
$arr3 = [0, ...$arr1]; // [0, 1, 2, 3]
$arr4 = array(...$arr1, ...$arr2, 111); // [1, 2, 3, 1, 2, 3, 111]
$arr5 = [...$arr1, ...$arr1]; // [1, 2, 3, 1, 2, 3]

function getArr() {
  return ['a', 'b'];
}
$arr6 = [...getArr(), 'c']; // ['a', 'b', 'c']

$arr7 = [...new ArrayIterator(['a', 'b', 'c'])]; // ['a', 'b', 'c']

function arrGen() {
    for($i = 11; $i < 15; $i++) {
        yield $i;
    }
}
$arr8 = [...arrGen()]; // [11, 12, 13, 14]

ne prend pas en charge les clés de chaîne ; vous ne pouvez utiliser que des tableaux indexés. L'auteur de la RFC explique la prise en charge des clés comme suit :

Afin de maintenir un comportement cohérent avec le déballage des arguments, les clés de chaîne ne sont pas prises en charge. Une erreur récupérable sera générée après la rencontre d’une clé de chaîne.

Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel PHP pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn