ホームページ  >  記事  >  バックエンド開発  >  中国語の文字列添字を整数に変換する問題

中国語の文字列添字を整数に変換する問題

WBOY
WBOYオリジナル
2016-06-23 14:16:431012ブラウズ

PHP エンコード UTF-8

PHP ファイルは utf8 でエンコードされていることが知られており、既存のコンテンツは次のとおりです:
$data = "中"
なぜ (int)substr($data, 0, 1) = = 0?
正しい整数に変換するにはどうすればよいですか?

ディスカッションに返信(解決策)

川と湖が助けてくれます、緊急かつ緊急です

この投稿は xuzuning によって最終編集されました: 2013-07-23 18:25:20

$data = "中";
echo ord(substr ($data, 0, 1)); //228

直接数値に変換できるのは文字列の先頭の数字だけです
echo ' //123
echo (int)' 0123ABC'; // 123

substr($data, 0, 1) を数値に変換する方法

lz が何をしたいのか分かりません。
ASCII コードを取得して int に変換しますか?

参照関数は使えない、というのが上記の意味です

intval() or (int) asciiコードなのでord()が必要

intval() or (int) asciiコードなので、 ord() が必要です
文字列内の各文字の ASCII 値を取得するためにループしたいです

まず文字列の 1 文字を取得してから、各文字に対して ord() を呼び出すことができます

フェッチにまだ問題があるような気がします

$data = "中";$t = unpack('C*', $data);print_r($t);
Array
(
[1] => 228
[2] => 184
[3] => 173
)
$data = "ABCD";$t = unpack('C*', $data);print_r($t);
Array
(
[1] => 65
[2] => 66
[3 ] => 67
[4] => 68
)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。