PHPerKaigi 2024

array_uintersect_assoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_assocCalcule l'intersection de deux tableaux avec des tests sur l'index, compare les données en utilisant une fonction de rappel

Description

array_uintersect_assoc(array $array, array ...$arrays, callable $value_compare_func): array

Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données en utilisant une fonction de rappel.

Notez que les clés sont utilisées dans la comparaison par opposition à la fonction array_uintersect(). Les données sont comparées en utilisant une fonction de rappel.

Liste de paramètres

array

Le premier tableau.

arrays

Tableaux à comparer contre

value_compare_func

La fonction de comparaison doit retourner un entier inférieur à, égal à, ou supérieur à 0 si le premier argument est considéré comme, respectivement, inférieur à, égal à, ou supérieur au second.

callback(mixed $a, mixed $b): int
Attention

Retourner des valeurs non-entières à partir de la fonction de comparaison, telles que float, entraînera une conversion interne de la valeur de retour du rappel en int. Ainsi, des valeurs telles que 0.99 et 0.1 seront toutes deux converties en une valeur entière de 0, ce qui comparera de telles valeurs comme égales.

Attention

La fonction de rappel de tri doit traiter n'importe quelle valeur de n'importe quel tableau dans n'importe quel ordre, quel que soit l'ordre dans lequel elles ont été initialement fournies. Cela s'explique par le fait que chaque tableau individuel est d'abord trié avant d'être comparé aux autres tableaux. Par exemple :

<?php
$arrayA
= ["chaîne", 1];
$arrayB = [["value" => 1]];
// $item1 et $item2 peuvent être l'une des valeurs suivantes : "chaîne", 1 ou ["value" => 1]
$compareFunc = static function ($item1, $item2) {
$value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
$value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
return
$value1 <=> $value2;
};
?>

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array qui sont présentes dans tous les autres arguments.

Exemples

Exemple #1 Exemple avec array_uintersect_assoc()

<?php
$array1
= array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>

L'exemple ci-dessus va afficher :

Array
(
    [a] => green
)

Voir aussi

  • array_uintersect() - Calcule l'intersection de deux tableaux, compare les données en utilisant une fonction de rappel
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
  • array_intersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur les index, compare les index en utilisant une fonction de rappel
  • array_uintersect_uassoc() - Calcule l'intersection de deux tableaux avec des tests sur l'index, compare les données et les index des deux tableaux en utilisant une fonction de rappel séparée

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top