Maison > développement back-end > tutoriel php > Utilisez des fonctions personnalisées PHP pour étendre les fonctionnalités d'intersection et d'union de tableaux

Utilisez des fonctions personnalisées PHP pour étendre les fonctionnalités d'intersection et d'union de tableaux

WBOY
Libérer: 2024-05-01 10:45:02
original
393 Les gens l'ont consulté

Étendez les capacités d'intersection et d'union de tableaux avec des fonctions personnalisées PHP, les fonctions d'intersection personnalisées permettent de rechercher des intersections par clé ou valeur, et les fonctions d'union personnalisées trouvent des unions par clé ou valeur. Cela vous donne la flexibilité de manipuler les tableaux en fonction de vos besoins spécifiques.

Utilisez des fonctions personnalisées PHP pour étendre les fonctionnalités dintersection et dunion de tableaux

Utilisez les fonctions personnalisées PHP pour étendre l'intersection et l'union des tableaux

En PHP, l'intersection et l'union sont deux fonctions de manipulation de données fréquemment utilisées. Cependant, nous devons parfois étendre ses fonctionnalités pour répondre à des besoins spécifiques. Ce didacticiel vous guide dans la création de fonctions personnalisées à l'aide de PHP pour améliorer le traitement des intersections et des unions.

Fonction d'intersection personnalisée

La fonction d'intersection personnalisée vous permet de spécifier la clé ou la valeur de l'intersection que vous recherchez. Voici comment le créer :

function custom_array_intersect(array $array1, array $array2, $key_or_value = 'key')
{
    $result = [];
    foreach ($array1 as $key => $value) {
        if ($key_or_value == 'key') {
            if (array_key_exists($key, $array2)) {
                $result[$key] = $array1[$key];
            }
        } else {
            if (in_array($value, $array2)) {
                $result[$key] = $array1[$key];
            }
        }
    }
    return $result;
}
Copier après la connexion

Fonction d'union personnalisée

De même, vous pouvez créer une fonction d'union personnalisée qui vous permet de spécifier la clé ou la valeur sur laquelle vous souhaitez trouver l'union :

function custom_array_union(array $array1, array $array2, $key_or_value = 'key')
{
    $result = [];
    foreach ($array1 as $key => $value) {
        $result[$key] = $array1[$key];
    }
    foreach ($array2 as $key => $value) {
        if ($key_or_value == 'key') {
            if (!array_key_exists($key, $result)) {
                $result[$key] = $array2[$key];
            }
        } else {
            if (!in_array($value, $result)) {
                $key_to_use = array_search($value, $array1);
                if ($key_to_use !== false) {
                    $result[$key_to_use] = $array2[$key];
                } else {
                    $new_key = max(array_keys($result)) + 1;
                    $result[$new_key] = $array2[$key];
                }
            }
        }
    }
    return $result;
}
Copier après la connexion

Exemple pratique

Voici quelques cas pratiques de deux fonctions personnalisées :

Exemple d'intersection :

$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['b' => 4, 'c' => 5, 'd' => 6];

$result = custom_array_intersect($array1, $array2, 'key');
print_r($result); // 输出: ['b' => 4, 'c' => 5]
Copier après la connexion

Exemple d'union :

$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['b' => 4, 'd' => 5, 'e' => 6];

$result = custom_array_union($array1, $array2, 'key');
print_r($result); // 输出: ['a' => 1, 'b' => 4, 'c' => 3, 'd' => 5, 'e' => 6]
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal