
PHPを勉強中です。
勉強の為に思いついたものをPHPで書いてみようと思い、ネタが古いですが100までの数字を表示し、見やすいように3桁揃えで10ずつで改行して、3の倍数と3のつく数字を太字で表示するプログラムを書いてみました。なんとなくできたようなかんじなのですが、30だけ太字になりません。原因がわかる方がいらっしゃれば教えていただけたら嬉しいです。よろしくお願いします。
<?php
for($i = 1; $i <= 100; $i++){
if($i % 10 == 0) {
echo sprintf('%03d', $i)." "."<br>";
}
elseif($i % 3 == 0) {
echo('<strong>'.sprintf('%03d', $i)." ".'</strong>');
}elseif(strpos($i,"3") !== false) {
echo('<strong>'.sprintf('%03d', $i)." ".'</strong>');
}else{
echo sprintf('%03d', $i)." ";
}
}
?>
No.2ベストアンサー
- 回答日時:
30を10で割るとあまりが0なので仕様が競合していますね
とりあえずこんな感じでは?
<?php
for($i = 1; $i <= 100; $i++){
$str=sprintf("%03d", $i);
if(($i % 3) == 0 or strpos((string) $i,"3") !== false) {
echo("<strong>".$str."</strong>");
}else{
echo $str;
}
echo " ";
if($i % 10 == 0) echo "<br>\n";
}
?>
意図した通りに表示されました!
スマートな回答ありがとうございました。
自分のと見比べてどこがダメだったのか研究してみたいと想います。
本当にありがとうございました!
No.1
- 回答日時:
>if($i % 10 == 0) {
>echo sprintf('%03d', $i)." "."<br>";
>}
これいらないだろ
削ったあと、elseifはいきなり登場できないのでifに。
http://ideone.com/4L0rJM
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
開始と終了を指定して、その間...
-
DTOとEntityの差は何ですか。
-
WordでExcelデータを差込...
-
VBA内でのGetPixelを使用した時...
-
完全なセッション破棄をしたい
-
PHP4からPHP5へ移行した際、セ...
-
VB.NETからVBAマクロ(引数)を呼...
-
INIファイル
-
PHPでの画像の形式の変換
-
Worksheet_Changeについて
-
ps3で久しぶりにCDの音楽情報取...
-
C言語で地図を描きたい
-
ローカルのコンピュータ名を取...
-
ミュージックのアートワークを...
-
C#で特定LANアダプタの状態を取...
-
PLY yacc での IF 文実装
-
過去にVBAでの「シフト表の何日...
-
classの再定義エラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルで、全てのウィ...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
Windowsのsetコマンドでの小数...
-
ifの条件(不等号)を動的に埋...
-
ゼロとNULLを区別して number_f...
-
PHPで訪問回数を表示するカウン...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
PHPで$_GET[’m’]の意味が分か...
-
WindowsのイベントログをExcel...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
おすすめ情報