tetsunosukeのnotebook

tetsunosukeのメモです

ギークなお姉さんを目指すブログを友人にも紹介しようと思う。

どうも、ナイスギークってもしかして、「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> 

他にもいろいろあるけどここらへんで!