SlideShare une entreprise Scribd logo
1  sur  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対応!

Contenu connexe

Tendances

ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】ちょっと詳しくJavaScript 第2回【関数と引数】
ちょっと詳しくJavaScript 第2回【関数と引数】
株式会社ランチェスター
 
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 2
Ransui Iso
 

Tendances (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
 

Similaire à 第4回 PHPのおさらい

WebAPIではじめるphp入門
WebAPIではじめるphp入門WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
 
WordPressのためのphp基礎の基礎
WordPressのためのphp基礎の基礎WordPressのためのphp基礎の基礎
WordPressのためのphp基礎の基礎
Yusuke Hayasaki
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門
Hiroaki Murayama
 
Php5 4勉強会
Php5 4勉強会Php5 4勉強会
Php5 4勉強会
Yuji Otani
 

Similaire à 第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
 

Plus de 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回 データベース
 

Dernier

Dernier (11)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

第4回 PHPのおさらい