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
WBOYoriginal
2024-05-01 10:45:02366parcourir

É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;
}

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;
}

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]

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]

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