Maison développement back-end Problème PHP La combinaison de nombres bidimensionnels PHP ne supprime pas les doublons

La combinaison de nombres bidimensionnels PHP ne supprime pas les doublons

May 23, 2023 am 11:40 AM

En PHP, nous devons souvent utiliser des tableaux, et nous devons souvent fusionner des tableaux, par exemple en fusionnant deux tableaux en un seul ou en fusionnant plusieurs tableaux en un seul. Lorsqu'il s'agit de fusionner des tableaux bidimensionnels, nous pouvons rencontrer un problème, c'est-à-dire que le tableau fusionné ne sera pas automatiquement dédupliqué. Cet article présentera le problème et la solution de la combinaison de nombres bidimensionnels PHP sans déduplication.

1. Qu'est-ce qu'un tableau bidimensionnel

En PHP, un tableau est une structure de données très importante, et chaque donnée a une valeur clé et un index correspondant. Un tableau à deux dimensions est un tableau imbriqué dans un autre tableau, c'est-à-dire que chaque élément est un tableau.

2. Tableaux bidimensionnels en PHP

En PHP, il existe deux façons de représenter des tableaux bidimensionnels L'une consiste à utiliser la fonction array() et l'autre consiste à utiliser le sucre de syntaxe []. un exemple pour illustrer:

// 使用array()函数表示二维数组
$students = array(
    array('name' => '张三', 'age' => 18),
    array('name' => '李四', 'age' => 19),
    array('name' => '王五', 'age' => 20)
);

// 使用[]语法糖表示二维数组
$students = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

3. Fusion de tableaux bidimensionnels en PHP

PHP fournit la fonction array_merge() pour fusionner des tableaux. Cette fonction peut fusionner plusieurs tableaux et renvoyer un nouveau tableau.

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '赵六', 'age' => 21],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);

print_r($students);

Les résultats de sortie sont les suivants :

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [3] => Array
        (
            [name] => 赵六
            [age] => 21
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)

Nous pouvons voir que l'utilisation de la fonction array_merge() peut facilement fusionner deux tableaux en un seul tableau. Cependant, lorsqu'il y a des éléments en double dans le tableau fusionné, le tableau fusionné ne sera pas automatiquement dédupliqué, comme indiqué ci-dessous :

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '李四', 'age' => 19],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);

print_r($students);

Le résultat de sortie est le suivant :

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [3] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)

Nous pouvons voir que le tableau fusionné contient deux éléments répétés [ nom => '李思', âge => 19].

4. Solution au problème selon lequel la combinaison de nombres bidimensionnels PHP ne supprime pas les doublons

Afin de résoudre le problème selon lequel la combinaison de nombres bidimensionnels PHP ne supprime pas les doublons, nous pouvons utiliser la fonction array_unique(). Cette fonction peut être utilisée pour supprimer les éléments en double d'un tableau et renvoyer un nouveau tableau non en double.

L'exemple de code est le suivant :

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '李四', 'age' => 19],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);
$students = array_unique($students, SORT_REGULAR);

print_r($students);

Le résultat de sortie est le suivant :

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)

Nous pouvons voir que l'utilisation de la fonction array_unique() peut facilement fusionner les tableaux fusionnés, et enfin obtenir un tableau sans éléments en double.

5. Résumé

Cet article présente le problème et la solution de la combinaison de nombres bidimensionnels PHP sans déduplication, nous pouvons savoir que bien que la fonction array_merge() puisse être utilisée pour fusionner facilement des tableaux, lorsqu'elle est utilisée. Lors de la fusion de tableaux bidimensionnels, la duplication ne sera pas automatiquement supprimée. Vous devez utiliser la fonction array_unique() pour supprimer la duplication afin d'obtenir un nouveau tableau non dupliqué.

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)