現在の位置: ホーム> 最新記事一覧> ord()とarray_map()と組み合わせて、文字列の各文字のASCII値をバッチにする方法?

ord()とarray_map()と組み合わせて、文字列の各文字のASCII値をバッチにする方法?

gitbox 2025-08-25

PHPでは、 ord()関数は文字のASCII値を返すことができ、 array_map()関数を使用して、arrayの各要素にコールバック関数を適用できます。これらの2つの関数は、文字列内の各文字を処理してASCII値を取得する必要がある場合に組み合わせて使用​​できます。この記事では、この機能を実装する方法を詳細に説明します。

1。ord()関数の概要

ord()は、文字のASCII値を返すPHPの組み込み関数です。例えば:

 <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">// 出力 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">// 出力 97</span></span><span>
</span></span>

この関数は、キャラクターを引数として受け取り、そのキャラクターのASCII値を返します。大文字、数字、小文字などの一般的な文字の場合、 ord()は、対応するASCII値を正しく返すことができます。

2。array_map()関数の紹介

array_map()は、phpの配列関数であり、配列内の各要素にコールバック関数を適用し、処理された新しい配列を返すことができます。例えば:

 <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">// 出力 [2, 4, 6]</span></span><span>
</span></span>

上記の例では、 array_map()は、 array $ arrayの各要素にコールバック関数を適用し、各要素に2を掛けます。返された結果は処理された新しい配列です。

3. ord()およびarray_map()と組み合わせた文字のASCII値のバッチ取得

これで、これら2つの関数を結合して、文字列内の各文字のASCII値を取得できます。最初に、文字列を配列に変換し、 array_map()を使用して各文字にord()関数を適用します。

コード実装:

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

</span><span><span class="hljs-comment">// 元の文字列</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">// 文字列を文字配列に変換します</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">// 使用 array_map バルクの獲得 ASCII 価値</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">// 出力结果</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>

説明する:

  1. str_split($ str) :最初に、文字列$ strを文字配列に分割します。たとえば、「He​​llo World」は['h'、 'e'、 'l'、 'l'、 'o'、 ''、w '、' o '、' r '、' l '、' l '、' d 'に分割されます

  2. array_map( 'ord'、$ chararray) :次に、 array_map()は各文字にord()関数を適用し、各文字のASCII値を返します。たとえば、キャラクター「H」は72に変換され、文字「E」は101に変換されます。

  3. print_r($ asciivalues) :最後に、ASCII値アレイを印刷すると、結果は文字列内の各文字のASCII値を表す整数の配列になります。

結果出力:

 <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>

結果からわかるように、各文字のASCII値が正常に抽出されました。

4。概要

ord()array_map()機能を組み合わせて使用​​すると、文字列内の各文字のASCII値を簡単にバッチにすることができます。文字列をstr_split()を介して文字列に分割し、 array_map()を介して文字でord()関数を適用すると、完全なASCII値アレイを取得できます。この方法は簡潔であるだけでなく、効率的であり、文字をバッチで処理する必要があるシナリオでの使用に適しています。