현재 위치: > 최신 기사 목록> array_fill_keys를 사용하여 초기 상태로 게임 상태를 만드는 방법은 무엇입니까?

array_fill_keys를 사용하여 초기 상태로 게임 상태를 만드는 방법은 무엇입니까?

gitbox 2025-09-02

array_fill_keys를 사용하여 초기 상태로 게임 상태를 만드는 방법은 무엇입니까?

게임 상태 유지 및 업데이트는 게임 개발에서 중요한 작업입니다. 게임의 상태 정보에는 캐릭터의 건강, 점수, 레벨 진행 등과 같은 여러 가지 매개 변수가 포함됩니다. 이러한 상태 정보는 일반적으로 초기 값이 필요하며 Array_fill_Keys 함수는 어레이를 초기화 할 때 키와 해당 기본값을 제공하는 데 도움이되는 PHP에서 매우 유용한 도구입니다.

이 기사에서는 Array_Fill_Keys를 사용하여 초기 상태가있는 게임 상태를 만들고 실제 코드 예제를 표시하는 방법을 살펴 봅니다.

1. array_fill_keys 함수 소개

array_fill_keys 는 PHP의 기능으로 연관 배열을 생성합니다. 두 가지 매개 변수를 수용합니다.

  • : 배열 키가 포함 된 배열.

  • : 각 키의 초기 값.

함수는 각 키가 들어오는 어레이에 의해 제공되는 새 배열을 반환하고 모든 키는 동일한 초기 값을 할당합니다.

2. 게임 상태 배열의 응용 시나리오

건강, 경험, 금화 등과 같이 각 플레이어가 초기화 해야하는 여러 상태 정보가있는 간단한 롤 플레잉 게임을 개발한다고 가정 해 봅시다. 게임 시작시 각 플레이어의 속성에 초기 값을 할당 할 수 있기를 희망합니다.

예를 들어 플레이어의 다음 상태 정보를 정의 할 수 있습니다.

  • 건강 (건강)

  • 경험 (경험 가치)

  • (금화)

  • 레벨 (레벨)

이 정보의 초기 값은 다음과 같습니다.

  • 건강 : 100

  • 경험 : 0

  • 금화 : 50

  • 레벨 레벨 : 1

Array_Fill_Keys를 사용 하여이 초기화 프로세스를 단순화 할 수 있습니다.

3. array_fill_keys를 사용하여 게임 상태 배열을 초기화합니다

다음은 Array_Fill_Keys를 사용하여 초기 상태 게임 상태 배열을 작성하기위한 PHP 코드 예제입니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 게임 상태를 정의하는 키</span></span><span>
</span><span><span class="hljs-variable">$gameKeys</span></span><span> = [</span><span><span class="hljs-string">'health'</span></span><span>, </span><span><span class="hljs-string">'experience'</span></span><span>, </span><span><span class="hljs-string">'gold'</span></span><span>, </span><span><span class="hljs-string">'level'</span></span><span>];

</span><span><span class="hljs-comment">// 각 키의 초기 값을 정의하십시오</span></span><span>
</span><span><span class="hljs-variable">$initialValue</span></span><span> = [
    </span><span><span class="hljs-string">'health'</span></span><span> =&gt; </span><span><span class="hljs-number">100</span></span><span>,
    </span><span><span class="hljs-string">'experience'</span></span><span> =&gt; </span><span><span class="hljs-number">0</span></span><span>,
    </span><span><span class="hljs-string">'gold'</span></span><span> =&gt; </span><span><span class="hljs-number">50</span></span><span>,
    </span><span><span class="hljs-string">'level'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>
];

</span><span><span class="hljs-comment">// 사용 array_fill_keys 게임 상태를 초기화하십시오</span></span><span>
</span><span><span class="hljs-variable">$gameState</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$gameKeys</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>);

</span><span><span class="hljs-comment">// 각 키를 해당 초기 값에 할당하십시오</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$gameState</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> =&gt; </span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$initialValue</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>])) {
        </span><span><span class="hljs-variable">$gameState</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] = </span><span><span class="hljs-variable">$initialValue</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>];
    }
}

</span><span><span class="hljs-comment">// 출력 게임 상태 배열</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$gameState</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력 결과 :

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [health] =&gt; </span><span><span class="hljs-number">100</span></span><span>
    [experience] =&gt; </span><span><span class="hljs-number">0</span></span><span>
    [gold] =&gt; </span><span><span class="hljs-number">50</span></span><span>
    [level] =&gt; </span><span><span class="hljs-number">1</span></span><span>
)
</span></span>

4. array_fill_keys가 작동하는 방법

  • 1 단계 : 먼저 게임 상태 속성 이름이 포함 된 배열 $ 게임 키를 정의하며, 이는 연관 배열의 키 역할을합니다.

  • 2 단계 : 각 상태 속성의 초기 값을 포함하는 연관 배열 $ 초기 값을 정의합니다.

  • 3 단계 : Array_Fill_Keys 함수를 통해 모든 값 으로 Array $ Gamestate를 초기화하고 키는 $ GameKeys 배열에서 나옵니다.

  • 4 단계 : Foreach Loop을 사용하여 $ Gamestate Array를 반복하고 각 키의 값을 $ InitialValue 의 해당 초기 값으로 바꿉니다.

5. 최적화 : 직접 초기화

루프 사용을 피하려면 각 키의 초기 값을 Array_Fill_Keys 에서 직접 설정할 수도 있습니다. 다음은 숫자 ( + 연산자)의 조합을 사용하여 값을 직접 초기화하는 또 다른 방법입니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$gameKeys</span></span><span> = [</span><span><span class="hljs-string">'health'</span></span><span>, </span><span><span class="hljs-string">'experience'</span></span><span>, </span><span><span class="hljs-string">'gold'</span></span><span>, </span><span><span class="hljs-string">'level'</span></span><span>];
</span><span><span class="hljs-variable">$initialValue</span></span><span> = [
    </span><span><span class="hljs-string">'health'</span></span><span> =&gt; </span><span><span class="hljs-number">100</span></span><span>,
    </span><span><span class="hljs-string">'experience'</span></span><span> =&gt; </span><span><span class="hljs-number">0</span></span><span>,
    </span><span><span class="hljs-string">'gold'</span></span><span> =&gt; </span><span><span class="hljs-number">50</span></span><span>,
    </span><span><span class="hljs-string">'level'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>
];

</span><span><span class="hljs-comment">// 사용 array_fill_keys 기본 배열을 만듭니다,초기 값과 병합됩니다</span></span><span>
</span><span><span class="hljs-variable">$gameState</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$gameKeys</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>) + </span><span><span class="hljs-variable">$initialValue</span></span><span>;

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$gameState</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이런 식으로 코드를 결합하고 조작하여 명시 적 루프를 피함으로써 코드를 단순화합니다.

출력 결과 :

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [health] =&gt; </span><span><span class="hljs-number">100</span></span><span>
    [experience] =&gt; </span><span><span class="hljs-number">0</span></span><span>
    [gold] =&gt; </span><span><span class="hljs-number">50</span></span><span>
    [level] =&gt; </span><span><span class="hljs-number">1</span></span><span>
)
</span></span>

6. 결론

Array_Fill_Keys 함수는 PHP에서 매우 유용한 도구로 초기 값과 관련된 연관 배열을 신속하게 생성 할 수 있습니다. 이 기능을 통해 게임 상태 또는 기타 시나리오에 대한 기본값이있는 배열을 쉽게 초기화하고 실제 요구에 따라 이러한 값을 추가로 수정할 수 있습니다. 기본값으로 모든 키를 초기화하거나 병합 작업을 사용하여 초기 상태를 추가로 개선하는지 여부에 관계없이 Array_Fill_Keys는 효율적인 선택입니다.