현재 위치: > 최신 기사 목록> strval 및 array_map 함수를 사용하여 모든 요소 유형을 배열에서 빠르게 변환하는 방법은 무엇입니까?

strval 및 array_map 함수를 사용하여 모든 요소 유형을 배열에서 빠르게 변환하는 방법은 무엇입니까?

gitbox 2025-07-28

1. strval 기능 소개

Strval 함수는 PHP의 내장 함수로 임의 유형의 값을 문자열 유형으로 변환합니다. 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">strval</span></span><span>(</span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$var</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>

$ var가 모든 유형의 데이터가 될 수 있고 Strval 함수는 해당 값의 문자열 표현을 반환합니다. 값 자체가 이미 문자열 인 경우 Strval은 값을 직접 반환합니다.

예를 들어:

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-number">123</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-number">3.14</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strval</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>); </span><span><span class="hljs-comment">// 산출 "123"</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strval</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>); </span><span><span class="hljs-comment">// 산출 "3.14"</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strval</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>); </span><span><span class="hljs-comment">// 산출 "1"</span></span><span>
</span></span>

2. array_map 함수 소개

Array_Map 함수는 콜백 함수를 배열의 각 요소에 적용하고 새 배열을 반환하는 데 사용됩니다. 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-keyword">callable</span></span><span> </span><span><span class="hljs-variable">$callback</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><span class="hljs-variable">$arrays</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>

$ 콜백 은 콜백 함수이며 $ 배열은 작동 할 배열입니다. 다중 배열이 AS 매개 변수로 전달되면 $ 콜백 함수는 이러한 배열의 요소에 따라 순서대로 작동합니다.

Simple example:

 <span><span><span class="hljs-variable">$nums</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-number">4</span></span><span>];
</span><span><span class="hljs-variable">$squared</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(fn(</span><span><span class="hljs-variable">$num</span></span><span>) =&gt; </span><span><span class="hljs-variable">$num</span></span><span> * </span><span><span class="hljs-variable">$num</span></span><span>, </span><span><span class="hljs-variable">$nums</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$squared</span></span><span>);  </span><span><span class="hljs-comment">// 산출 [1, 4, 9, 16]</span></span><span>
</span></span>

3. strvalarray_map을 사용하여 배열 요소 유형을 변환합니다.

여러 데이터 유형 (정수, 부동 소수점 번호, 부울 값 등)이 포함 된 배열이 있다고 가정하고 모든 요소를 균일 한 방식으로 문자열로 변환해야합니다. array_map 함수와 strval 함수를 사용하여이를 달성 할 수 있습니다.

다음은 혼합 유형의 배열을 다양한 문자열로 변환하는 방법을 보여주는 예입니다.

 <span><span><span class="hljs-variable">$inputArray</span></span><span> = [</span><span><span class="hljs-number">123</span></span><span>, </span><span><span class="hljs-number">3.14</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-string">"hello"</span></span><span>];

</span><span><span class="hljs-variable">$outputArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-string">'strval'</span></span><span>, </span><span><span class="hljs-variable">$inputArray</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$outputArray</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-number">123</span></span><span>
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-number">3.14</span></span><span>
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; 
    [</span><span><span class="hljs-number">4</span></span><span>] =&gt; 
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; hello
)
</span></span>

위에서 볼 수 있듯이 Array_map은 배열의 각 요소에 strval을 적용하고 결국 모든 요소가 문자열로 변환 된 새 배열을 반환합니다.

4. array_mapstrval 사용을 최적화하십시오

경우에 따라, 우리는 또는 false 값을 필터링하는 것과 같이 배열의 요소를 더 많이 전처리 할 수 있습니다. 이 경우 먼저 Array_Filter 함수로 배열을 필터링 한 다음 array_mapstrval 로 유형을 변환 할 수 있습니다.

예를 들어, 먼저 nullfalse 인 모든 값을 필터링 한 다음 문자열로 변환 할 수 있습니다.

 <span><span><span class="hljs-variable">$inputArray</span></span><span> = [</span><span><span class="hljs-number">123</span></span><span>, </span><span><span class="hljs-number">3.14</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-string">"hello"</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-string">"world"</span></span><span>];

</span><span><span class="hljs-variable">$filteredArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$inputArray</span></span><span>, fn(</span><span><span class="hljs-variable">$value</span></span><span>) =&gt; </span><span><span class="hljs-variable">$value</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> &amp;&amp; </span><span><span class="hljs-variable">$value</span></span><span> !== </span><span><span class="hljs-literal">null</span></span><span>);
</span><span><span class="hljs-variable">$outputArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-string">'strval'</span></span><span>, </span><span><span class="hljs-variable">$filteredArray</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$outputArray</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-number">123</span></span><span>
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-number">3.14</span></span><span>
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; hello
    [</span><span><span class="hljs-number">7</span></span><span>] =&gt; world
)
</span></span>

이런 식으로, 우리는 배열 변환 결과를보다 유연하게 제어 할 수 있습니다.

5. 요약

strvalarray_map 함수를 결합하여 배열의 모든 요소를 문자열로 효율적으로 변환 할 수 있습니다. 배열에 포함 된 데이터 유형에 관계없이 Strval은 각 요소가 문자열로 반환되도록합니다. Array_Map을 사용하면 모든 요소가 일관되게 처리되도록 간결한 코드로 전체 배열을 동시에 작동 할 수 있습니다. 복잡한 배열 전처리의 경우 array_filter 와 같은 함수로 변환 프로세스를 추가로 최적화 할 수도 있습니다.