• 締切済み

phpの変数に01と格納したい。

PHPの変数に01と代入し、echoで表示させると1になってしまうのですが、01をダブルクオーテーションでくくらないで、01と表示させる方法はありますか?

みんなの回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.5

while((file_exists($fname))){  echo "<img src=\"" . $filepath.$f.$name . "\" width=\"250\" height=\"50\">";  $f=$f+1;  $fname=$filepath.$f.$name; } 上記ですが、  echo "<img src=\"" . $fname . "\" width=\"250\" height=\"50\">"; の間違いですかね。 imgタグの中のsrcが「images/2.gif」のようになり、02.gifが呼ばれず×印になってしまう気がします。 数字($f)はフラグとして捉え、while内でパスを生成すると以下になりますな。 $f = 1; //初期化 while((file_exists($fname))){  echo "<img src=\"" . $fname . "\" width=\"250\" height=\"50\">";  $f=$f+1;  $fname=$filepath.sprintf('%02d',$f).$name; }

  • wp_
  • ベストアンサー率54% (132/242)
回答No.4

3です。 肝心なの書き忘れてた。 echo sprintf("%02d",1);

zap50326
質問者

補足

ありがとうございます。ためしてみます。

  • wp_
  • ベストアンサー率54% (132/242)
回答No.3

この手の質問の定番ですが echo sprintf("%c%c",48,49); や echo chr(48) . chr(49); でもいけますな。 普通はクォート囲みですけどね・・・

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.2

01をファイルに保存しておいて、それを表示するようにすれば ”でくくらなくてもできます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>ダブルクオーテーションでくくらないで、01と表示させる なぜダブルクォーテーションでくくらない必要があるのか書かないと 答えようがないですね。 文字列はクォーテーションでくくるというのはなんのプログラムでも 鉄則だと思いますが・・

zap50326
質問者

補足

画像ファイルがあるかをfile_exists関数で問合せ、ファイルがある間はwhile文でループさせて画像を表示させようとしています。 そのさいに、01.gifというから02.gif 03.gifのように表示させていこうかとおもったのですが、(ファイル数がいくつあるかわからないので)(ただ、いい方法かどうか疑問なところです・・・) ダブルクオーテーションでかこむと文字になりますが、ファイル名の01を+1づつするので、数字のような扱いをするから、文字を数値のようにあつかうのが気持ち悪かったのです。 以下ソースです。 <?php $filepath="images/"; $f="01"; $name=".gif"; $fname=$filepath.$f.$name; if(file_exists($fname)){ ?> <img src="<?php echo $filepath . $f . $name ?>" width="250" height="50"> <?php while((file_exists($fname))){ echo "<img src=\"" . $filepath.$f.$name . "\" width=\"250\" height=\"50\">"; $f=$f+1; $fname=$filepath.$f.$name; } ?> <?php } else{ echo "elseだよ"; } ?>

関連するQ&A