ギークなお姉さんを目指すブログを友人にも紹介しようと思う。
どうも、ナイスギークってもしかして、「nice boat!」と関係あるのかな?と思うtetsunosukeです。
今日のギークなお姉さんブログで気になったこと。
== っていうのは、代入とは違う。
なんていうか、文字通りイコール。今度は本気のイコール。超イコール。だから2回書く。
今回、 print で画像を表示させてるんだけど、これは昨夜ついったーでナイスギークに
アドバイスをもらった。
ここなんだけど「超イコール」ってのは確かに表現としていい!++!
でも、PHPには実は超イコールを超えるイコールが存在する!
またマニュアルを読んで!"PHP:比較演算子 - Manual"
例 名前 結果 $a == $b 等しい $a が $b に等しい時に TRUE。 $a === $b 等しい $a が $b に等しく同じ型でである場合に TRUE (PHP 4 で導入)。
$a != $b 等しくない $a が $b に等しくない場合に TRUE。 $a <> $b 等しくない $a が $b に等しくない場合に TRUE $a !== $b 等しくない $a が $b と等しくないか、同じ型でない場合に TRUE (PHP 4 で導入)。
$a < $b より少ない $a が $b より少ない時に TRUE。 $a > $b より多い $a が $b より多い時に TRUE。 $a <= $b より少ないか等しい $a が $b より少ないか等しい時に TRUE。 $a >= $b より多いか等しい $a が $b より多いか等しい時に TRUE。
つーわけで、超イコールを使うと
// こっちはやめて // if($_POST['zokusei']=="jk"){ // こっちにしよう if($_POST['zokusei']==="jk"){
それから実はこのページにPHPの超キモいことが書いてあるんだ。
整数値を文字列と比較する際、文字列が数値に変換されます数値形式の文字列を比較する場合、それは整数として比較されます。
で、そこのページにも載ってるけど、うっかり数値の0と比べると嫌なことになるので、超超イコールを使おう。もしくは、strcmp関数を使おう。
今日のアドバイスはほんとはこっちをしたかったんだ・・・
これは確かにいいんだけど
print('<img src="aaaa.jpg">');
僕としてはこっちをお薦めする!
<?php // PHPから直接print(echo)はあまりしない! // PHPの部分とHTMLは分けて書いて、必要なときだけ埋め込む $imageFileName = "aaaa.jpg"; ?> <img src="<?php echo $imageFileName;?>">
今日のを書くとこうなる
<html> <head><title>もし私が女子高生だったら</title></head> <body> <?php if($_POST['zokusei']==="jk"){ $imgFileName = "画像URLその1"; // print('<img src="画像URLその1">'); } elseif($_POST['zokusei']==="dg"){ $imgFileName = "画像URLその2"; //print('<img src="画像URLその2">'); } else{ $imgFileName = "画像URLその3"; //print('<img src="画像URLその3">'); } ?> <!-- 必要な部分だけ<?php 〜 ?>を使う --> <img src="<?php echo $imgFileName;?>"> </body> </html>
他にもいろいろあるけどここらへんで!