
No.2ベストアンサー
- 回答日時:
ああ、以下の箇所
// 比率の書き出し
if($jcnt > $ecnt){
echo round($jcnt / $ecnt)." : 1";
} else if($cnt != $ecnt){
echo "1 : ".round($ecnt / $jcnt);
} else{echo "- : -";}
は
// 比率の書き出し
if($jcnt > $ecnt){
echo round($jcnt / $ecnt)." : 1";
} else if($jcnt != 0 && $ecnt != 0){
echo "1 : ".round($ecnt / $jcnt);
} else{echo "- : -";}
の間違いです。
No.1
- 回答日時:
回答がないので...。
比率は四捨五入しています。
//1:1ではなくて、100:100とかのほうが正確だと思いますが。
ちゃんとできているかどうかはご自身でお確かめ下さい。
<?php
$word = "これは日本語Englishだ";
$enc = "UTF-8"; // 文字コード指定
$jcnt = 0; // 日本語の文字数を格納
$ecnt = 0; // 日本語以外の文字数を格納
// $wordに文字列があれば実行
if($word != ""){
$len = mb_strlen($word,$enc); // 調査する文字列の文字数
while($len > 0){
$len--;
$thisword = mb_substr($word, $len, 1, $enc); // 1文字抜き出す
// 日本語が含まれている
if(preg_match("/[一-龠ぁ-んァ-ヴーa-zA-Z0-9]/u",$thisword)){
$jcnt++;
}
// 日本語以外
else{
$ecnt++;
}
}
}
echo "日本語(".$jcnt.") : 日本語以外(".$ecnt.")<br>";
// 比率の書き出し
if($jcnt > $ecnt){
echo round($jcnt / $ecnt)." : 1";
} else if($cnt != $ecnt){
echo "1 : ".round($ecnt / $jcnt);
} else{echo "- : -";}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
Dosブロンプトでtabを出力したい
-
phpでcookieがうまく保存されない
-
ウイルスもどき
-
オブジェクトの中身の判定(PHP)
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
ミュージックのアートワークを...
-
Excel VBA:特定の文字列以降(...
-
excel access連携 このテーブル...
-
Yahoo! JAPAN IDを新規取得でき...
-
WordでExcelデータを差込...
-
「取得先」という表現について
-
URLのパラメータをGETのままで...
-
【C#】DataGridViewの最大列数...
-
VB.NETでボリュームを取得・設...
-
ActiveReportのサブレポート機...
-
ローカルのコンピュータ名を取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
findstrのerrorlevel
-
小数点以下0の非表示
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
バッチファイルで、全てのウィ...
-
オブジェクトの中身の判定(PHP)
-
コマンドプロンプト フォルダ内...
-
batファイルでPC名称の変更
-
ゼロとNULLを区別して number_f...
-
環境変数「%USERPROFILE%」の内...
-
Windowsのsetコマンドでの小数...
-
pdftkを使った処理をバッチファ...
-
DBのハッシュ化したパスワード...
-
ウイルスもどき
-
XMLのタグの有無をPHPで判定し...
-
PHP 九九表
おすすめ情報