Upload
kite-kaito-koga
View
379
Download
9
Embed Size (px)
Citation preview
Web デザイナーが身に付けておきたい定番スキル
PHP 初級編
2014.04.12
自己紹介
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
アジェンダ・PHP とは
・変数と定数
・データ型
・文字列
・配列
・演算子
・条件分岐
・ループ
・関数
1
PHP とは
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
PHP は、"PHP: Hypertext Preprocessor" を意味し、広く使用されているオー
プンソースの汎用スクリプト言語です。 HTML に埋め込むことができ、Web ア
プリケーションの開発に特に適しています。 PHP の構文の多くは C、Java、
Perl 言語から転用したもので、 簡単に習得することができます。この言語は、
動的に生成されるウェブページを Web 開発者が速やかに作成できるようにす
ることを主な目標として つくられました。しかし、それだけにとどまらず、 もっ
と多くのことを PHP を使って行うことができます。
“
”ー『PHPマニュアル 序文』よりー
再帰的頭字語 ー "PHP: Hypertext Preprocessor"のように、正式名称の中にそれ自身が含まれている頭字語。
ちなみに、PHP は "Personal Home Page" Tool に由来する。
雑学
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
公式サイト
日本語資料
http://www.php.net/
http://www.php.net/manual/ja/
1
開発環境構築
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
PHP はサーバーサイドスクリプト、
実行するためにはサーバが必要
MAMP(Mac のみ)やXAMPP が便利
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
実際の操作を参照
1
He l l o , w o r l d !
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
index.phpを新規作成
<?php
/*
初めての
PHPプログラミング
*/
echo 'Hello, world!'; // Hello, worldを出力
?>
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
Hello, world!
表示
Hello, world!
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
PHPタグ(開始タグと終了タグ)ファイル最後の終了タグは省略することが推奨
1 つ以上の文字列を出力する
文字列(詳細は後述)
ブロックコメント(複数行OK)
行コメント(行末まで)
文の区切り
<?php ... ?>
echo
''
/*...*/
//
;
変数と定数
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
変数とは、値につけるラベルのようなもの
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$var = 'Hello, world!<br>';
$Var = 3;
echo $var;
echo $Var;
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
Hello, world!
3
表示
Hello, world!<br>3
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
ドル記号($)+変数名の形式で表される
変数名は文字、アンダースコア(_)から始まる
任意の数の文字、数字、アンダースコア(_)が続く
大文字小文字を区別する
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
定数も値につけるラベルのようなものですが、
定数の値はスクリプト実行中に変更できない
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
define('CONSTANT', 'Hello, world!');
echo CONSTANT;
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
Hello, world!
表示
Hello, world!
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
名前を指定して定数を定義する。
$name: 定数名(文字列)
ルールは変数名と同じだが、
慣習的に常に大文字で表記する
$value: 値(文字列、整数、浮動小数点数、論理値、ヌル)
define($name, $value)
データ型
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
文字列(string)
整数(integer)
浮動小数点数(float)
論理値(boolean)
配列(array)
ヌル(null)
'' ""
}数値true / false
array()
null
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
var_dump('Hello, world!');
var_dump(3);
var_dump(2.5);
var_dump(false);
var_dump(null);
作業
コード
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
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
データに関する情報を表示するvar_dump()
1
文字列
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
文字列を指定する最も簡単な方法は、
シングルクォート(')かダブルクォート(")で括ること
ダブルクォート(")で括られた場合、
変数やエスケープシーケンスを展開する
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$name = 'kite';
echo "Hello, world!\n\tI'm $name.";
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
Hello, world! I'm kite.
表示
Hello, world!
I'm kite.
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
ソースの改行ソースのタブ
エスケープシーケンスとは、通常の文字列では表せない特殊文字や機能
Macではバックスラッシュ(\)、Windowsでは円マーク(¥)を使う
\n
\t
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$name = 'kite';
echo 'I\'m $name.';
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
I'm $name.
表示
I'm $name.
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
シングルクォート内では、変数は展開されず、そのまま表示される
引用符を表示する場合は、エスケープが必要
配列
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
配列とは、複数の値の集合であり、
各値はキー(添字)で識別される
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$fruits = array('apple', 'orange', 'banana');
var_dump($fruits);
作業
コード
配列の作成
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"}
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
array() で作成することが可能
キーは0から始まる
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$fruits = array('apple', 'orange', 'banana');
echo $fruits[1];
作業
コード
配列要素へのアクセス
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
orange
表示
orange
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
作業
<?php
$fruits = array('apple', 'orange', 'banana');
$fruits[2] = 'lemon';
var_dump($fruits);
コード
配列要素の変更
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"}
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
作業
<?php
$fruits = array('apple', 'orange', 'banana');
$fruits[] = 'melon';
var_dump($fruits);
コード
配列要素の追加
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"}
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
作業
<?php
$fruits = array('apple', 'orange', 'banana');
$fruits[] = 'melon';
unset($fruits[2]);
var_dump($fruits);
コード
配列要素の削除
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"}
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
値を文字のキーで識別される配列を
連想配列と呼ぶ
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
作業
<?php
$score = array(
'steve' => 90,
'bill' => 80
);
echo $score['steve'];
コード
連想配列の作成と要素へのアクセス
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
90
表示
90
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
作業
<?php
$score = array(
'steve' => 90,
'bill' => 80
);
$score['larry'] = 85;
var_dump($score);
コード
連想配列要素の追加
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
array(3) { ["steve"]=> int(90) ["bill"]=> int(80) ["larry"]=> int(85) }
表示
array(3) { ["steve"]=> int(90) ["bill"]=> int(80) ["larry"]=> int(85)}
ソース
演算子
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
代数演算子
代入演算子
文字列演算子
加算子 / 減算子
比較演算子
三項演算子
論理演算子
+ - * / %
= += -= *= /=
. .=
++ --
== === != !== < > <= >=
?:
! && || and or xor
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
echo 5 % 3;
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
2
表示
2
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
名前: 剰余
結果: $a を $b で割った余り
$a % $b
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$a = 3;
$a += 5;
echo $a;
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
8
表示
8
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
3 を $a に代入
$a = $a + 5; と同じ
$a = 3;
$a += 5;
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$a = 'Hello, ' . 'world!';
echo $a;
$b = 'Hi, ';
$b .= 'world!';
echo $b;
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
Hello, world!Hi, world!
表示
Hello, world!Hi, world!
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
'Hi, ' を $b に代入
$b = $b . 'world!'; と同じ
$b = 'Hi, ';
$b .= 'world!';
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$a = 3;
echo $++a, $a . "\n";
$b = 3;
echo $b++, $b;
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
44 34
表示
44
34
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
名前: 前置加算子
効果: $a に 1 を加え、$a を返す
名前: 後置加算子
効果: $a を返し、$a に1を加える
++$a
$a++
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
var_dump(1 == '1');
var_dump(1 === '1');
var_dump(1 != '1');
var_dump(1 !== '1');
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
bool(true) bool(false) bool(false) bool(true)
表示
bool(true)
bool(false)
bool(false)
bool(true)
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
型の相互変換をしたあと、等しい場合に TRUE
同じ型かつ等しい場合に TRUE
型の相互変換をしたあと、等しくない場合に TRUE
同じ型でないか、等しくない場合に TRUE
==
===
!=
!==
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
<?php
$a = true;
echo $a ? 'true' : 'false';
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
true
表示
true
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
式1 が TRUE の場合に 式2 を、
式1 が FALSE の場合に 式3 を値とする
式1 ? 式2 : 式3
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);
作業
コード
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
結果
bool(false) bool(false) bool(true) bool(true)
表示
bool(false)
bool(false)
bool(true)
bool(true)
ソース
Web デザイナーが身に付けておきたい定番スキル ー PHP 初級編ー
解説
否定:
TRUE でない場合 TRUE
論理積:
共に TRUE の場合に TRUE
論理和:
どちらかが TRUE の場合に TRUE
排他的論理和:
どちらかが TRUE で
かつ両方とも TRUE でない場合に TRUE
!
&& / and
|| / or
xor