게임, 도면 맵, 테이블 디자인 또는 좌표 데이터 관리 할 때는 종종 2 차원 배열 (매트릭스) 구조를 구축해야합니다. PHP는 매우 편리한 기능 인 Array_fill () 을 제공합니다. Array_fill ()은 1 차원 배열을 빠르게 채울뿐만 아니라 초기화 된 2 차원 보드 또는지도 구조를 쉽게 구축하는 데 도움이됩니다.
이 기사는 Array_fill () 의 기본 사용법을 소개하고 8x8 체스 보드와 같은 일반 2 차원 그리드 구조를 구축하는 데 사용하는 방법을 보여줍니다.
Array_fill () 은 PHP의 내장 함수 중 하나이며 구문은 다음과 같습니다.
array_fill(int $start_index, int $count, mixed $value): array
$ start_index : 시작 색인.
$ count : 채울 요소의 수.
$ 값 : 각 요소의 값.
예:
$line = array_fill(0, 5, 0);
// 결과: [0, 0, 0, 0, 0]
8x8 보드 또는 맵과 같은 2 차원 배열을 구축하려면 Array_fill ()을 사용하여 각 행을 루프로 채울 수 있습니다.
<?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을 교체 할 수 있습니다.
예를 들어, 기본 지형을 "Grass" 로 사용하는 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>';
이 방법은 초기 지형으로 맵을 작성하는 데 사용될 수 있으며, 이는 맵 인터페이스의 후속 수정 또는 렌더링에 편리합니다.
예를 들어 각 그리드에 해당하는 데이터 인터페이스 주소를 제공하려면 그리드 세부 정보 페이지로 이동하려면 클릭하면 다음을 수행 할 수 있습니다.
<?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에 해당하며 클릭 앤 점프 인터페이스를 만드는 데 매우 적합합니다.
이 기사를 통해 다음을 배울 수 있습니다.
Array_Fill ()을 사용하여 1 차원 배열을 빠르게 초기화하는 방법.
array_fill () 로 루핑을 통해 일반 2 차원 배열 구조를 구축하는 방법.
좌표에 따라보다 구조적이거나 동적 컨텐츠 (예 : 맵, 링크 등)를 채우는 방법.
이 방법은 간단하고 효율적이며지도, 체스 보드, 테이블 등과 같은 2 차원 구조를 구축하는 이상적인 방법입니다.
디스플레이를 더 아름답게 만들고, 실제 프로젝트에서 스타일을 추가하거나 JavaScript와 동적으로 상호 작용하려면 생성 된 데이터를 프론트 엔드로 전달하여 렌더링을 통해보다 고급 효과를 달성 할 수 있습니다.