PHPで絵文字を10進数のコードに変換する方法


  1. mb_strlen関数を使用して、絵文字の文字列の長さを取得します。
  2. mb_substr関数を使用して、絵文字の各文字を1つずつ取得します。
  3. ord関数を使用して、各文字の10進数のコードポイントを取得します。

以下は、上記の手順を使用して絵文字を10進数のコードに変換するサンプルコードです。

function emojiToDecimal($emoji) {
    $emojiLength = mb_strlen($emoji);
    $decimalCodes = [];
    for ($i = 0; $i < $emojiLength; $i++) {
        $character = mb_substr($emoji, $i, 1);
        $decimalCode = ord($character);
        $decimalCodes[] = $decimalCode;
    }
    return $decimalCodes;
}
$emoji = "????";
$decimalCodes = emojiToDecimal($emoji);
echo "絵文字 {$emoji} の10進数のコードは: ";
foreach ($decimalCodes as $decimalCode) {
    echo "{$decimalCode} ";
}

このコードは、絵文字「????」を10進数のコードに変換し、それを出力します。出力結果は「128522」となります。

注意点として、絵文字は通常、複数のUnicodeコードポイントで構成されている場合があります。上記のコードでは、絵文字の各文字を個別に変換していますが、複合絵文字の場合には個別のコードポイントに分割される可能性があります。そのため、絵文字の完全なコードポイントを取得するには、Unicodeの正規化などの処理が必要になる場合があります。

以上が、PHPで絵文字を10進数のコードに変換する方法です。