현재 위치: > 최신 기사 목록> array_push와 함께 PHP 연관 배열을 추가 할 수 있습니까? 운영 방법을 가르치는 올바른 방법

array_push와 함께 PHP 연관 배열을 추가 할 수 있습니까? 운영 방법을 가르치는 올바른 방법

gitbox 2025-08-30

array_push () 의 역할

Array_Push ()는 배열 끝에 하나 이상의 요소를 추가하는 데 특별히 사용되는 기능입니다. 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">array_push</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> &amp;</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> ...</span><span><span class="hljs-variable">$values</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
  • $ 배열 : 이것은 참조로 전달되는 대상 배열입니다.

  • $ 값 : 배열 끝에 추가 할 요소는 하나 이상일 수 있습니다.

일반 인덱스 어레이 (즉, 배열의 키는 숫자)의 경우 array_push ()가 배열 끝에 새 요소를 추가하고 배열의 인덱스가 자동으로 증가합니다.

 <span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">array_push</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);  </span><span><span class="hljs-comment">// 할 것이다 4 그리고 5 배열 끝에 추가하십시오</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span></span>

산출:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
    [</span><span><span class="hljs-meta">4</span></span><span>] =&gt; </span><span><span class="hljs-number">5</span></span><span>
)
</span></span>

그러나 Array_Push ()는 연관 배열과 다소 다르게 행동합니다. 이유를 봅시다.


Array_Push ()가 연관 배열에 사용할 수 있습니까?

연관 배열의 경우 array_push ()는 권장되는 방법이 아닙니다. 그 이유는 Array_Push ()가 배열의 구조에 따라 배열 끝에 요소를 추가하고 연관 배열의 키는 개발자에 의해 정의되며 반드시 숫자의 점진적인 시퀀스가 ​​아닙니다. 따라서 Array_Push ()을 사용하여 연관 배열에 요소를 추가하려고하면 새로운 요소가 배열 끝에 추가되며 자신을 정의하는 연관 키 대신 키로 증분 정수 색인을 자동으로 사용합니다.

 <span><span><span class="hljs-variable">$assocArray</span></span><span> = [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'John'</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">25</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">array_push</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>, </span><span><span class="hljs-string">'developer'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>);
</span></span>

산출:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">25</span></span><span>
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; developer
)
</span></span>

보시다시피, Array_Push ()는 배열 끝에 값 '개발자'를 추가하지만 숫자 색인 [0]을 자동으로 사용하는데, 이는 우리가 기대하는 동작이 아닙니다.


연관 어레이에 요소를 올바르게 추가하는 방법

연관 배열에 요소를 올바르게 추가하려면 Array_Push () 대신 배열 키를 직접 사용하여 값을 할당해야합니다. 예를 들어, 새로운 키 값 쌍을 추가하려면 다음과 같이 할 수 있습니다.

 <span><span><span class="hljs-variable">$assocArray</span></span><span> = [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'John'</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">25</span></span><span>];
</span><span><span class="hljs-variable">$assocArray</span></span><span>[</span><span><span class="hljs-string">'job'</span></span><span>] = </span><span><span class="hljs-string">'developer'</span></span><span>;  </span><span><span class="hljs-comment">// 협회 키를 사용하십시오 "job" 요소를 추가하십시오</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>);
</span></span>

산출:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">25</span></span><span>
    [</span><span><span class="hljs-meta">job</span></span><span>] =&gt; developer
)
</span></span>

위에서 볼 수 있듯이, 우리는 어레이의 구조를 정확하게 제어 할 수 있도록 연관 키 작업을 직접 지정하여 연관 배열에 요소를 추가합니다.

키 값 쌍을 동적으로 추가 해야하는 경우 먼저 새 키를 정의한 다음 해당 값을 할당 할 수 있습니다. 예를 들어:

 <span><span><span class="hljs-variable">$key</span></span><span> = </span><span><span class="hljs-string">'city'</span></span><span>;
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-string">'New York'</span></span><span>;
</span><span><span class="hljs-variable">$assocArray</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] = </span><span><span class="hljs-variable">$value</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">$assocArray</span></span><span>);
</span></span>

산출:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">25</span></span><span>
    [</span><span><span class="hljs-meta">job</span></span><span>] =&gt; developer
    [</span><span><span class="hljs-meta">city</span></span><span>] =&gt; New York
)
</span></span>