Aktueller Standort: Startseite> Neueste Artikel> Wie kann man den ASCII -Wert jedes Zeichens in einer Zeichenfolge in Kombination mit ord () und array_map () in eine Zeichenfolge beziehen?

Wie kann man den ASCII -Wert jedes Zeichens in einer Zeichenfolge in Kombination mit ord () und array_map () in eine Zeichenfolge beziehen?

gitbox 2025-08-25

In PHP kann die Funktion ord () einen ASCII -Wert eines Zeichens zurückgeben, während die Funktion array_map () verwendet werden kann, um eine Rückruffunktion auf jedes Element im Array anzuwenden. Diese beiden Funktionen können in Kombination verwendet werden, wenn wir jedes Zeichen in einer Zeichenfolge stapeln und ihre ASCII -Werte erhalten müssen. In diesem Artikel wird ausführlich erläutert, wie diese Funktion implementiert wird.

1. Einführung in die Funktion ord ()

ord () ist eine integrierte Funktion in PHP, die einen ASCII-Wert eines Zeichens zurückgibt. Zum Beispiel:

 <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-string">'A'</span></span><span>);  </span><span><span class="hljs-comment">// Ausgabe 65</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-string">'a'</span></span><span>);  </span><span><span class="hljs-comment">// Ausgabe 97</span></span><span>
</span></span>

Diese Funktion nimmt ein Zeichen als Argument an und gibt den ASCII -Wert dieses Zeichens zurück. Für gemeinsame Zeichen wie Großbuchstaben, Zahlen und Kleinbuchstaben kann ord () den entsprechenden ASCII -Wert korrekt zurückgeben.

2. Einführung in die Funktion array_map ()

Array_map () ist eine Array -Funktion in PHP, mit der Sie eine Rückruffunktion auf jedes Element im Array anwenden und das verarbeitete Neuarray zurückgeben können. Zum Beispiel:

 <span><span><span class="hljs-variable">$array</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-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(function(</span><span><span class="hljs-variable">$item</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$item</span></span><span> * </span><span><span class="hljs-number">2</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">$result</span></span><span>);  </span><span><span class="hljs-comment">// Ausgabe [2, 4, 6]</span></span><span>
</span></span>

Im obigen Beispiel wendet Array_map () eine Rückruffunktion auf jedes Element im Array $ -Rarray an, das jedes Element mit 2. Ergebnis multipliziert. Das zurückgegebene Ergebnis ist das verarbeitete Neuarray.

3.. Batch -Erwerb von ASCII -Werten von Zeichen in Kombination mit ord () und array_map ()

Jetzt können wir diese beiden Funktionen zum Batch kombinieren, um den ASCII -Wert für jedes Zeichen in einer Zeichenfolge zu erhalten. Zuerst konvertieren wir die Zeichenfolge in ein Array und verwenden dann Array_Map () , um die Funktion ord () auf jedes Zeichen anzuwenden.

Code -Implementierung:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// Originalzeichenfolge</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello World"</span></span><span>;

</span><span><span class="hljs-comment">// Konvertieren Sie Strings in Charakter -Arrays</span></span><span>
</span><span><span class="hljs-variable">$charArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_split</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>);

</span><span><span class="hljs-comment">// verwenden array_map Massenerfassung ASCII Wert</span></span><span>
</span><span><span class="hljs-variable">$asciiValues</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(</span><span><span class="hljs-string">'ord'</span></span><span>, </span><span><span class="hljs-variable">$charArray</span></span><span>);

</span><span><span class="hljs-comment">// Ausgabe结果</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$asciiValues</span></span><span>);

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

erklären:

  1. str_split ($ str) : Teilen Sie zuerst die Zeichenfolge $ str in ein Zeichenarray. Zum Beispiel wird "Hallo Welt" in ['H', 'e', ​​'L', 'L', 'O', '', 'W', 'O', 'R', ',', ',', 'D'] aufgeteilt .

  2. array_map ('ord', $ charArray) : Dann wendet Array_map () die Funktion ord () auf jedes Zeichen an und gibt so den ASCII -Wert für jedes Zeichen zurück. Zum Beispiel wird das Zeichen 'H' in 72 konvertiert, das Zeichen 'E' wird in 101 umgewandelt und so weiter.

  3. PRINT_R ($ ASCIivalues) : Schließlich drucken wir das ASCII -Wert -Array aus, und das Ergebnis ist ein Array von Ganzzahlen, die den ASCII -Wert jedes Zeichens in der Zeichenfolge darstellen.

Ergebnisse Ausgabe:

 <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">72</span></span><span>
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-number">101</span></span><span>
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-number">108</span></span><span>
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; </span><span><span class="hljs-number">108</span></span><span>
    [</span><span><span class="hljs-number">4</span></span><span>] =&gt; </span><span><span class="hljs-number">111</span></span><span>
    [</span><span><span class="hljs-number">5</span></span><span>] =&gt; </span><span><span class="hljs-number">32</span></span><span>
    [</span><span><span class="hljs-number">6</span></span><span>] =&gt; </span><span><span class="hljs-number">87</span></span><span>
    [</span><span><span class="hljs-number">7</span></span><span>] =&gt; </span><span><span class="hljs-number">111</span></span><span>
    [</span><span><span class="hljs-number">8</span></span><span>] =&gt; </span><span><span class="hljs-number">114</span></span><span>
    [</span><span><span class="hljs-number">9</span></span><span>] =&gt; </span><span><span class="hljs-number">108</span></span><span>
    [</span><span><span class="hljs-number">10</span></span><span>] =&gt; </span><span><span class="hljs-number">100</span></span><span>
)
</span></span>

Wie aus den Ergebnissen ersichtlich ist, wurde der ASCII -Wert jedes Zeichens erfolgreich extrahiert.

4. Zusammenfassung

Mit den Funktionen ord () und array_map () in Kombination können wir den ASCII -Wert jedes Zeichens in einer Zeichenfolge leicht batchieren. Teilen Sie die Zeichenfolge in ein Zeichen -Array durch str_split () in ein Zeichen -Array und wenden Sie dann das Funktion ord () durch Zeichen über array_map () an, und Sie können das vollständige ASCII -Wert -Array erhalten. Diese Methode ist nicht nur präzise, ​​sondern auch effizient und eignet sich für die Verwendung in Szenarien, in denen Zeichen in Chargen verarbeitet werden müssen.