HTML,DB,PHP

■HTML
CSSで遊ぼう! part.4
* display
* position
* float
* visibility
* overflow
■DB
* ある条件でレコードを絞り込む
PHP
* while
* switch
* ユーザ定義関数



■HTML
今日は、まず自分なりの調べ方で、 display、position、 float、visibility、overflowを調べました。調べ方も色々あって、各サイトごと載っている情報も様々です。
色々な調べ方で調べることによって、調べたい目的、自分が得たいものの最適な調べ方を覚えることができます。

今日調べたもの
display・・・・・・・要素の表示形式(ブロック・インライン)を指定する
position・・・・・・・・・・・・・・・ボックスの配置方法(基準位置)を指定する
float・・・・・・・・・・・・・・・・・・左または右に寄せて配置する
visibility・・・・・・・・・・・・・・・ボックスの表示・非表示を指定する
overflow・・・・・・・・・・・・・・・はみ出た内容の表示方法を指定する

参照:http://www.htmq.com/style/index.shtml

今日習った中で、自分的にヒットしたのが、floatです。floatを使って左や右に寄せて、その空きに回り込みさせるということができるので、なんとなくかっこいい感じがしました(曖昧w)





■DB
□LIKE演算子を使ってレコードを絞り込む。


 SELECT
選択リスト
 FROM
テーブル名
 WHERE
列名 LIKE パターン

今日は、WHEREのこわさについて講師の方に色々とお話を聞きました。
このWHERE句は実務でも頻繁に使われるものなので、この条件式を間違えると、とんでもないクリティカルなエラーが発生してしまうこわさがあることを教えていただきました。今はまだ数の少ないデータを扱っているので平気ですが、WHEREを使う時はミスが無いように注意したい。



PHP
□while文
例:

<?php

$i=1;
while(true){
  if($i == 100){
    break;
  }
  echo $i."\n";
  $i++;
}

?>

このプログラムでは1から99までの数字が表示されます。
この場合、1から99までの数字が出力されます。$iが100になった時点でwhile文からはブレイクするので、99までしか表示されません。

例:continue

<?php

$i=0;
while(true){
  if($i == 100){
    break;
  }
  $i++;
  if($i%2 == 0){
    continue;
  }
  echo $i."\n";
}

?>

これは、$iが100になるまで、2の倍数以外を表示していくプログラム。
while(true)になっているので、基本このwhile文は無限ループしてしまう。なので、if文を使ってブレイク。

□switch

<?php
//switch
$i=2;
switch($i){
case 1:
  echo "1です";
  break;
case 2:
  echo "2です";
  break;
default:
  echo "それ以外";
}

?>

switchの変数とcaseと比べて、同じならそれが実行されて、この出力結果は"2です"になります。
※もしこの2つ目のbreakが無いと、echoの処理を行ったのちも、プログラムが続けられてしまい、
出力結果は"2ですそれ以外"になります。

□ユーザ定義関数
例:値渡し

<?php

function test($a,$b)
{
  $re=0;
  $re=$a+$b;
  return $re;
}
$r =test(1,2);
echo $r;

?>

functionで関数を定義する。$rでこの関数が呼ばれた時に、$aに1、$bに2が渡されて、returnでその結果が帰ってきます。引数は","で複数作ることが出来る。
※関数内で使った変数はあくまで関数内でしか使えない。よって最後のechoの後ろにecho $re;をいれたらそんな変数はないのでエラーになります。

例:参照渡し

<?Php

function test(&$s1,&$s2)
{
  $s1=$s1+$s2;
}
$s1 = 1;
$s2 = 2;
echo $s1."\n";//1
test($s1,$s2);
echo $s1."\n";//3

?>

functionで引数に&をつけることで、値ではなく変数そのものを渡すことができます。
値渡しと、参照渡しについての違いについて簡単にいえば、「値を入れる箱」である変数を関数に渡す時、箱の中身だけを渡すのか、箱も含めて渡すのかの違いになります。前者が値渡しで、後者が参照渡しになります。



引数やら、戻り値やら、またこんがらがりそうな物が出てきました。
今のところ理解できてるつもりなんで、今後の授業を通して更なる理解が深められたら良きかなと思っております。