Maison >développement back-end >tutoriel php >Comment insérer des éléments dans des tableaux PHP à des positions spécifiques ?

Comment insérer des éléments dans des tableaux PHP à des positions spécifiques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 10:43:14862parcourir

How to Insert Elements into PHP Arrays at Specific Positions?

Insérer des éléments dans des tableaux à des positions spécifiques

L'insertion d'éléments dans des tableaux à des positions spécifiques est une tâche courante qui peut être accomplie grâce à une combinaison de opérateurs de découpage et d'union.

Supposons que nous ayons deux arrays :

$array_1 = [
  '0' => 'zero',
  '1' => 'one',
  '2' => 'two',
  '3' => 'three',
];

$array_2 = [
  'zero' => '0',
  'one' => '1',
  'two' => '2',
  'three' => '3',
];

Notre objectif est d'insérer le tableau ['sample_key' => 'sample_value'] après le troisième élément des deux tableaux.

Solution :

La fonction array_slice() nous permet d'extraire des parties d'un tableau. Nous pouvons combiner cela avec l'opérateur de tableau d'union ( ) pour recombiner les parties dans l'ordre souhaité. Le code suivant atteint notre objectif :

$res = array_slice($array, 0, 3, true) +
    ["sample_key" => "sample_value"] +
    array_slice($array, 3, count($array) - 1, true);

Dans cet exemple :

  • array_slice($array, 0, 3, true) extrait les trois premiers éléments de $array. Le vrai argument garantit que les clés sont préservées.
  • ["sample_key" => "sample_value"] est l'élément que nous voulons insérer.
  • array_slice($array, 3, count($array) - 1, true) extrait les éléments restants de $array à partir du quatrième élément.

Lors de la combinaison de ces parties à l'aide de l'opérateur union, le tableau résultant a le résultat souhaité commande :

print_r($res);

Sortie :

Array
(
    [zero] => 0
    [one] => 1
    [two] => 2
    [sample_key] => sample_value
    [three] => 3
)

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