현재 위치: > 최신 기사 목록> [array_values ​​함수를 사용하여 PHP 다차원 배열에서 모든 값을 얻는 방법은 무엇입니까? 작동 단계에 대한 자세한 설명

[array_values ​​함수를 사용하여 PHP 다차원 배열에서 모든 값을 얻는 방법은 무엇입니까? 작동 단계에 대한 자세한 설명

gitbox 2025-09-09

1. 기본 array_values ​​() 함수 소개

Array_Values ​​() 는 배열의 모든 값을 반환하는 PHP의 내장 함수이며 반환 된 배열은 키 이름이없는 배열이며 모든 키는 다시 표시됩니다 (0부터 시작).

함수 정의 :

 <span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span>) : </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
  • $ 배열 : 입력 배열, Array_Values ​​()는 이 배열의 모든 값을 반환합니다.

  • 반환 값 : 원래 배열의 모든 값을 포함하는 새 배열과 원래 배열의 키 이름은 연속 숫자 (0부터 시작)로 재설정됩니다.

2. Array_Values ​​() 의 기본 응용 프로그램

먼저, 일반 배열에서 array_values ​​()를 사용하는 방법을 보여주는 간단한 예를 살펴 보겠습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-number">1</span></span><span> =&gt; </span><span><span class="hljs-string">'apple'</span></span><span>,
    </span><span><span class="hljs-number">2</span></span><span> =&gt; </span><span><span class="hljs-string">'banana'</span></span><span>,
    </span><span><span class="hljs-number">3</span></span><span> =&gt; </span><span><span class="hljs-string">'cherry'</span></span><span>
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</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>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; cherry
)
</span></span>

원래 배열의 키 이름 (1, 2, 3)이 0, 1, 2로 재설정되었으며 값은 남아 있음을 알 수 있습니다.

3. 다차원 배열에서 Array_Values ​​()를 사용하십시오

다차원 배열의 경우 array_values ​​()를 사용하여 값을 추출 할 수도 있습니다. 그러나 Array_Values ​​() 는 배열의 가장 바깥 쪽 층에만 작용하며 내부 서브 어레이를 재귀 적으로 가로 지르지 않을 것입니다. 다차원 배열에서 모든 값을 가져와야하는 경우 추가 처리가 필요합니다.

3.1 2 차원 배열에서 값 추출

모든 값을 추출하려는 다중 서브 어레이가있는 2 차원 배열이 있다고 가정합니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">"fruit"</span></span><span> =&gt; [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>],
    </span><span><span class="hljs-string">"vegetable"</span></span><span> =&gt; [</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"tomato"</span></span><span>],
    </span><span><span class="hljs-string">"meat"</span></span><span> =&gt; [</span><span><span class="hljs-string">"chicken"</span></span><span>, </span><span><span class="hljs-string">"beef"</span></span><span>]
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</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>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
            [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
        )
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [</span><span><span class="hljs-number">0</span></span><span>] =&gt; carrot
            [</span><span><span class="hljs-number">1</span></span><span>] =&gt; tomato
        )
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [</span><span><span class="hljs-number">0</span></span><span>] =&gt; chicken
            [</span><span><span class="hljs-number">1</span></span><span>] =&gt; beef
        )
)
</span></span>

보시다시피, Array_Values ​​()는 외부 배열에서만 작동하며 각 서브 어레이의 내용을 변경하지 않습니다.

3.2 모든 값을 재귀 적으로 추출합니다

키 이름을 유지하지 않고 다차원 배열에서 모든 값을 얻으려면 재귀 적으로 처리 할 수 ​​있습니다. Array_Map () 함수를 Array_Values ​​() 와 결합하여 사용하여 달성 할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">get_all_values</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$array</span></span></span><span>) {
    </span><span><span class="hljs-variable">$values</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$values</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> &amp;</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-title function_ invoke__">is_array</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
            </span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_all_values</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-keyword">return</span></span><span> </span><span><span class="hljs-variable">$values</span></span><span>;
}

</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">"fruit"</span></span><span> =&gt; [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>],
    </span><span><span class="hljs-string">"vegetable"</span></span><span> =&gt; [</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"tomato"</span></span><span>],
    </span><span><span class="hljs-string">"meat"</span></span><span> =&gt; [</span><span><span class="hljs-string">"chicken"</span></span><span>, </span><span><span class="hljs-string">"beef"</span></span><span>]
];

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_all_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</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>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; carrot
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; tomato
    [</span><span><span class="hljs-number">4</span></span><span>] =&gt; chicken
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; beef
)
</span></span>

재귀로, 우리는 다차원 배열에서 모든 값을 성공적으로 추출하고 평평한 배열을 반환합니다.

4. Array_Values ​​()array_merge () 의 조합

때로는 다차원 배열의 모든 값을 단일 배열로 병합하려고합니다. 이 경우 Array_Merge () 와 함께 Array_Values ​​()를 사용할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$arr</span></span><span> = [
    </span><span><span class="hljs-string">"fruit"</span></span><span> =&gt; [</span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"banana"</span></span><span>],
    </span><span><span class="hljs-string">"vegetable"</span></span><span> =&gt; [</span><span><span class="hljs-string">"carrot"</span></span><span>, </span><span><span class="hljs-string">"tomato"</span></span><span>],
    </span><span><span class="hljs-string">"meat"</span></span><span> =&gt; [</span><span><span class="hljs-string">"chicken"</span></span><span>, </span><span><span class="hljs-string">"beef"</span></span><span>]
];

</span><span><span class="hljs-variable">$flattened</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_merge</span></span><span>(
    </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'fruit'</span></span><span>]),
    </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'vegetable'</span></span><span>]),
    </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>[</span><span><span class="hljs-string">'meat'</span></span><span>])
);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$flattened</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>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; carrot
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; tomato
    [</span><span><span class="hljs-number">4</span></span><span>] =&gt; chicken
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; beef
)
</span></span>

이러한 방식으로, 여러 하위 수치를 배열로 결합하여 더 쉽게 후속 처리 할 수 ​​있습니다.

5. 요약

Array_Values ​​() 는 특히 다차원 배열을 처리 할 때 매우 유용한 PHP 기능으로 모든 값을 쉽게 추출 할 수 있습니다. 그것이 모든 서브 어레이의 값을 재귀 적으로 추출하는 것은 아니지만 재귀 함수를 작성하거나 다른 PHP 함수와 함께 쉽게이를 달성 할 수 있습니다.

이 기사가 특정 예제를 통해 array_values ​​() 함수를 더 잘 이해하고 사용하는 데 도움이되기를 바랍니다.