wordbeach 2012 ws php入門編

95
WordBeach 2012 WordPressのための PHP入門 1

Upload: michinari-odajima

Post on 07-Jul-2015

1.581 views

Category:

Documents


2 download

DESCRIPTION

WordBeach 2012 のワークショップ「PHP入門」編で使用したスライドです。

TRANSCRIPT

Page 1: WordBeach 2012 WS PHP入門編

WordBeach 2012

WordPressのためのPHP入門

1

Page 2: WordBeach 2012 WS PHP入門編

お願い

誰でも最初は初心者です。分からない事は遠慮せず聞いて下さい。分からない時は、その場で聞いて下さい。

WordBeach 2012

2

Page 3: WordBeach 2012 WS PHP入門編

ご注意

今日お話しする内容は、WordPressを前提にしてますので、

全ての場合に当てはまるとは限りません。

WordBeach 2012

3

Page 4: WordBeach 2012 WS PHP入門編

これだけは覚えて

echovar_dump()

WordBeach 2012

4

Page 5: WordBeach 2012 WS PHP入門編

レジュメ

1.PHPの基本2.変数3.文字列4.演算子5.配列

6.繰り返し7.条件分岐8.関数

WordBeach 2012

5

Page 6: WordBeach 2012 WS PHP入門編

PHPの基本

WordBeach 2012

6

Page 7: WordBeach 2012 WS PHP入門編

PHPの基本

エディタで編集拡張子文字コード2つの書き方 開始と終了

上から下へコメント

WordBeach 2012

7

Page 8: WordBeach 2012 WS PHP入門編

エディタで編集

mi 秀丸 DreamWeaver

WordBeach 2012

8

Page 9: WordBeach 2012 WS PHP入門編

拡張子

.php

WordBeach 2012

9

Page 10: WordBeach 2012 WS PHP入門編

文字コード

UTF-8

WordBeach 2012

10

Page 11: WordBeach 2012 WS PHP入門編

2つの書き方

PHP HTML + PHP

WordBeach 2012

11

Page 12: WordBeach 2012 WS PHP入門編

プログラム

開始と終了

<?php

?>WordBeach 2012

12

Page 13: WordBeach 2012 WS PHP入門編

上から下へ

1行目

2行目

3行目

エラー

原因

実行

WordBeach 2012

13

Page 14: WordBeach 2012 WS PHP入門編

/*ここにコメントを書きます。複数行でもOK!*/

コメント

// ここにコメントを書きます

WordBeach 2012

14

Page 15: WordBeach 2012 WS PHP入門編

変数

WordBeach 2012

15

Page 16: WordBeach 2012 WS PHP入門編

変数

変数とは名前の付け方

WordBeach 2012

16

Page 17: WordBeach 2012 WS PHP入門編

変数とは

入るのはどれか1つだけ

WordBeach 2012

17

Page 18: WordBeach 2012 WS PHP入門編

名前の付け方

$ 変数名

a~z A~Z 0~9

※数字から始まる名前はNG

「_」

WordBeach 2012

18

Page 19: WordBeach 2012 WS PHP入門編

文字列

WordBeach 2012

19

Page 20: WordBeach 2012 WS PHP入門編

文字列

文字列の定義エスケープシーケンス「”」と「’」の違い文字列中の変数

WordBeach 2012

20

Page 21: WordBeach 2012 WS PHP入門編

文字列の定義

“ 文字列

または

‘ 文字列 ’

WordBeach 2012

21

Page 22: WordBeach 2012 WS PHP入門編

エスケープシーケンス

Mac Win

\ ¥

文字の特殊な機能を無効にする特殊な文字を表す。

WordBeach 2012

22

Page 23: WordBeach 2012 WS PHP入門編

「”」と「’」の違い

“ 変数を展開 ”

‘ 変数を展開しない ’

WordBeach 2012

23

Page 24: WordBeach 2012 WS PHP入門編

文字列中の変数

“ { $変数 } ”

WordBeach 2012

24

Page 25: WordBeach 2012 WS PHP入門編

演算子

WordBeach 2012

25

Page 26: WordBeach 2012 WS PHP入門編

演算子

算術演算子代入演算子加算子/減算子比較演算子論理演算子文字列演算子

WordBeach 2012

26

Page 27: WordBeach 2012 WS PHP入門編

算術演算子

+:加算ー:減算*:乗算/:除算%:剰余

WordBeach 2012

27

Page 28: WordBeach 2012 WS PHP入門編

代入演算子

$a = 10; // 代入 $a += 5; // $a = $a + 5$a ー= 10; // $a = $a - 10$a *= 12; // $a = $a * 12$a /= 3; // $a = $a / 3$a %= 6; // $a = $a % 6

WordBeach 2012

28

Page 29: WordBeach 2012 WS PHP入門編

代入演算子

$str = “Word”;$str .= “Press”;// $str = $str .“Press”;

WordBeach 2012

29

Page 30: WordBeach 2012 WS PHP入門編

加算子/減算子

++:加算子$a++ // $a = $a + 1;ーー:減算子$a-- // $a = $a - 1;

WordBeach 2012

30

Page 31: WordBeach 2012 WS PHP入門編

加算子/減算子は、位置によって結果が変わる。

加算子/減算子

$a = 5;$b = $a++; // $b=5, $a=6

$a = 5;$b = ++$a; // $b=6, $a=6

WordBeach 2012

31

Page 32: WordBeach 2012 WS PHP入門編

比較演算子

==(=)!=(≠)<><=(≦)

>=(≧)

WordBeach 2012

32

Page 33: WordBeach 2012 WS PHP入門編

比較演算子

比較した結果がその通りなら「true」を違っていれば「false」を返します。

WordBeach 2012

33

Page 34: WordBeach 2012 WS PHP入門編

論理演算子

&&(論理積)||(論理和)! (否定)

WordBeach 2012

34

Page 35: WordBeach 2012 WS PHP入門編

論理演算子

&&(論理積)&&(論理積)&&(論理積)条件1 条件2 結果

× × ×× ○ ×○ × ×○ ○ ○○:true ×:false○:true ×:false○:true ×:false

条件1

条件2

結果

WordBeach 2012

35

Page 36: WordBeach 2012 WS PHP入門編

論理演算子

||(論理和)||(論理和)||(論理和)条件1 条件2 結果

× × ×× ○ ○○ × ○○ ○ ○○:true ×:false○:true ×:false○:true ×:false

条件1 条件2

結果

WordBeach 2012

36

Page 37: WordBeach 2012 WS PHP入門編

論理演算子

!(否定)!(否定)

条件 結果

× ○

○ ×

○:true ×:false○:true ×:false

WordBeach 2012

37

Page 38: WordBeach 2012 WS PHP入門編

文字列演算子

.(結合演算子)

WordBeach 2012

38

Page 39: WordBeach 2012 WS PHP入門編

配列

WordBeach 2012

39

Page 40: WordBeach 2012 WS PHP入門編

配列

配列連想配列2次元配列なぜ配列が必要なのか

WordBeach 2012

40

Page 41: WordBeach 2012 WS PHP入門編

配列

添字は「0(ゼロ)」から

1つの車両(要素)にデータは1つ

WordBeach 2012

41

Page 42: WordBeach 2012 WS PHP入門編

配列

配列を作るには、

$変数名 = array();

WordBeach 2012

42

Page 43: WordBeach 2012 WS PHP入門編

配列

配列を定義するには、

または、$変数名 = array(値1,値2,…);

$変数名[] = 値1;$変数名[] = 値2; :

WordBeach 2012

43

Page 44: WordBeach 2012 WS PHP入門編

配列

要素は後から追加できます。

WordBeach 2012

44

Page 45: WordBeach 2012 WS PHP入門編

配列

配列に要素を追加するには、

$変数名[] = 値;

WordBeach 2012

45

Page 46: WordBeach 2012 WS PHP入門編

連想配列

キーは「文字列」

1つの車両(要素)にデータは1つ

WordBeach 2012

46

Page 47: WordBeach 2012 WS PHP入門編

連想配列

連想配列を作るには、

$変数名 = array();

WordBeach 2012

47

Page 48: WordBeach 2012 WS PHP入門編

連想配列

連想配列を定義するには、

$変数名 = array( ‘キー1’ => 値1, ‘キー2’ => 値2, : );

WordBeach 2012

48

Page 49: WordBeach 2012 WS PHP入門編

連想配列

または、

$変数名[‘キー1’] = 値1;$変数名[‘キー2’] = 値2; :

WordBeach 2012

49

Page 50: WordBeach 2012 WS PHP入門編

連想配列

連想配列でも追加できます。

WordBeach 2012

50

Page 51: WordBeach 2012 WS PHP入門編

連想配列

連想配列に要素を追加するには、

$変数名[‘キー’] = 値;

WordBeach 2012

51

Page 52: WordBeach 2012 WS PHP入門編

2次元配列

要素に配列を入れる事も出来る。

WordBeach 2012

52

Page 53: WordBeach 2012 WS PHP入門編

なぜ配列が必要なのか

例えば、100件の商品を表示するとします。

WordBeach 2012

53

Page 54: WordBeach 2012 WS PHP入門編

配列を使わないと・・・

となります。

なぜ配列が必要なのか

001:echo $item001.”<br>\n”;002:echo $item002.”<br>\n”;003:echo $item003.”<br>\n”; :100:echo $item100.”<br>\n”;

WordBeach 2012

54

Page 55: WordBeach 2012 WS PHP入門編

配列を使うと・・・

となります。

なぜ配列が必要なのか

001:for($i=0; $i<100; $i++){002: echo item[$i].”<br>\n”;003:}

WordBeach 2012

55

Page 56: WordBeach 2012 WS PHP入門編

繰り返し

WordBeach 2012

56

Page 57: WordBeach 2012 WS PHP入門編

繰り返し

WHILEFORFOREACH

WordBeach 2012

57

Page 58: WordBeach 2012 WS PHP入門編

WHILE

回数が決まってない一定の状態の間づっと

WordBeach 2012

58

Page 59: WordBeach 2012 WS PHP入門編

プログラム

WHILE

while(条件){

}WordBeach 2012

59

Page 60: WordBeach 2012 WS PHP入門編

WHILE

条件true

false

プログラム

WordBeach 2012

60

Page 61: WordBeach 2012 WS PHP入門編

FOR

回数が決まっている

WordBeach 2012

61

Page 62: WordBeach 2012 WS PHP入門編

プログラム

FOR

for(初期値;条件;増減式){

}WordBeach 2012

62

Page 63: WordBeach 2012 WS PHP入門編

WHILE

条件true

false

プログラム

増減式

初期化

WordBeach 2012

63

Page 64: WordBeach 2012 WS PHP入門編

FOREACH

連想配列の要素の数だけ

WordBeach 2012

64

Page 65: WordBeach 2012 WS PHP入門編

プログラム

FOREACH

foreach(連想配列 as 変数){

}WordBeach 2012

65

Page 66: WordBeach 2012 WS PHP入門編

FOREACH

要素ある

ない

プログラム

WordBeach 2012

66

Page 67: WordBeach 2012 WS PHP入門編

プログラム

WHILE

while(条件):

endwhile;WordBeach 2012

67

Page 68: WordBeach 2012 WS PHP入門編

プログラム

FOR

for(初期値;条件;増減式):

endfor;WordBeach 2012

68

Page 69: WordBeach 2012 WS PHP入門編

プログラム

FOREACH

foreach(連想配列 as 変数):

endforeach;WordBeach 2012

69

Page 70: WordBeach 2012 WS PHP入門編

条件分岐

WordBeach 2012

70

Page 71: WordBeach 2012 WS PHP入門編

条件分岐

IFSWITCH

WordBeach 2012

71

Page 72: WordBeach 2012 WS PHP入門編

IF

if(条件){条件成立時のプログラム

}else{条件不成立時のプログラム

}

WordBeach 2012

72

Page 73: WordBeach 2012 WS PHP入門編

IF

if(条件1){

}elseif(条件2){

}

}else{

WordBeach 2012

73

Page 74: WordBeach 2012 WS PHP入門編

SWITCH

switch($変数){case 条件1:プログラム; break;case 条件2:プログラム; break;

default:プログラム; break;}

WordBeach 2012

74

Page 75: WordBeach 2012 WS PHP入門編

IF

if(条件):条件成立時のプログラム

else:条件不成立時のプログラム

endif;

WordBeach 2012

75

Page 76: WordBeach 2012 WS PHP入門編

IF

if(条件1):

elseif(条件2):

endif;

else:

WordBeach 2012

76

Page 77: WordBeach 2012 WS PHP入門編

SWITCH

switch(条件):case 条件1: ~ endcase;case 条件2: ~ endcase;

default: ~ enddefault;endswitch;

WordBeach 2012

77

Page 78: WordBeach 2012 WS PHP入門編

関数

WordBeach 2012

78

Page 79: WordBeach 2012 WS PHP入門編

関数

関数とは関数の定義関数の呼び出し引数戻り値2つの変数

WordBeach 2012

79

Page 80: WordBeach 2012 WS PHP入門編

関数とは

よく使う一連の処理をまとめたもの何回でも繰り返し使える最初からあるものと、自分で作るものがある

WordBeach 2012

80

Page 81: WordBeach 2012 WS PHP入門編

一連の処理

関数の定義

function 関数名(引数){

}WordBeach 2012

81

Page 82: WordBeach 2012 WS PHP入門編

関数の呼び出し

関数名(引数);

関数名();

$変数=関数名();

$変数=関数名(引数);

WordBeach 2012

82

Page 83: WordBeach 2012 WS PHP入門編

引数

関数に渡すデータ関数によって、種類も数も違う省略できる場合もあるない場合もある

WordBeach 2012

83

Page 84: WordBeach 2012 WS PHP入門編

引数 = デフォルト値

引数

WordBeach 2012

84

Page 85: WordBeach 2012 WS PHP入門編

戻り値

関数から戻って来るデータ1個だけ種類は色々ない場合もある

WordBeach 2012

85

Page 86: WordBeach 2012 WS PHP入門編

戻り値を返すには、

戻り値を受け取るには、

戻り値

return 戻り値;

$変数 = 関数名();

$変数 = 関数名(引数);

WordBeach 2012

86

Page 87: WordBeach 2012 WS PHP入門編

2つの変数

WordBeach 2012

87

Page 88: WordBeach 2012 WS PHP入門編

課題

WordBeach 2012

88

Page 89: WordBeach 2012 WS PHP入門編

課題

1.1~10までの合計2.九九の表(テーブル)を作る3.カレンダーを作る4.価格表を作る5.トランプを作る6.記事一覧を表示する7.カテゴリの記事一覧を表示する

WordBeach 2012

89

Page 90: WordBeach 2012 WS PHP入門編

1-10までの合計

for

WordBeach 2012

90

Page 91: WordBeach 2012 WS PHP入門編

九九の表を作る

for

WordBeach 2012

91

Page 92: WordBeach 2012 WS PHP入門編

トランプを作る

forforeach

WordBeach 2012

92

Page 93: WordBeach 2012 WS PHP入門編

記事一覧を表示する

ifwhilehave_posts()the_post()the_title()

WordBeach 2012

93

Page 94: WordBeach 2012 WS PHP入門編

カテゴリの記事一覧

ifwhilehave_posts()the_post()the_title()query_posts()

WordBeach 2012

94

Page 95: WordBeach 2012 WS PHP入門編

参考サイト

PHPPHPマニュアルhttp://jp.php.net/manual/ja/index.php

WordPressWordPress Codexhttp://wpdocs.sourceforge.jp/WordPress私的マニュアルhttp://elearn.jp/wpman/

WordBeach 2012

95