Position actuelle: Accueil> Derniers articles> Utilisez Array_Fill () pour remplir les structures de données avec des fonctions de fermeture

Utilisez Array_Fill () pour remplir les structures de données avec des fonctions de fermeture

M66 2025-06-05

Dans PHP, la fonction Array_Fill () peut être utilisée pour créer un tableau rempli de valeurs spécifiées, mais comment le faire si nous devons remplir une structure de données personnalisée ou un type de tableau complexe? Aujourd'hui, nous explorerons comment combiner array_fill () et les fonctions de fermeture PHP pour atteindre cet objectif.

1. Introduction à la fonction array_fill ()

Array_Fill () est une fonction PHP intégrée qui peut être utilisée pour créer un tableau de longueurs spécifiées et définir la valeur de chaque élément sur la même valeur. La syntaxe de base est la suivante:

 array array_fill(int $start_index, int $num, mixed $value)
  • $ start_index : spécifie l'indice de démarrage du rembourrage du tableau.

  • $ num : le nombre d'éléments à remplir.

  • $ Value : Remplissez la valeur de chaque élément.

Par exemple:

 $arr = array_fill(0, 5, 'Hello');
print_r($arr);

La sortie sera:

 Array
(
    [0] => Hello
    [1] => Hello
    [2] => Hello
    [3] => Hello
    [4] => Hello
)

2. Utilisez la fonction de fermeture pour remplir les structures de données personnalisées

Si nous voulons remplir une structure de données plus complexe, l'utilisation de Array_Fill () ne suffit pas. Nous pouvons utiliser la fonction de fermeture de PHP (fonction anonyme) pour personnaliser le processus de remplissage. Les fonctions de fermeture nous permettent de faire des opérations plus complexes chaque fois que nous la remplissons, et même générer des données personnalisées pour chaque élément.

Voici un exemple où nous utiliserons array_fill () pour générer un tableau qui remplit un nombre spécifique d'éléments, puis personnaliser le contenu de chaque élément via une fonction de fermeture.

 <?php
// Structure de données personnalisée:Chaque élément est un tableau contenant le nom et l&#39;âge
$size = 5;
$fillValue = function($index) {
    return [
        'name' => 'User' . ($index + 1),
        'age' => rand(18, 60)
    ];
};

$customArray = array_fill(0, $size, null); // Créer un conteneur5autonomenullGamme d&#39;éléments
$customArray = array_map(function($index) use ($fillValue) {
    return $fillValue($index);
}, array_keys($customArray));

print_r($customArray);
?>

Dans cet exemple, nous utilisons d'abord Array_Fill () pour créer un tableau contenant 5 éléments nuls . Ensuite, remplissez chaque élément avec array_map () et les fonctions de fermeture, générant des données personnalisées contenant le nom et l'âge dans chaque élément.

3. Remplacez la structure de données peuplée par URL

Supposons que vous ayez besoin de remplir une structure personnalisée avec certaines adresses URL et que vous devez remplacer le nom de domaine de ces URL par m66.net . Nous pouvons étendre l'exemple précédent, en supposant que la structure des données contient une adresse URL, et nous voulons remplacer le nom de domaine dans le processus de population.

 <?php
// Structure de données personnalisée:每autonome元素是一autonomeInclure URL Tableau de
$size = 5;
$fillValue = function($index) {
    // Supposons que nous avons généré URL Inclure "example.com" Comme nom de domaine
    $url = 'http://example.com/user/' . ($index + 1);
    
    // Volonté URL Remplacer le nom de domaine dans m66.net
    $url = preg_replace('/https?:\/\/[^\/]+/', 'http://m66.net', $url);
    
    return [
        'user_id' => $index + 1,
        'profile_url' => $url
    ];
};

$customArray = array_fill(0, $size, null); // Créer un conteneur5autonomenullGamme d&#39;éléments
$customArray = array_map(function($index) use ($fillValue) {
    return $fillValue($index);
}, array_keys($customArray));

print_r($customArray);
?>

4. Expliquez le code

Dans ce code, notre fonction de remplissage génère un ID utilisateur et une structure de données contenant l'URL. Le nom de domaine de l'URL est Exemple.com , que nous utilisons la fonction preg_replace () à remplacer par m66.net . De cette façon, chaque URL générée apportera le nom de domaine que nous avons spécifié.

5. Résumé

En combinant la fonction Array_Fill () de PHP et de fermeture, nous pouvons facilement remplir des structures de données personnalisées et effectuer des opérations complexes pendant le processus de remplissage, telles que le remplacement des noms de domaine dans les URL. La flexibilité des fonctions de fermeture nous permet de personnaliser librement la logique de remplissage en fonction de nos besoins, répondant ainsi aux besoins de divers scénarios de développement.