PHP入門 ~基礎知識編~
PHPとは
php.net(公式ドキュメント)によると、PHPとは『Web開発に特に特化した「人気」の汎用のあるスクリプト言語』とあります。
※スクリプト言語とは比較的単純なプログラムを記述するための簡易的なプログラミング言語を指します。
PHPの実行
- 拡張子「.php」でファイルを作成
- phpは<?php ?>で囲われた範囲内に記述
- .phpファイルをサーバーにアップロードして実行
データ型
PHPで扱うデータには「型」と呼ばれるデータの種類が存在します。
- 文字列 (str) → "あいうえお"
- 整数 (int) → 7
- 浮動小数点(float) → 7.7
- 論理値 (bool) → true, false
以上の4つを覚えておけばとりあえず問題ないと思います。
変数
PHPではデータを変数に入れることができます。
数学でいうところの「X = 2とする」というようなやつですね。
$var = "有給";
echo $var; // 「有給」と出力される
以上のようにすることで「$var」に「有給」が代入されます。
変数を宣言する際には、変数名(今回は「var」)の前に「$」を付けなければなりません。
配列
配列は変数とよく似ています。
任意の配列名を付けてデータを格納することができます。
ここまでは変数と同じですが、変数と違う点として「複数のデータを格納できる」という点があります。
それから、配列の中のデータのことを要素といいます。
配列は以下のように定義をします。
どちらで書いても変わりはないので書きやすい方で良いと思います。
$arr_1 = array("リゾット", "グラタン", "ドドリア");
$arr_2 = ["ウイスキー", "バーボン", "ザーボン"];
- 要素の追加方法
$arr_1[] = "ラザニア";
以上のようにすることで配列の末尾にラザニアが追加されます。
- 要素の取り出し方法
配列の中の要素にはそれぞれ値を取り出すための「キー」があります。配列の一番左のものから順番に、
リゾット → 0
グラタン → 1
グラタン → 2
ラザニア → 3
という「キー」が自動で割り振られます。このキーを使って要素を取り出します。
echo $arr_1[0]; // リゾット
echo $arr_1[3]; // ラザニア
- 要素の更新(上書き)
変数を定義するときのように、更新したい要素に新たにデータを代入すれば更新できます。
echo $arr_1[0]; // リゾット
$arr_1[0] = "ドリアン";
echo $arr_1[0]; // ドリアン
連想配列
連想配列は配列の一種です。とよく説明されますがそんなことはないです。
配列の中の「キー」が「0、1,2・・・」ではなく、自身で「キー名」を定義したものを連想配列と呼ぶ人がいるだけです。
連想配列と言われても難しく考えることなく、「キー」が標準じゃないだけね(笑)と思っておきましょう。
配列を定義するときにキーも設定する方法は以下に記載しておきます。
$downtown = [
"boke" => "matsumoto",
"stukkomi" => "hamada",
];
echo $downdown["boke"]; // matsumoto
連想配列のいいところはキーをわかりやすく設定できることで可読性が上がることですね。
配列の中身を知らなくても、だうんたうん・・ボケ・・・というだけで何が出力されるかわかりやすいですね。
配列の概念がよくわからない人は棚を想像してみるとわかりやすいかもしれません。
引っ越しの時に段ボールに何が入っているか書いていく作業が変数の定義だとしましょう。すると押入れの棚に段ボールを1段ずつしまっていく作業が配列にデータをしまう作業と考えることができます。
// 変数の定義
$box_1 = "食器";
$tana = [
"box_1" => "食器",
"box_2" => "電子機器",
"box_3" => "衣類",
];
四則演算+α
PHPを使うことで計算をすることができます。
- 加法 (+)
8 + 2 // 10
- 減法 (-)
8 - 2 // 6
- 乗法 (*)
8 * 2 // 16
- 除法 (/)
8 / 2 // 4
- 剰余 (%)
剰余とは割り算の余りのことを言います。
8 % 3 // 2
変数に入れた数値を計算することもできます。
$int_1 = 3;
$int_2 = 7;
echo $int_1 * $int_2 // 計算結果は21
整数以外に文字列も足し算することができます。
文字列を足し算するときには「+」ではなく「.(ドット)」を使います。
$str_1 = "有給が";
$str_2 = "欲しいです!";
$sentence = $str_1 . $str_2;
echo $sentence //「有給が欲しいです!」となる
比較演算子
複数の値のデータ型や値の大きさを比較したいときに池の演算子が使えます。
例 | 名前 | 結果 |
---|---|---|
$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 |
条件文
ifを使うことで条件ごとの処理を実装できます。
if (条件1) {
// 条件1に合えばこの処理が実行
} elseif (条件2) {
// 条件2に合えばこの処理が実行
} else {
// 条件1にも2にも合わないときはこの処理が実行
}
例えば、年齢($age)によって出力するコメントを変更する
複数の条件を設定したいときには「&&」もしくは「||」が使えます。
「&&」は「かつ」という意味で、どちらの条件も満たしているときにtrueとなります。
「||」は「または」という意味で、どちらかの条件を満たしていればtrueとなります。
if ($age < 18) { // 年齢が18歳より若い
echo "心身ともに成長期!";
} elseif ($age >= 18 && $age <=24) { // 年齢が18歳から24歳の間のとき
echo "まだまだエネルギッシュ!";
} else { // 年齢が25歳よりも上
echo "若い子とは経験値が違うから・・・";
}
ループ処理
ある特定の回数、処理を実行したいときに使います。
例えば、「年齢の数だけ豆を食べる」「あたりが出るまでくじを引く」なんかがループ処理に当たります。
PHPのループ処理は「for」「while」「foreach」の3つを抑えておく必要があります。
- for
for文は指定した回数ループを繰り返すという処理を実装するときに役立ちます。
上の例の中でいうと「年の数だけ豆を食べる」が当てはまりますね。
- 初期値を設定。
「$i = 0」これで$iを0に設定しました。 - 条件式をチェック。
「$i < 100」これが条件式になります。$iが100よりも小さいがtrueならfor文の中の処理を実行します。 - ループの最後の処理を実行。
「$i++」がループの最後に実行される処理です。「豆を食べた」の後に$i++(インクリメント)が実行されて$iに1が足されます。
for ($i = 0; $i < 100; $i++) {
echo "豆を食べた";
}
- while
whileは設定した条件を満たすまでループを繰り返すという処理を実装する時に役立ちます。上の例でいうと「あたりが出るまでくじを引く」が当てはまります。
while ($kuji != "あたり") { // 条件式
$random_number = mt_rand(1, 2);
if ($random_number == 2) {
$kuji = "あたり";
} else {
$kuji = "はずれ";
}
}
- foreach
foreachは配列ととても親和性が高いループ処理になります。配列の要素を頭から順番にあるだけ取り出すという処理を実装できます。
例えば以下のような世界三大珍味の名前が入った配列をforeachでループさせると、要素の数は3つなので3周することになります。
取り出した要素はas以下の変数に格納されます。
$chinmis = ["キャビア", "フォアグラ", "TKG"];
foreach ($chinmi as $chinmi) {
echo $chinmi . "は珍味";
}
初学者が最低限抑えておいた方がいいであろう事柄についてまとめました。
この投稿に書かれていることをマスターしてから応用的なことを学習していけばいいのではないかと思います。
次回は関数編
Discussion