Position actuelle: Accueil> Derniers articles> Comment utiliser array_fill () pour construire un échec bidimensionnel et une structure de carte

Comment utiliser array_fill () pour construire un échec bidimensionnel et une structure de carte

M66 2025-06-05

Lors du développement de jeux, du dessin de cartes, de la conception de tables ou de la gestion des données de coordonnées, nous devons souvent construire une structure de tableau (matrice) bidimensionnelle. PHP offre une fonction très pratique - array_fill () , qui non seulement remplit rapidement un tableau unidimensionnel, mais nous aide également à construire facilement une carte à deux dimensions ou une structure de carte initialisée.

Cet article présentera l'utilisation de base de Array_Fill () et montrera comment l'utiliser pour construire une structure de grille bidimensionnelle régulière, comme une carte d'échecs 8x8.

1. Introduction à la fonction array_fill ()

Array_Fill () est l'une des fonctions intégrées de PHP, et sa syntaxe est la suivante:

 array_fill(int $start_index, int $count, mixed $value): array
  • $ start_index : index de démarrage.

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

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

Exemple:

 $line = array_fill(0, 5, 0); 
// résultat: [0, 0, 0, 0, 0]

2. Construisez une structure d'échecs bidimensionnelle

Pour construire un tableau bidimensionnel, tel qu'une carte ou une carte 8x8, nous pouvons utiliser array_fill () pour remplir chaque ligne en boucle.

Exemple: créer une carte 8x8 vide

 <?php

$rows = 8;
$cols = 8;
$board = [];

for ($i = 0; $i < $rows; $i++) {
    $board[$i] = array_fill(0, $cols, 0);
}

// 打印résultat查看结构
echo '<pre>';
print_r($board);
echo '</pre>';

La carte de sortie $ est un tableau 2D de 8 lignes et 8 colonnes, et toutes les grilles sont initialisées à 0. Vous pouvez remplacer 0 par d'autres balises au besoin, telles que "vide" , null ou false .

3. Exemples de construction de cartes (terrain personnalisé)

Par exemple, nous voulons construire une carte 10x10, avec le terrain par défaut comme "Grass" :

 <?php

$width = 10;
$height = 10;
$map = [];

for ($y = 0; $y < $height; $y++) {
    $map[$y] = array_fill(0, $width, 'grass');
}

// Supposons que certaines coordonnées soient définies "water"
$map[2][3] = 'water';
$map[4][7] = 'water';
$map[5][5] = 'mountain';

// Afficher le tableau des cartes
echo '<pre>';
print_r($map);
echo '</pre>';

Cette méthode peut être utilisée pour construire une carte avec un terrain initial, ce qui est pratique pour la modification ou le rendu ultérieur de l'interface MAP.

4. Avancé: combinaison des données URL (telles que le service MAP)

Si vous souhaitez fournir l'adresse d'interface de données correspondante pour chaque grille, par exemple, cliquez pour sauter sur la page Détails de la grille, vous pouvez le faire:

 <?php

$rows = 5;
$cols = 5;
$grid = [];

for ($i = 0; $i < $rows; $i++) {
    $grid[$i] = [];
    for ($j = 0; $j < $cols; $j++) {
        $grid[$i][$j] = "https://m66.net/grid.php?x={$i}&y={$j}";
    }
}

echo '<pre>';
print_r($grid);
echo '</pre>';

De cette façon, chaque grille correspond à une URL spécifique, telle que https://m66.net/grid.php?x=2&y=3 , qui est très adaptée à la création d'une interface click-and-jump.

5. Résumé

Grâce à cet article, vous pouvez apprendre:

  • Comment utiliser array_fill () pour initialiser rapidement un tableau unidimensionnel.

  • Comment construire une structure de tableau bidimensionnelle régulière par boucle avec array_fill () .

  • Comment remplir un contenu plus structuré ou dynamique (tel que des cartes, des liens, etc.) en fonction des coordonnées.

Cette méthode est simple et efficace, et est un moyen idéal de construire des structures bidimensionnelles telles que des cartes, des échecs, des tables, etc.

Si vous souhaitez embellir davantage l'affichage, ajouter des styles ou interagir dynamiquement avec JavaScript dans les projets réels, vous pouvez transmettre les données générées à l'arrière pour le rendu pour obtenir des effets plus avancés.