La fonction Strval est une fonction intégrée en PHP qui convertit les types arbitraires de valeurs en types de chaînes. La syntaxe est la suivante:
<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>
Où $ var peut être n'importe quel type de données, et la fonction Strval renverra une représentation de chaîne de cette valeur. Si la valeur elle-même est déjà une chaîne, Strval renvoie directement la valeur.
Par exemple:
<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">// Sortir "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">// Sortir "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">// Sortir "1"</span></span><span>
</span></span>
La fonction Array_Map est utilisée pour appliquer la fonction de rappel à chaque élément du tableau et renvoyer un nouveau tableau. La syntaxe est la suivante:
<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>
Le rappel $ est la fonction de rappel, et $ array est le tableau à utiliser. Si plusieurs tableaux sont passés en tant que paramètres, la fonction de rappel $ fonctionne en séquence en fonction des éléments de ces tableaux.
Exemple simple:
<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">// Sortir [1, 4, 9, 16]</span></span><span>
</span></span>
Supposons que nous ayons un tableau contenant plusieurs types de données (tels que les entiers, les nombres de points flottants, les valeurs booléennes, etc.), et nous devons convertir tous les éléments en chaînes de manière uniforme. Nous pouvons utiliser la fonction Array_Map et la fonction Strval pour y parvenir.
Voici un exemple montrant comment convertir un tableau de types mixtes en un tableau de chaînes:
<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>
Sortir:
<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>
Comme indiqué ci-dessus, Array_Map applique Strval à chaque élément du tableau, renvoyant finalement un nouveau tableau où tous les éléments ont été convertis en chaînes.
Dans certains cas, nous pouvons vouloir prétraiter davantage les éléments du tableau, tels que le filtrage des valeurs nulles ou fausses . Dans ce cas, vous pouvez d'abord filtrer le tableau avec la fonction Array_Filter , puis convertir le type avec array_map et strval .
Par exemple, nous pouvons filtrer toutes les valeurs nuls et fausses d'abord, puis les convertir en une chaîne:
<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>
Sortir:
<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>
De cette façon, nous pouvons contrôler les résultats de la conversion du tableau de manière plus flexible.
En combinant les fonctions Strval et Array_Map , nous sommes en mesure de convertir efficacement tous les éléments dans un tableau en chaînes. Quel que soit le type de données que contient le tableau, Strval garantit que chaque élément est renvoyé sous forme de chaîne. Avec Array_Map , nous pouvons utiliser l'ensemble du tableau en même temps avec du code concis pour nous assurer que tous les éléments sont traités de manière cohérente. Pour le prétraitement complexe du tableau, nous pouvons également optimiser davantage le processus de conversion avec des fonctions telles que Array_Filter .
Étiquettes associées:
array_map