SlideShare a Scribd company logo
1 of 23
第4回 PHPのおさらい
AlphabetBootCamp
PHPのおさらい
 PHPとは
 変数
 配列
 制御構文(if, for, foreach)
 関数
 HTMLの出力
PHPとは?
 Webに特化したプログラミング言語
 簡単な文法、豊富なドキュメント
 Yahoo!を始めとして、楽天、Wikipediaなどでの実績!
 PHP製のCMS「WordPress」だけで全サイトの25%を占める
PHPのバージョン
昨年リリースされたバージョン7.xを使用
いままでの5.xより2倍早い!!
今後覚えるなら7.xで!
変数とは
データを一時的に入れる箱
→ 数値、文字列、オブジェクトでも格納できる
PHPは変数名の最初に$(ドル記号)が付くのが特徴
「箱」のイメージ
<?php
// Yamada Taroという文字列を$nameに格納する
$name = "Yamada Taro";
echo $name;
// Output
Yamada Taro
配列とは
複数の値をまとめて扱うための仕組み
0から順番に番号が振られており、番号の指定でアク
セスすることができる。
「配列」のイメージ
0 1 2 3
<?php
// 昔は…
$array = array(1, 2, 3);
// 5.4以降なら
$array = [1, 2, 3];
連想配列とは
配列と同じく複数の値をまとめて
扱う仕組み
連番だけでなく、文字列をキーとすることもできる。
「連想配列」の
イメージ
A C D F
<?php
// 昔は…
$array = array(‘A’ => ‘TEST’, ‘C’ => ‘TEST2’);
// 5.4以降ならシンプルに書ける!
$array = [‘A’ => ‘TEST’, ‘C’ => ‘TEST2’];
プログラムの構造
プログラムの基本制御構造は3つしかない!
1. 順次: 処理は上から順番に進む
2. 選択: 条件によって分岐
3. 繰り返し: 処理を繰り返し実行
プログラムの制御 - 順次
 プログラムは上から下に進む
 PHPの場合、アクセスしたファイルの上から順番に実行される
 PHPでechoを呼び出した部分と
phpタグ(<?php~?>)で囲まれていない範囲が
HTMLに出力される
プログラムの制御 - 選択(if)
プログラムは条件によって分岐することができる
→20歳以上の場合お酒を買うことができるなど
ある特定の条件の場合、処理を分岐することができる
プログラムの制御 - 選択 (if ~ else)
<?php
$age = 25;
if ($age >= 20) {
// 年齢が20歳以上の場合
echo "お酒を買うことができます";
} else {
// 20歳以下の場合
echo "お酒を買うことはできません";
}
if(条件を満たす場合)と
else(条件を満たさない)
で表現する。
比較演算子
例 名前 結果
$a == $b 等しい 型の相互変換をした後で $a が $b に等しい時に TRUE
$a === $b 等しい $a が $b に等しく、および同じ型である場合に TRUE
$a != $b 等しくない 型の相互変換をした後で $a が $b に等しくない場合に TRUE
$a <> $b 等しくない 型の相互変換をした後で $a が $b に等しくない場合に TRUE
$a !== $b 等しくない $a が $b と等しくないか、同じ型でない場合に TRUE
$a < $b より少ない $a が $b より少ない時に TRUE
$a > $b より多い $a が $b より多い時に TRUE
$a <= $b より少ないか等しい $a が $b より少ないか等しい時に TRUE
$a >= $b より多いか等しい $a が $b より多いか等しい時に TRUE
$a <=> $b 宇宙船 $a が $b より小さいときに負の値、 $b と等しいときに 0、 $b より
大きいときに正の値。 PHP 7 以降で使用可能
php.net 比較演算子より引用
論理演算子
例 名前 結果
$a and $b 論理積 $a および $b が共に TRUE の場合に TRUE
$a or $b 論理和 $a または $b のどちらかが TRUE の場合に TRUE
$a xor $b 排他的論理和 $a または $b のどちらかが TRUE でかつ両方とも TRUE で
ない場合に TRUE
! $a 否定 $a が TRUE でない場合 TRUE
$a && $b 論理積 $a および $b が共に TRUE の場合に TRUE
$a || $b 論理和 $a または $b のどちらかが TRUE の場合に TRUE
php.net 論理演算子より引用
プログラムの制御 – 繰り返し(for)
条件を満たすまで、
処理を繰り返す。
<?php
for (初期化式;条件式;増加式) {
// 処理
}
// example
for ($i = 0; $i < 10; $i++) {
echo "{$i}回目の処理 ";
}
プログラムの制御 – 繰り返し(for)
対象の配列の要素数繰り返す。
forとの違い
forは条件を記述する必要があ
るのに対して、foreachは不要。
全ての要素に対して、処理を
行うのであれば、foreachにす
る。
<?php
$array = [1, 2, 3, 4, 5];
foreach ($array as $value) {
echo $value;
}
// output
12345
その他の制御構文
 switch
 while
 do~while
調べてみてね!
関数(function)
関数とは
ある特定の処理をひとまとめにして、再利用できるようにする。
また、ある処理に対して名前をつけることで抽象化できる。
利用する人はただ、呼び出せばいいというメリットも。
※ プログラミングにおける抽象化とは…
機械の世界から人間の世界の言葉・考え方に近づけること
機械の世界⇔人間の世界(メンタルモデル)
関数の種類
2つの種類がある
 内部(ビルトイン)関数
→PHPインストール時点で予め使える関数
 ユーザ定義関数
→プログラムを組む人が作成する関数
関数の定義の方法
function から始まり、関数名
と引数を記載する。
あとは関数を呼び出す。
何回呼び出しても大丈夫
<?php
// 関数を定義
function h($str) {
return htmlspecialchars($str,ENT_QUOTES,
'UTF-8');
}
echo h(‘test’);
echo h(‘test’);
// Output
test
test
HTMLの出力
 HTMLの出力はechoを利用する
※ echoは関数ではないため、括弧が不要なことに注意
<?php
echo ‘ここに文字列や数値を書くと画面に出力される!’;
// 変数でも可!
$name = ‘山田 太郎’;
echo $name;
参考
「php.net」
URL: http://php.net/manual/ja/
おすすめポイント
PHPの公式サイト
関数の仕様などを調べる時に読む。
初心者でも読みやすいドキュメントが豊
富なのがPHPのいいところの一つ!
おすすめサイト
「ドットインストール」
URL:
http://dotinstall.com/lessons/basic_ph
p_v2
おすすめポイント
 プログラミングが学べる学習サイト一
回あたり3分の動画
※ PHP編は全30回
おすすめ本(?)
「詳細! PHP7 + MySQL」
価格: 3,218円(Kindle版: 966円)
※ Amazonの販売価格
おすすめポイント
 PHP7対応!

More Related Content

What's hot

PHPのタイプヒンティング
PHPのタイプヒンティングPHPのタイプヒンティング
PHPのタイプヒンティングHidetaka Okamoto
 
おいしいLisp
おいしいLispおいしいLisp
おいしいLispKent Ohashi
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話bleis tift
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011Rui Hirokawa
 
ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】株式会社ランチェスター
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門y-uti
 
関西Scala勉強会 パターンマッチング
関西Scala勉強会 パターンマッチング関西Scala勉強会 パターンマッチング
関西Scala勉強会 パターンマッチングNaoki Wada
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~Nobuhisa Koizumi
 
2011年10月28日
2011年10月28日2011年10月28日
2011年10月28日nukaemon
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数Wataru Terada
 
2018年夏のPerl5
2018年夏のPerl52018年夏のPerl5
2018年夏のPerl5charsbar
 

What's hot (14)

PHPのタイプヒンティング
PHPのタイプヒンティングPHPのタイプヒンティング
PHPのタイプヒンティング
 
おいしいLisp
おいしいLispおいしいLisp
おいしいLisp
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011
 
ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門
 
関西Scala勉強会 パターンマッチング
関西Scala勉強会 パターンマッチング関西Scala勉強会 パターンマッチング
関西Scala勉強会 パターンマッチング
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
 
2011年10月28日
2011年10月28日2011年10月28日
2011年10月28日
 
HHVM Hack
HHVM HackHHVM Hack
HHVM Hack
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
PHP7を魔改造した話
PHP7を魔改造した話PHP7を魔改造した話
PHP7を魔改造した話
 
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
 
2018年夏のPerl5
2018年夏のPerl52018年夏のPerl5
2018年夏のPerl5
 

Similar to 第4回 PHPのおさらい

PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019Rui Hirokawa
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023Rui Hirokawa
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門Hiroaki Murayama
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜Hideo Kashioka
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方Soudai Sone
 
ライバルに差をつけろ! カスタム○○○ 猛特訓ゼミ!!!+α
ライバルに差をつけろ!カスタム○○○猛特訓ゼミ!!!+αライバルに差をつけろ!カスタム○○○猛特訓ゼミ!!!+α
ライバルに差をつけろ! カスタム○○○ 猛特訓ゼミ!!!+αtakashi ono
 
WordPressのためのphp基礎の基礎
WordPressのためのphp基礎の基礎WordPressのためのphp基礎の基礎
WordPressのためのphp基礎の基礎Yusuke Hayasaki
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021Rui Hirokawa
 
LaravelでAPI定義を管理する
LaravelでAPI定義を管理するLaravelでAPI定義を管理する
LaravelでAPI定義を管理するKenjiro Kubota
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門Hiroaki Murayama
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4leverages_event
 
Ruby 同好会宣言
Ruby 同好会宣言Ruby 同好会宣言
Ruby 同好会宣言Yuya Takeyama
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会Yuji Otani
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017Rui Hirokawa
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxHideo Kashioka
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerHideo Kashioka
 
Php初心者セッション2014ppt
Php初心者セッション2014pptPhp初心者セッション2014ppt
Php初心者セッション2014pptHideo Kashioka
 

Similar to 第4回 PHPのおさらい (20)

PHPの今とこれから2019
PHPの今とこれから2019PHPの今とこれから2019
PHPの今とこれから2019
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023
 
WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜
 
知って得する標準関数の使い方
知って得する標準関数の使い方知って得する標準関数の使い方
知って得する標準関数の使い方
 
ライバルに差をつけろ! カスタム○○○ 猛特訓ゼミ!!!+α
ライバルに差をつけろ!カスタム○○○猛特訓ゼミ!!!+αライバルに差をつけろ!カスタム○○○猛特訓ゼミ!!!+α
ライバルに差をつけろ! カスタム○○○ 猛特訓ゼミ!!!+α
 
WordPressのためのphp基礎の基礎
WordPressのためのphp基礎の基礎WordPressのためのphp基礎の基礎
WordPressのためのphp基礎の基礎
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021
 
LaravelでAPI定義を管理する
LaravelでAPI定義を管理するLaravelでAPI定義を管理する
LaravelでAPI定義を管理する
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門
 
WCO2012「PHP教室」
WCO2012「PHP教室」WCO2012「PHP教室」
WCO2012「PHP教室」
 
PHP 入門
PHP 入門PHP 入門
PHP 入門
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
Ruby 同好会宣言
Ruby 同好会宣言Ruby 同好会宣言
Ruby 同好会宣言
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
 
PHPの今とこれから2017
PHPの今とこれから2017PHPの今とこれから2017
PHPの今とこれから2017
 
PHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptxPHPCON_TOKYO_2022_Bigginer.pptx
PHPCON_TOKYO_2022_Bigginer.pptx
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 
Php初心者セッション2014ppt
Php初心者セッション2014pptPhp初心者セッション2014ppt
Php初心者セッション2014ppt
 

More from Sawada Makoto

ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライドSawada Makoto
 
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドSawada Makoto
 
システム開発について
システム開発についてシステム開発について
システム開発についてSawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみようSawada Makoto
 
第4回 データベース
第4回 データベース第4回 データベース
第4回 データベースSawada Makoto
 

More from Sawada Makoto (7)

ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライド
 
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
 
システム開発について
システム開発についてシステム開発について
システム開発について
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
PHP+DB
PHP+DBPHP+DB
PHP+DB
 
第4回 データベース
第4回 データベース第4回 データベース
第4回 データベース
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Recently uploaded (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

第4回 PHPのおさらい