Maison >développement back-end >Problème PHP >Comment convertir un tableau entier en entier en php

Comment convertir un tableau entier en entier en php

PHPz
PHPzoriginal
2023-04-23 16:43:52661parcourir

En PHP, nous avons souvent besoin de convertir les éléments d'un tableau en entiers pour des opérations de calcul ou de comparaison. À ce stade, nous pouvons utiliser la fonction intval() fournie par PHP pour convertir le tableau en entier. Mais si l'ensemble du tableau doit être converti en un type entier, pour certaines données volumineuses, il faudra beaucoup de temps pour parcourir le tableau et effectuer la conversion de type un par un. À ce stade, nous devons trouver une solution plus efficace. solution.

Dans cet article, nous présenterons deux méthodes pour convertir l'intégralité du tableau en type entier :

  1. Utilisation de la fonction array_map()
  2. Utilisation de la fonction array_walk()

1 Utilisation de la fonction array_map()

array_map( ) La fonction consiste à renvoyer les éléments d'un ou plusieurs tableaux vers un nouveau tableau après avoir été traités par la fonction de rappel spécifiée. Si vous utilisez la fonction intval() comme fonction de rappel, vous pouvez convertir chaque élément du tableau en entier. Voici l'exemple de code :

$array = ['123', '456', '789'];
$newArray = array_map('intval', $array);

Dans le code ci-dessus, $array est le tableau à traiter et 'intval' est la fonction de rappel. La fonction array_map() transmet chaque élément du tableau $array à la fonction de rappel intval() et renvoie un nouveau tableau $newArray dans lequel chaque élément est un entier.

Si nous voulons faire plus d'opérations dans la fonction de rappel, nous pouvons utiliser une fonction anonyme comme indiqué ci-dessous :

$array = ['123', '456', '789'];
$newArray = array_map(function ($item) {
    return intval($item) * 2;
}, $array);

Dans le code ci-dessus, nous avons défini une fonction anonyme comme fonction de rappel qui convertira chaque élément Convertir les deux en entiers et multipliez-les par 2. Enfin, un nouveau tableau $newArray est renvoyé, dans lequel les éléments sont tous des entiers traités. La fonction

array_map() est pratique, mais elle crée un nouveau tableau et le renvoie, elle prend donc plus de mémoire. Si vous avez des besoins en espace mémoire plus élevés, vous pouvez essayer d'utiliser la fonction array_walk().

2. Utilisez la fonction array_walk()

La fonction array_walk() consiste à appliquer une fonction de rappel définie par l'utilisateur à chaque élément du tableau. Si vous utilisez la fonction intval() comme fonction de rappel, vous pouvez convertir chaque élément en entier. Voici l'exemple de code :

$array = ['123', '456', '789'];
array_walk($array, function(&$item) {
    $item = intval($item);
});

Dans le code ci-dessus, $array est le tableau à traiter, &$item passe chaque élément comme référence à la fonction de rappel. La fonction de rappel utilise intval() pour convertir chaque élément en entier et les affecte au tableau d'origine $array.

L'avantage d'utiliser la fonction array_walk() est qu'elle modifie directement le tableau d'origine sans renvoyer un nouveau tableau, ce qui permet de réduire l'utilisation de la mémoire. Dans le même temps, puisque le tableau d'origine est modifié directement, il n'est pas nécessaire d'attribuer le tableau traité à un nouveau tableau et de le stocker à nouveau comme en utilisant la fonction array_map().

Résumé

Dans cet article, nous avons présenté deux méthodes pour convertir un tableau entier en un type entier. La fonction array_map() convient au traitement d'un tableau et au renvoi d'un nouveau tableau, tandis que la fonction array_walk() convient aux situations où le tableau d'origine doit être directement modifié. Choisir différentes méthodes en fonction des besoins réels peut rendre le code plus efficace et plus rapide.

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