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>
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>) => </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>
여러 데이터 유형 (정수, 부동 소수점 번호, 부울 값 등)이 포함 된 배열이 있다고 가정하고 모든 요소를 균일 한 방식으로 문자열로 변환해야합니다. 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>] => </span><span><span class="hljs-number">123</span></span><span>
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-number">3.14</span></span><span>
[</span><span><span class="hljs-number">2</span></span><span>] => </span><span><span class="hljs-number">1</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-number">5</span></span><span>] => hello
)
</span></span>
위에서 볼 수 있듯이 Array_map은 배열의 각 요소에 strval을 적용하고 결국 모든 요소가 문자열로 변환 된 새 배열을 반환합니다.
경우에 따라, 우리는 널 또는 false 값을 필터링하는 것과 같이 배열의 요소를 더 많이 전처리 할 수 있습니다. 이 경우 먼저 Array_Filter 함수로 배열을 필터링 한 다음 array_map 및 strval 로 유형을 변환 할 수 있습니다.
예를 들어, 먼저 null 및 false 인 모든 값을 필터링 한 다음 문자열로 변환 할 수 있습니다.
<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>) => </span><span><span class="hljs-variable">$value</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> && </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>] => </span><span><span class="hljs-number">123</span></span><span>
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-number">3.14</span></span><span>
[</span><span><span class="hljs-number">2</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-number">5</span></span><span>] => hello
[</span><span><span class="hljs-number">7</span></span><span>] => world
)
</span></span>
이런 식으로, 우리는 배열 변환 결과를보다 유연하게 제어 할 수 있습니다.
strval 과 array_map 함수를 결합하여 배열의 모든 요소를 문자열로 효율적으로 변환 할 수 있습니다. 배열에 포함 된 데이터 유형에 관계없이 Strval은 각 요소가 문자열로 반환되도록합니다. Array_Map을 사용하면 모든 요소가 일관되게 처리되도록 간결한 코드로 전체 배열을 동시에 작동 할 수 있습니다. 복잡한 배열 전처리의 경우 array_filter 와 같은 함수로 변환 프로세스를 추가로 최적화 할 수도 있습니다.
관련 태그:
array_map