web デザイナーが身に付けておきたい定番スキル ーphp 初級編ー

77
Web デザイナーが身に付けておきたい定番スキル PHP 初級編 2014.04.12

Upload: kite-kaito-koga

Post on 08-May-2015

373 views

Category:

Engineering


9 download

TRANSCRIPT

Page 1: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル

PHP 初級編

2014.04.12

Page 2: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

自己紹介

Page 3: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

KITE ¦ カイト

I’m a creator.

Web Designer / Programmer / Web Director / Graphic Designer / Creative Director ...

Kaito Koga

https://www.facebook.com/kaito.koga.9

Facebook:

KITE@ixkaito

https://twitter.com/ixkaito

Twitter:

SNS

Page 4: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

アジェンダ・PHP とは

・変数と定数

・データ型

・文字列

・配列

・演算子

・条件分岐

・ループ

・関数

Page 5: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

1

PHP とは

Page 6: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

PHP は、"PHP: Hypertext Preprocessor" を意味し、広く使用されているオー

プンソースの汎用スクリプト言語です。 HTML に埋め込むことができ、Web ア

プリケーションの開発に特に適しています。 PHP の構文の多くは C、Java、

Perl 言語から転用したもので、 簡単に習得することができます。この言語は、

動的に生成されるウェブページを Web 開発者が速やかに作成できるようにす

ることを主な目標として つくられました。しかし、それだけにとどまらず、 もっ

と多くのことを PHP を使って行うことができます。

”ー『PHPマニュアル 序文』よりー

再帰的頭字語 ー "PHP: Hypertext Preprocessor"のように、正式名称の中にそれ自身が含まれている頭字語。

ちなみに、PHP は "Personal Home Page" Tool に由来する。

雑学

Page 7: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

公式サイト

日本語資料

http://www.php.net/

http://www.php.net/manual/ja/

Page 8: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

1

開発環境構築

Page 9: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

PHP はサーバーサイドスクリプト、

実行するためにはサーバが必要

MAMP(Mac のみ)やXAMPP が便利

Page 10: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

実際の操作を参照

Page 11: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

1

He l l o , w o r l d !

Page 12: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

index.phpを新規作成

<?php

/*

初めての

PHPプログラミング

*/

echo 'Hello, world!'; // Hello, worldを出力

?>

作業

コード

Page 13: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

Hello, world!

表示

Hello, world!

ソース

Page 14: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

PHPタグ(開始タグと終了タグ)ファイル最後の終了タグは省略することが推奨

1 つ以上の文字列を出力する

文字列(詳細は後述)

ブロックコメント(複数行OK)

行コメント(行末まで)

文の区切り

<?php ... ?>

echo

''

/*...*/

//

;

Page 15: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

変数と定数

Page 16: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

変数とは、値につけるラベルのようなもの

Page 17: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$var = 'Hello, world!<br>';

$Var = 3;

echo $var;

echo $Var;

作業

コード

Page 18: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

Hello, world!

3

表示

Hello, world!<br>3

ソース

Page 19: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

ドル記号($)+変数名の形式で表される

変数名は文字、アンダースコア(_)から始まる

任意の数の文字、数字、アンダースコア(_)が続く

大文字小文字を区別する

Page 20: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

定数も値につけるラベルのようなものですが、

定数の値はスクリプト実行中に変更できない

Page 21: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

define('CONSTANT', 'Hello, world!');

echo CONSTANT;

作業

コード

Page 22: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

Hello, world!

表示

Hello, world!

ソース

Page 23: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

名前を指定して定数を定義する。

$name: 定数名(文字列)

ルールは変数名と同じだが、

慣習的に常に大文字で表記する

$value: 値(文字列、整数、浮動小数点数、論理値、ヌル)

define($name, $value)

Page 24: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

データ型

Page 25: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

文字列(string)

整数(integer)

浮動小数点数(float)

論理値(boolean)

配列(array)

ヌル(null)

'' ""

}数値true / false

array()

null

Page 26: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

var_dump('Hello, world!');

var_dump(3);

var_dump(2.5);

var_dump(false);

var_dump(null);

作業

コード

Page 27: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

string(13) "Hello, world!" int(3) float(2.5) bool(false) NULL

表示

string(13) "Hello, world!"

int(3)

float(2.5)

bool(false)

NULL

ソース

Page 28: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

データに関する情報を表示するvar_dump()

Page 29: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

1

文字列

Page 30: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

文字列を指定する最も簡単な方法は、

シングルクォート(')かダブルクォート(")で括ること

ダブルクォート(")で括られた場合、

変数やエスケープシーケンスを展開する

Page 31: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$name = 'kite';

echo "Hello, world!\n\tI'm $name.";

作業

コード

Page 32: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

Hello, world! I'm kite.

表示

Hello, world!

I'm kite.

ソース

Page 33: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

ソースの改行ソースのタブ

エスケープシーケンスとは、通常の文字列では表せない特殊文字や機能

Macではバックスラッシュ(\)、Windowsでは円マーク(¥)を使う

\n

\t

Page 34: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$name = 'kite';

echo 'I\'m $name.';

作業

コード

Page 35: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

I'm $name.

表示

I'm $name.

ソース

Page 36: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

シングルクォート内では、変数は展開されず、そのまま表示される

引用符を表示する場合は、エスケープが必要

Page 37: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

配列

Page 38: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

配列とは、複数の値の集合であり、

各値はキー(添字)で識別される

Page 39: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$fruits = array('apple', 'orange', 'banana');

var_dump($fruits);

作業

コード

配列の作成

Page 40: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(6) "banana" }

表示

array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(6) "banana"}

ソース

Page 41: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

array() で作成することが可能

キーは0から始まる

Page 42: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$fruits = array('apple', 'orange', 'banana');

echo $fruits[1];

作業

コード

配列要素へのアクセス

Page 43: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

orange

表示

orange

ソース

Page 44: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

作業

<?php

$fruits = array('apple', 'orange', 'banana');

$fruits[2] = 'lemon';

var_dump($fruits);

コード

配列要素の変更

Page 45: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(5) "lemon" }

表示

array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(5) "lemon"}

ソース

Page 46: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

作業

<?php

$fruits = array('apple', 'orange', 'banana');

$fruits[] = 'melon';

var_dump($fruits);

コード

配列要素の追加

Page 47: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

array(4) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(6) "banana" [3]=> string(5) "melon" }

表示

array(4) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(6) "banana" [3]=> string(5) "melon"}

ソース

Page 48: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

作業

<?php

$fruits = array('apple', 'orange', 'banana');

$fruits[] = 'melon';

unset($fruits[2]);

var_dump($fruits);

コード

配列要素の削除

Page 49: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [3]=> string(5) "melon" }

表示

array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [3]=> string(5) "melon"}

ソース

Page 50: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

値を文字のキーで識別される配列を

連想配列と呼ぶ

Page 51: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

作業

<?php

$score = array(

'steve' => 90,

'bill' => 80

);

echo $score['steve'];

コード

連想配列の作成と要素へのアクセス

Page 52: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

90

表示

90

ソース

Page 53: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

作業

<?php

$score = array(

'steve' => 90,

'bill' => 80

);

$score['larry'] = 85;

var_dump($score);

コード

連想配列要素の追加

Page 54: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

array(3) { ["steve"]=> int(90) ["bill"]=> int(80) ["larry"]=> int(85) }

表示

array(3) { ["steve"]=> int(90) ["bill"]=> int(80) ["larry"]=> int(85)}

ソース

Page 55: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

演算子

Page 56: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

代数演算子

代入演算子

文字列演算子

加算子 / 減算子

比較演算子

三項演算子

論理演算子

+ - * / %

= += -= *= /=

. .=

++ --

== === != !== < > <= >=

?:

! && || and or xor

Page 57: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

echo 5 % 3;

作業

コード

Page 58: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

2

表示

2

ソース

Page 59: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

名前: 剰余

結果: $a を $b で割った余り

$a % $b

Page 60: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$a = 3;

$a += 5;

echo $a;

作業

コード

Page 61: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

8

表示

8

ソース

Page 62: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

3 を $a に代入

$a = $a + 5; と同じ

$a = 3;

$a += 5;

Page 63: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$a = 'Hello, ' . 'world!';

echo $a;

$b = 'Hi, ';

$b .= 'world!';

echo $b;

作業

コード

Page 64: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

Hello, world!Hi, world!

表示

Hello, world!Hi, world!

ソース

Page 65: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

'Hi, ' を $b に代入

$b = $b . 'world!'; と同じ

$b = 'Hi, ';

$b .= 'world!';

Page 66: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$a = 3;

echo $++a, $a . "\n";

$b = 3;

echo $b++, $b;

作業

コード

Page 67: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

44 34

表示

44

34

ソース

Page 68: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

名前: 前置加算子

効果: $a に 1 を加え、$a を返す

名前: 後置加算子

効果: $a を返し、$a に1を加える

++$a

$a++

Page 69: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

var_dump(1 == '1');

var_dump(1 === '1');

var_dump(1 != '1');

var_dump(1 !== '1');

作業

コード

Page 70: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

bool(true) bool(false) bool(false) bool(true)

表示

bool(true)

bool(false)

bool(false)

bool(true)

ソース

Page 71: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

型の相互変換をしたあと、等しい場合に TRUE

同じ型かつ等しい場合に TRUE

型の相互変換をしたあと、等しくない場合に TRUE

同じ型でないか、等しくない場合に TRUE

==

===

!=

!==

Page 72: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$a = true;

echo $a ? 'true' : 'false';

作業

コード

Page 73: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

true

表示

true

ソース

Page 74: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

式1 が TRUE の場合に 式2 を、

式1 が FALSE の場合に 式3 を値とする

式1 ? 式2 : 式3

Page 75: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

<?php

$a = true;

$b = false;

var_dump(!$a ? true : false);

var_dump($a && $b ? true : false);

var_dump($a || $b ? true : false);

var_dump($a xor $b ? true : false);

作業

コード

Page 76: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

結果

bool(false) bool(false) bool(true) bool(true)

表示

bool(false)

bool(false)

bool(true)

bool(true)

ソース

Page 77: Web デザイナーが身に付けておきたい定番スキル ーPHP 初級編ー

Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー

解説

否定:

TRUE でない場合 TRUE

論理積:

共に TRUE の場合に TRUE

論理和:

どちらかが TRUE の場合に TRUE

排他的論理和:

どちらかが TRUE で

かつ両方とも TRUE でない場合に TRUE

!

&& / and

|| / or

xor