メシのタネ

Webプログラミング 備忘録

  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む
  • 普通の会社で2年普通に働いて思う事

    えらい寒くなりました。文句言いながらも現職を続けて2017年12月1日にめでたく2年がたちました。分かりやすいが乱暴に言えばITドカタと呼ばれる業界に入って案件のヒエラルキーの無慈悲さを痛感しながらも、それでもしょうがないと頑張る人たちに心を打たれながら「じゃあ俺も」と頑張れない自分に挫折して、とあ[...]

    続きを読む
  • jQueryUiのDatepicker利用時にminDate設定するとバグる件

    題名の通りなんですが、DatepickerでminDate使うとバグります。また後でキャプチャ見て貰いますけど、灰色の部分が、minDateで設定した日付が反復して出るようになるんですね。こういうの気が付かない人がいるかも知れませんが、ChoromeでminDate設定してる人は気にしてみてくだ[...]

    続きを読む

PHP IF文 条件式が2つある場合の評価

if文は色んなとこで紹介されてますが、
ちょっと変わった使い方しようとすると困ります。

if文でよくはまりました。
なぜなら条件が分からないから。
今日はその話をするわけじゃないですけど。条件調べる方法を書きます。
基本的に条件式を評価するのがIF文です。

分からないときはvar_dumpかなんかでbool値が返るようにに仕向けます。
極端にやるとこんな感じに。


<?php

$a = 'abc';
$b = 'abc';

var_dump($a === $b);

IF文は真偽値を判断する構文

条件を評価するのがIF文です。
だから条件はさっき書いたように、真偽値が返る様に仕向けてやる必要があります。

つまり、trueかfalseが返るように式を作ります。
式を作るのは自分です。
さっきのを使うとこうなります。


<?php

$a = 'abc';
$b = 'abc';

if($a === $b)
{
	echo $a;
}

if(!empty($a))
{
	echo 'あのびっくりマークつけると否定になります。違う場合真になります。';
}


色んな比較の仕方があります。

さっきのは変数同士を完全一致で比較しました。
数字とかでも比較する事ができます。


<?php

$a = 0;
$b = 5;

if($a < $b)
{
	echo '$bのが大きいぞ';
}

みたいな条件でも式の結果がbool値になるので比較ができます。

二つの式を比較する場合

1個だけしか比較できないといろいろ融通が利かないので、
式を二つ比較することができます。

式を二つ比較する際には、orかandの演算子を用います。

orは||

andは&&

別にこれどっちでも良いらしいですけど、
僕は演算子しか使った事ないです。


$a = 'abc';
$b = 'abc';
$c = 'abc';
$d = 'abc';

//左辺が真でかつ、右辺が真の場合

// 左辺true     右辺true
if(($a === $b)&&($c === $d))
{
	echo '左辺、右辺両方の値が真なので、これは表示されます。';
} else if(($a === $b)||($a === $b)) {
	echo 'これは、左辺か右辺、どっちかが真なら表示されます。';
}

論理演算子で評価した式を比較することもできる

なんか適当な言葉が見つかりませんが、
さっきみたいに二つの式を一塊にして評価することもできます。
たとえばこんな感じに。

<?php
$a = 'abc';
$b = 'abc';
$c = 'abc';
$d = 'abc';
$e = 'abc';
$f = 'abc';
$g = 'abc';
$h = 'abc';

  ↓  真かつ真       ↓かつ↓     真かつ真の場合  ↓
if((($a === $b)&&($c === $d))&&(($e === $f)&&($g === $h)))
{

 echo '括弧で括って式を一塊にできます。';

}

普通だよねって話ですが、こういう比較の仕方知らないと


$a = 'abc';
$b = 'abc';
$c = 'abc';
$d = 'abc';
$e = 'abc';
$f = 'abc';
$g = 'abc';
$h = 'abc';

// ↓ここ真↓かつ↓ここ真↓かつ↓ここ真↓ かつ↓ここ真↓
if(($a===$b)&&($b===$c)&&($d===$e)&&($f===$g))
{
	echo 'こうならいいですが';
}


// ↓ここ真↓ か↓ここ真 ↓かつ↓ここ真↓かつ↓ここ真↓
if(($a===$b)||($b===$c)&&($d===$e)&&($f===$g))
{
	echo 'こうorとか入った時に意図しない結果になります。この場合は真ですけど';
}

やってて気がついたんですが、これ、式が1個になるからなんですね。いやこれなってねぇ

本とかちゃんと読んでないと、説明できませんね。
経験値の話ですかね。勉強不足か。精進します。

関連記事

  1. PHPサムネイル
  2. PHPサムネイル
  3. 2012.09.19

    【PHP】関数
  4. 2012.09.07

    【PHP】mb_substr

コメントをお待ちしております