setType () ist eine integrierte Funktion in PHP, die den Typ einer Variablen ändert. Es verändert direkt den Typ der Variablen und gibt einen booleschen Wert zurück, um anzuzeigen, ob die Konvertierung erfolgreich ist. Häufige Verwendung sind wie folgt:
<span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$var</span></span><span>, </span><span><span class="hljs-string">"int"</span></span><span>);
</span></span>Im obigen Beispiel konvertiert setType () den Typ der Variablen $ var in eine Ganzzahl.
Array_map () ist eine weitere häufig verwendete PHP -Funktion, die eine Rückruffunktion für jedes Element in einem Array anwendet und das verarbeitete Neuarray zurückgibt. Die grundlegende Verwendung ist wie folgt:
<span><span><span class="hljs-variable">$new_array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-string">'callback_function'</span></span><span>, </span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>Hier ist Callback_Function eine Rückruffunktion, die auf jedes Element des Arrays angewendet wird.
Wenn wir jedes Element in das Array eingeben müssen, können mit setType () und array_map () einen sehr prägnanten und effizienten Effekt erzielen. Die Funktion setType () selbst unterstützt die Verarbeitungsarray -Elemente nicht direkt, aber wir können array_map () verwenden, um die Stapeltypkonvertierung von Array -Elementen zu implementieren.
Angenommen, wir haben eine Reihe von Zahlen von String -Typen und möchten sie in Ganzzahltypen konvertieren. Wir können den folgenden Code verwenden:
<span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-string">"1"</span></span><span>, </span><span><span class="hljs-string">"2"</span></span><span>, </span><span><span class="hljs-string">"3"</span></span><span>, </span><span><span class="hljs-string">"4"</span></span><span>, </span><span><span class="hljs-string">"5"</span></span><span>];
</span><span><span class="hljs-comment">// verwendenarray_map()Kombiniertsettype()Führen Sie die Konvertierung des Stapel -Typs durch</span></span><span>
</span><span><span class="hljs-variable">$convertedArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-string">"int"</span></span><span>);
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>;
}, </span><span><span class="hljs-variable">$array</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$convertedArray</span></span><span>);
</span></span>In diesem Beispiel wird Array_map () über jedes Element im Array iteriert und eine anonyme Funktion angewendet. Innerhalb der anonymen Funktion verwenden wir setType () , um jedes Element in einen Ganzzahltyp umzuwandeln und schließlich den konvertierten Wert zurückzugeben. Auf diese Weise bekommen wir eine Reihe von ganzen Zahlen.
Bei der Verarbeitung von Daten aus externen Datenquellen wie Datenbanken oder APIs können in den Daten verschiedene Arten von Inkonsistenzen vorhanden sein. Zum Beispiel können Zahlen als Zeichenfolgen gespeichert werden, oder einige Felder haben Typen, die nicht mit den Erwartungen übereinstimmen. Verwenden Sie Array_map () kombiniert mit setType (), um Daten schnell zu reinigen und zu konvertieren.
<span><span><span class="hljs-variable">$data</span></span><span> = [</span><span><span class="hljs-string">"12.5"</span></span><span>, </span><span><span class="hljs-string">"true"</span></span><span>, </span><span><span class="hljs-string">"100"</span></span><span>, </span><span><span class="hljs-string">"false"</span></span><span>, </span><span><span class="hljs-string">"50.6"</span></span><span>];
</span><span><span class="hljs-comment">// Konvertieren Sie alle Elemente in schwimmende numerische Typen</span></span><span>
</span><span><span class="hljs-variable">$cleanedData</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-string">"float"</span></span><span>);
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>;
}, </span><span><span class="hljs-variable">$data</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$cleanedData</span></span><span>);
</span></span>Dieser Code -Snippet wandelt jede Zeichenfolge im Array in einen schwimmenden Wert um. Auf diese Weise kann unabhängig vom Eingabedatentyp ein einheitliches Format garantiert und die anschließende Verarbeitung erleichtert werden.
In einer Webanwendung kann die Benutzereingabe verschiedene Arten von Daten enthalten. Beispielsweise ist zu erwarten, dass ein Formularfeld eine Ganzzahl ist, der Benutzer jedoch eine Zeichenfolge einreicht. Zu diesem Zeitpunkt können wir setType () und array_map () verwenden, um die Form des Formulareingangs zu stapeln.
<span><span><span class="hljs-variable">$userInput</span></span><span> = [</span><span><span class="hljs-string">"45"</span></span><span>, </span><span><span class="hljs-string">"67"</span></span><span>, </span><span><span class="hljs-string">"89"</span></span><span>, </span><span><span class="hljs-string">"102"</span></span><span>];
</span><span><span class="hljs-comment">// Konvertieren Sie alle Benutzereingaben in Ganzzahlen</span></span><span>
</span><span><span class="hljs-variable">$processedInput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-string">"int"</span></span><span>);
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>;
}, </span><span><span class="hljs-variable">$userInput</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$processedInput</span></span><span>);
</span></span>In diesem Beispiel wandelt alle Benutzereingabesagen in Ganzzahlen um, wodurch der Fehler des Typs nicht übereinstimmt.
Angenommen, wir haben eine komplexe Reihe von Daten mit mehreren Typen und möchten einige Daten einheitlich formatieren. Array_map () kombiniert mit setType () kann uns helfen, diese Aufgabe effizient zu erledigen. Wenn wir beispielsweise ein Array mit Preisdaten haben und alle Preise als String -Typen gespeichert werden, können wir sie in schwimmende Werttypen umwandeln und an zwei Dezimalstellen runden.
<span><span><span class="hljs-variable">$prices</span></span><span> = [</span><span><span class="hljs-string">"45.678"</span></span><span>, </span><span><span class="hljs-string">"102.897"</span></span><span>, </span><span><span class="hljs-string">"55.4"</span></span><span>, </span><span><span class="hljs-string">"99.99"</span></span><span>];
</span><span><span class="hljs-comment">// Umwandeln Sie Preisdaten in schwebende Werte und formatieren Sie sie in zwei Dezimalstellen</span></span><span>
</span><span><span class="hljs-variable">$formattedPrices</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$price</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">settype</span></span><span>(</span><span><span class="hljs-variable">$price</span></span><span>, </span><span><span class="hljs-string">"float"</span></span><span>);
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">number_format</span></span><span>(</span><span><span class="hljs-variable">$price</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
}, </span><span><span class="hljs-variable">$prices</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$formattedPrices</span></span><span>);
</span></span>Hier konvertiert und formatarray_map () jeden Preis, um sicherzustellen, dass die Ausgabeergebnisse dem erwarteten Format entsprechen.
SetType () und array_map () sind zwei sehr leistungsstarke Funktionen in PHP. Wenn sie in Kombination verwendet werden, können sie Entwicklern helfen, Array -Daten effizient zu verarbeiten und umzuwandeln. Unabhängig davon, ob es sich um Datenreinigung, Stapelverarbeitung von Benutzereingaben oder Formatierungsausgaben handelt, bietet diese Kombination eine prägnante und leicht verständliche Lösung.
Durch flexible Verwendung dieser beiden Funktionen können Entwickler die Lesbarkeit und Effizienz des Codes erheblich verbessern und einige mühsame Konvertierung und Array -Verarbeitung vereinfachen.
Verwandte Tags:
array_map