現在の位置: ホーム> 最新記事一覧> array_fill()を使用して2次元チェスボードとマップ構造を構築する方法

array_fill()を使用して2次元チェスボードとマップ構造を構築する方法

M66 2025-06-05

ゲームの開発、マップの描画、テーブルの設計、または座標データの管理の場合、多くの場合、2次元配列(Matrix)構造を構築する必要があります。 PHPは非常に便利な機能-ARRAY_FILL()を提供します。これは、1次元の配列をすばやく埋めるだけでなく、初期化された2次元ボードまたはマップ構造を簡単に構築するのにも役立ちます。

この記事では、 array_fill()の基本的な使用法を導入し、8x8チェスボードなどの通常の2次元グリッド構造を構築するために使用する方法を示します。

1。array_fill()関数の紹介

array_fill()はPHPの組み込み関数の1つであり、その構文は次のとおりです。

 array_fill(int $start_index, int $count, mixed $value): array
  • $ start_index :indexを開始します。

  • $ count :埋める要素の数。

  • $値:各要素の値。

例:

 $line = array_fill(0, 5, 0); 
// 結果: [0, 0, 0, 0, 0]

2。2次元チェスボード構造を構築します

8x8ボードやマップなどの2次元配列を構築するには、 array_fill()を使用して各行をループで埋めることができます。

例:空の8x8ボードを作成します

<?php

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

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

// 打印結果查看结构
echo '<pre>';
print_r($board);
echo '</pre>';

出力$ボードは8行と8列の2D配列であり、すべてのグリッドは0に初期化されます。 「空」null 、またはfalseなど、必要に応じて0を他のタグに置き換えることができます。

3。マップ構築の例(カスタム地形)

たとえば、デフォルトの地形を「草」として、10x10マップを構築する必要があります。

 <?php

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

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

// 一部の座標が設定されると仮定します "water"
$map[2][3] = 'water';
$map[4][7] = 'water';
$map[5][5] = 'mountain';

// マップ配列を表示します
echo '<pre>';
print_r($map);
echo '</pre>';

この方法は、初期の地形でマップを構築するために使用できます。これは、その後のマップインターフェイスの変更またはレンダリングに便利です。

4。高度な:URLデータの組み合わせ(マップサービスなど)

たとえば、各グリッドに対応するデータインターフェイスアドレスを提供する場合は、クリックしてグリッドの詳細ページにジャンプします。これを行うことができます。

 <?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>';

このようにして、各グリッドは、 https://m66.net/grid.php?x= 2&y = 3などの特定のURLに対応します。

5。概要

この記事を通して、あなたは学ぶことができます:

  • array_fill()を使用して、1次元配列をすばやく初期化します。

  • array_fill()でループすることにより、通常の2次元配列構造を構築する方法。

  • 座標に基づいて、より多くの構造化または動的コンテンツ(マップ、リンクなど)を埋める方法。

この方法はシンプルで効率的であり、マップ、チェスボード、テーブルなどの2次元構造を構築する理想的な方法です。

ディスプレイをさらに美化したり、スタイルを追加したり、実際のプロジェクトでJavaScriptと動的に対話したりする場合は、生成されたデータをフロントエンドに渡して、より高度な効果を実現することができます。