2010年12月16日木曜日

12/16覚書

☆そもそもeclipseやXAMPP、Apacheってなに?
コンビ芸人(クライアントとサーバーね。)→ピン芸人でひとりボケツッコミ。

Apacheの初期設定でindex.phpにアクセスする。
C:\pleiades\xampp\apache\conf\httpd.confで変更可能。
ブラウザではhtdocs(ルートフォルダとして指定されたフォルダ)は非表示になる。
しかし、htdocs内の各フォルダ(ルートディレクトリ)のURLは指定が必要。

XAMPPはOS問わずApache(WEBサーバー)やMySQL(DBサーバー)、
PHP(プログラムソフト)を動作できるようにするための集合体。

PHPはWEBサービスの多くを製作でき、、HTMLと混在でき他言語よりも構文が単純と優れた言語。

☆プログラムの原則
ソースは上から下へ。
☆phpとHTMLを混在させる時のためにも、?>で閉じる癖をつける
""の文字列内なら<br >タグつけられて楽だよー。
練習問題の変数を変えて出力してみよう。
☆型??? 
文字列とか整数のことでした; 文字列型、整数型と言う。
""で囲わないと整数型となる。PHPは型宣言がない。型宣言はSQLで使用。
PHPは代入した変数によって自由に変化する。

※<?phpと?>省略。あと改行\nここより追加。
☆ループ・繰り返し
構文はセミコロンで区切る。forは繰り返す。$i=0; $i<100;は『ゼロから99まで繰り返す』
$i++の++はインクリメント(increment)。整数に対して1を足す。
$i=0に対して+1していく動きをする。
ていうか$iって? iは整数の頭文字。変数だけどここは一般的
プログラムは0から数えるので初期値はゼロ。ここも一般的。
100回も0から数えるので99+0で100となる。
なので100回愛してる!もphpだと簡単w

for($i=0; $i<100; $i++) {
print" 愛してる!<br>\n";
だけ。

for($i=0; $i<100; $i++) {
print" 愛してる!".$i."回目<br>\n";
}
for( 初期値設定; 条件; 増分) {
繰り返しただけ何をするか。
}
ここで出てくる演算子。『= <> ++』←比較演算子
回目~のように文字列と変数をつなぐ場合は『..』ドットをつける。

☆練習問題。101回プロポーズしたら僕は死にませぇんと言ってみるテスト。
コツは別々に記述することだたYO!

for($i=0; $i<101; $i++) {
print" 結婚して!".$i."回目<br>\n";
}
print("<br />");
for($i=0; $i<1; $i++) {
print" 僕は死にませぇんといってみるテスト<br>\n";
}

僕は~のところはprintで直打ちでもおk。練習なので変数使いました。

☆練習問題2
まず偶数や奇数とかを数式で表すってどないせえっちゅーんじゃ;
↓助けてGoogle先生ー!
偶数は、『0,2,4,6,8,10…』という様な、「2n」で表せる数です。(nは0を含む自然数)
奇数は、『1,3,5,7,9,11…』という様な、「2n+1」で表せる数です。(nは0を含む自然数)
だ、そうです。数学が苦手な私にはわかりませんでした。ありがたいブログ

for($cnt = 0; $cnt <= 100; $cnt++){
    if(($cnt % 2) === 0){ print $cnt." <br>\n";}
}
または
for($i = 0; $i <= 100; $i++){
    if($i%2==0){

    print $i;
    print "<br>\n";
}
}

短っ!<br>含めると結果が一文字ずつ改行入って見づらい。
<=**にすると**を含むという意味。
forの()は;で3つにして区切る構文。公式のように固定。
あとif使わない方法。

for($cnt = 2; $cnt <= 100; $cnt += 2){
     print $cnt."\n";
     }

とりあえず考えるなりgoogle先生に聞くなりやってみる。意味は後からついて来るZE!

☆繰り返しその2
$変数1
$変数2
$while($変数1の条件) {
繰り返しただけ何をするか。
}
☆練習問題 101回プロポーズのwhile版。

print $変数2

$i = 0;
$pw = "結婚してください";
$an = "※ただしイケメンに限る";
while($i<101){
    print $pw;
    print "<br>\n";
    $i++;
     }
print $an;

forもwhileもほとんど同じだが、forは先に処理され、whileは後からの処理もできる。

☆文字列の扱い
・/*~*/で囲った内容はいくら改行してもただのテキスト。
ルールと出力画面

×①''で囲むと変数は展開されない
○②''の外に変数を出してあげると展開される
△③""で囲むと変数が展開される、ただし変数の前後に半角が必要
×④変数の前後に半角スペースがないので「$kudamonoです。」と認識されている
◎⑤変数の前後に{}をつけると半角スペースは不要⇒これがベスト!

☆配列
arreyで区切ったぶんだけboxをつくる。区切り。デリミタっていうそうな。
$data[0];
0から始まるのはプログラムの決まりごと。
例1
$data = array(1,2,3);
print $data[0];
print "<br>\n";
print $data[1];
print "<br>\n";
print $data[2];

例2
$data[] = 1;
$data[] = 2;
$data[] = 3;
print $data[0];

[]がarrayと同じ意味。


☆練習問題1 10個作って5番目の値を出そう。
$data = array(1,2,3,4,5,6,7,8,9,10);
print $data[4];
または
$data[] = 1;
$data[] = 2;
$data[] = 3;
$data[] = 4;
$data[] = 5;
$data[] = 6;
$data[] = 7;
$data[] = 8;
$data[] = 9;
$data[] = 10;
print $data[4];
2番目無駄に長いね;

☆練習問題2 上記の全項目をfor文ですべて表示
$dataと$iの扱いがPOINTでした;
$data = array(1,2,3,4,5,6,7,8,9,10);
for($i = 0; $i <= 10; $i++){
print $**[$**];
print "<br>\n";
**の部分でどっちにdataとi入れればいいのかが不安だったです;

んで正解↓
$data = array(1,2,3,4,5,6,7,8,9,10);
for($i = 0; $i <= 10; $i++){
print $data[$i];
print "<br>\n";
$dataを繰り返し出すために、変数$iを使う。

変数の理解がまだ甘い…練習します;

☆明日の予定
連想配列。
こんなんらしい。

$yasai = array(' tomato' => ' トマト',
    ' carrot' => ' にんじん',
    ' cabbage' => ' キャベツ',);
$yasai["tomato"] = "トマト";
$yasai["carrot"] = "にんじん";
$yasai["cabbage"] = "キャベツ";
print $yasai["cabbage"];
print "<br>\n";