Position actuelle: Accueil> Derniers articles> Que se passe-t-il si le nombre de paramètres est incohérent lors de l'utilisation de Array_combine ()? Cela provoquera-t-il une erreur ou une exception?

Que se passe-t-il si le nombre de paramètres est incohérent lors de l'utilisation de Array_combine ()? Cela provoquera-t-il une erreur ou une exception?

M66 2025-06-07

Array_Combine () est une fonction très pratique en PHP pour combiner deux tableaux dans un tableau associatif. Dans cette fonction, le premier tableau est utilisé comme clé du nouveau tableau et le deuxième tableau est la valeur du nouveau tableau. Bien que cette fonction fonctionne bien dans de nombreux cas, que se passe-t-il lorsque les deux tableaux qui y sont passés sont incohérents? Ensuite, discutons en détail.

Utilisation de base de Array_Combine ()

La fonction Array_Combine () accepte deux paramètres:

 array_combine(array $keys, array $values) : array|false
  • $ touches : un tableau utilisé comme nouvelle clé de tableau.

  • $ VALEURS : un tableau utilisé comme nouvelle valeur de tableau.

Si la longueur des tableaux $ touches et $ valeurs est le même, la fonction renvoie un tableau associatif, prenant chaque élément dans $ touches comme clé et chaque élément de $ valent comme valeur correspondante.

Exemple:

 $keys = ['a', 'b', 'c'];
$values = [1, 2, 3];

$result = array_combine($keys, $values);
print_r($result);

Sortir:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

Que se passe-t-il lorsque le nombre de paramètres est incohérent?

Si les longueurs des deux tableaux transmises à array_combine () sont incohérentes, la fonction renvoie false et ne lance pas une exception PHP. Il se comporte relativement simple: tant que les longueurs des deux tableaux ne sont pas égales, il pensera qu'il s'agit d'une erreur et de retour directement faux .

Exemple:

 $keys = ['a', 'b', 'c'];
$values = [1, 2];

$result = array_combine($keys, $values);

if ($result === false) {
    echo "Error: Arrays have different lengths.";
} else {
    print_r($result);
}

Sortir:

 Error: Arrays have different lengths.

Dans cet exemple, le tableau de touches $ a 3 éléments, tandis que le tableau de valeurs $ n'a que 2 éléments, donc array_combine () renvoie false et nous publions le message d'erreur dans le code.

Pourquoi ce comportement se produit-il?

Array_combine () est conçu pour combiner deux tableaux dans un tableau associatif. Afin de garantir l'exactitude des paires de valeurs clés, PHP exige que les longueurs de ces deux tableaux soient cohérentes. Si les longueurs sont incohérentes, il n'y a aucun moyen de correspondre explicitement à chaque clé avec la valeur correspondante, donc la fonction renvoie false pour indiquer que l'opération de fusion ne peut pas être terminée.

Comment éviter cette erreur?

Lorsque vous utilisez Array_Combine () , nous devons nous assurer que les deux tableaux passés ont la même longueur. Si vous n'êtes pas sûr de la longueur du tableau, vous pouvez le vérifier avant d'appeler.

Exemple: vérifiez la longueur du tableau

 $keys = ['a', 'b', 'c'];
$values = [1, 2];

if (count($keys) !== count($values)) {
    echo "Error: Arrays have different lengths.";
} else {
    $result = array_combine($keys, $values);
    print_r($result);
}

Sortir:

 Error: Arrays have different lengths.

Résumer

Array_Combine () est une fonction PHP très pratique, mais lorsque vous l'utilisez, vous devez vous assurer que la longueur des deux tableaux est la même. Si la longueur du paramètre est incohérente, la fonction renvoie False et aucune exception ne sera lancée. Par conséquent, les développeurs doivent faire une vérification de longueur avant d'appeler pour éviter cela.

<br> <br>

Liens connexes: