Position actuelle: Accueil> Derniers articles> Comment utiliser Array_Chunk pour chasser au hasard un tableau

Comment utiliser Array_Chunk pour chasser au hasard un tableau

M66 2025-04-26

Dans la programmation PHP, lors du traitement de grandes quantités de données, il est souvent nécessaire de diviser le tableau en plusieurs parties pour faciliter le traitement. PHP fournit une fonction de fonction très pratique_chunk qui peut diviser un tableau en plusieurs morceaux de tableau plus petits. Aujourd'hui, nous discuterons de la façon d'utiliser cette fonction pour mieux traiter les données, en particulier pour diviser au hasard les données en plusieurs pièces pour faciliter le traitement ultérieur.

Quelle est la fonction Array_Chunk ?

Array_Chunk est une fonction de fonctionnement de tableau très simple mais très puissante dans PHP. Sa fonction de base est de diviser un tableau en plusieurs petits tableaux, et le nombre d'éléments dans chaque petit tableau est la taille que vous spécifiez. La fonction est définie comme suit:

 array array_chunk ( array $array , int $size [, bool $preserve_keys = FALSE ] )
  • $ Array : un tableau qui doit être divisé.

  • $ Taille : le nombre maximum d'éléments chaque petit tableau contient.

  • $ Preserve_Keys : s'il faut conserver le nom clé du tableau d'origine, la valeur par défaut est fausse , c'est-à-dire Re-index.

Comment utiliser Array_Chunk pour diviser au hasard un tableau en plusieurs pièces?

Par défaut, Array_Chunk consiste à couper les tableaux en morceaux dans l'ordre. Si vous souhaitez que les éléments du tableau sont distribués au hasard dans différents blocs, vous pouvez d'abord gâcher le tableau, puis utiliser Array_Chunk pour diviser le tableau. Cela garantit que les données de chaque bloc sont aléatoires.

Voici un exemple simple indiquant comment utiliser Array_Chunk et Shuffle pour réaliser cette exigence:

 <?php
// Créer un tableau
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// Perturber le tableau,Assurez-vous que l&#39;ordre des éléments du tableau est aléatoire
shuffle($array);

// Réglez la taille de chaque bloc
$chunk_size = 3;

// Divisez le tableau désordonné en plusieurs pièces
$chunks = array_chunk($array, $chunk_size);

// Blocs de tableau de division de sortie
echo '<pre>';
print_r($chunks);
echo '</pre>';
?>

Dans cet exemple, nous utilisons d'abord la fonction Shuffle () pour perturber aléatoirement l'ordre du tableau de tableau $ , puis utilisons Array_Chunk pour le diviser en petits tableaux contenant jusqu'à 3 éléments par bloc. La sortie peut être un morceau aléatoire comme le suivant:

 Array
(
    [0] => Array
        (
            [0] => 7
            [1] => 5
            [2] => 2
        )

    [1] => Array
        (
            [0] => 1
            [1] => 10
            [2] => 8
        )

    [2] => Array
        (
            [0] => 9
            [1] => 6
            [2] => 4
        )

    [3] => Array
        (
            [0] => 3
        )
)

De cette façon, les éléments du tableau sont répartis au hasard dans plusieurs petits tableaux.

Pourquoi voulez-vous couler au hasard le tableau?

  1. Équilibrage de charge : Parfois, nous pouvons avoir besoin d'allouer des données à plusieurs unités de traitement pour garantir que la quantité de données dans chaque unité de traitement est approximativement la même. Si le temps de traitement des éléments de données est relativement moyen, l'allocation aléatoire peut empêcher la surcharge de certaines unités de traitement.

  2. Randomisation des données : Dans l'apprentissage automatique, il est souvent nécessaire de diviser au hasard l'ensemble de données en ensembles de formation et ensembles de tests. Le set aléatoire garantit que les données de l'ensemble de formation et des tests de test ne seront pas biaisées en raison de l'ordre du tableau d'origine, garantissant l'équité de la formation modèle.

  3. Réduire l'empreinte de la mémoire : si un tableau est très grand, le groupe peut réduire la quantité d'utilisation de la mémoire de chaque bloc de données, ce qui est pratique pour le traitement distribué ou le traitement un par un.

résumé

En utilisant les fonctions Array_Chunk et Shuffle , vous pouvez facilement diviser un tableau en plusieurs blocs au hasard. Une telle méthode convient non seulement au traitement des données conventionnelles, mais peut également être largement utilisée dans des scénarios tels que l'équilibrage de charge et la randomisation des données.

Pièces qui ne sont pas liées à l'article:

Dans le développement de PHP, les scénarios d'application des données randomisés sont très larges. En plus d'utiliser Array_Chunk pour diviser les tableaux, Shuffle est également souvent utilisé pour trier les données au hasard. Qu'il s'agisse de traiter les données des utilisateurs ou d'équilibrer, la compréhension et la maîtrise de ces techniques de fonctionnement de base vous aidera à vous développer plus efficacement.

Si vous avez besoin de fonctionnalités plus complexes, telles que des algorithmes d'équilibrage de charge plus précis ou des techniques de segmentation de données plus avancées, essayez d'utiliser vous-même d'autres fonctions intégrées PHP ou d'implémenter vous-même des algorithmes plus efficaces.