PHPの基礎
PHPはWebサーバ上で実行されるスクリプトのため、MAMPなどを使用して環境を構築してからはじめてください。
目次
-
- Hello world
- 文字列と数列
- コメント
- PHPタグ
- 計算
- 変数
- 出力
- ダブルクォーテーションとシングルクォーテーションの違い
- エスケープ文字
- データ型
- 条件分岐 if,else,elseif
- 論理演算子 && ||
- 繰り返し for
- 配列 array
Hello world
1 |
Hello world |
1 |
<?php echo 'Hello world!'; ?> |
文字列と数列
1 2 3 4 |
<?php echo 3+2; //結果: 5 echo '3+2'; //結果: 3+2 ?> |
コメント
1 2 3 4 5 6 7 8 9 10 11 12 |
//1行コメントが可能 /* このように記述すると 複数行のコメントが可能です。 */ /* /* これはダメな例。ネストは効きません。 */ */ |
PHPタグ
1 2 3 |
<?php //phpの開始 ?> //phpの終了 |
計算
1 2 3 4 5 6 7 8 9 10 11 |
(加算)echo 1 + 1; //2 (減算)echo 2 - 1; //1 (積) echo 2 * 2; //4 (商) echo 4 / 2; //2 (剰) echo 11 % 2; //1 インクリメント $a += 1; デクリメント $a -= 1; |
変数
1 2 3 4 5 6 7 |
<?php $title = '変数を使ってみよう'; ?> //$title を 変数といいます。 //左側の変数に、右側の何かを代入することができます。 //$titleに、「変数を使ってみよう」という文字列を、代入しました。 |
出力
1 2 3 4 5 6 7 |
<?php $title = '変数を使ってみよう'; ?> <!DOCTYPE html> <title><?php echo $title ?></title> //titleタグの中に、$titleを変数展開したものを出力します。 |
ダブルクォーテーションとシングルクォーテーションの違い
1 2 3 4 5 6 7 8 9 10 11 |
<?php $hellow="Hellow!"; $world="World!"; echo $hellow.$world; // 結果:Hellow!World! echo "hellow".'world'; // 結果:hellowworld echo "$hellow$world"; // 結果:Hellow!World! echo '$hellow$world'; // 結果:$hellow$world ?> //シングルクォーテションは、中身が変数のとき、変数展開されない |
エスケープ文字
ダブルクォーテーションで囲んだときに使用できる文字です。
1 2 3 4 5 6 7 8 9 10 |
\” ダブルクォート \n 改行 \r 復改 \t タブ \\ バックスラッシュ \$ ドル記号 \{ 左波括弧 \} 右波括弧 \[ 左角括弧 \] 右角括弧 |
データ型
1 2 3 4 5 6 |
<?php $a = 3; if (is_int($a)) { echo '$a[' . $a . ']'; //出力:3(整数のため、出力される) } ?> |
1 2 3 4 5 6 |
<?php $b = 3.14; if (is_float($b)) { echo '$b[' . $b . ']'; //出力:3.14(浮動小数点数型のため、出力される) } ?> |
1 2 3 4 5 6 |
<?php $c = '文字です'; if (is_string($c)) { echo $c; //出力:文字です } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $a = false; $b = 0; // trueの場合 if (is_bool($a) === true) { echo "trueです"; } // falseの場合 if (is_bool($b) === false) { echo "falseです"; } ?> |
条件分岐 if,else,elseif
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// $heightに自分の身長を代入 $height = 165; if($height >= 170) { echo 'あなたの身長は170cm以上です。'; } else { echo 'あなたの身長は170cm未満です。'; } $age = 18; if ($age >= 60) { echo '60才以上です。'; } elseif ($age >= 20) { echo '20才以上、60才未満です。'; } else { echo '20才未満の未成年です。'; } |
論理演算子 && ||
1 2 3 4 5 6 7 8 9 |
if ($x % 3 == 0 && $x % 5 == 0) { echo 'xは3の倍数かつ5の倍数です。'; } elseif ($x % 3 == 0) { echo 'xは3の倍数ですが5の倍数ではありません。'; } elseif ($x % 5 == 0) { echo 'xは5の倍数ですが3の倍数ではありません。'; } else { echo 'xは5の倍数でも3の倍数でもありません。'; } |
繰り返し for
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<?php //$iを1から10まで繰り返す for ($i = 1; $i <= 10; $i++) { echo $i; } //$iを1ずつ足す for ($i = 1; ; $i++) { //$iが10以上の場合は if ($i > 10) { //実行を終了します。 break; } //$iを出力します。 echo $i; } //$iに1を代入します $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; //$iに1を足してください $i++; } for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); //$iに1を代入します //$jに0を代入します //$jは$iに1を足します //$iを出力してください //$iに1を足します ?> |
参考:PHP: for – Manual
https://www.php.net/manual/ja/control-structures.for.php
配列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php //キーを使用した場合 $fruit[0] = 'メロン'; $fruit[1] = 'りんご'; $fruit[2] = 'パイナップル'; echo $fruit[1]; //りんご //キーを使用しない場合 $fruit[] = 'メロン'; $fruit[] = 'りんご'; $fruit[] = 'パイナップル'; echo $fruit[1]; //りんご //関数arrayを使用した場合 $fruit = array('メロン', 'りんご', 'パイナップル'); echo $fruit[1]; //りんご //foreachで配列を処理する場合 $fruit = array('メロン', 'りんご', 'パイナップル'); foreach( $fruit as $value ) { echo $value . '<br />'; } /* メロン りんご パイナップル */ |
連想配列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$fruit = array( 'melon' => 'メロン', 'apple' => 'りんご', 'pineapple' => 'パイナップル' ); foreach ($fruit as $key => $value) { echo '変数' . $key . '、は「' . $value . '」<br />'; } /* 変数melon、は「メロン」 変数apple、は「りんご」 変数pineapple、は「パイナップル」 */ |
連想配列2
1 2 3 4 5 6 7 |
$fruit = [ 'melon' => 'メロン', 'apple' => 'りんご', 'pineapple' => 'パイナップル' ]; //こんな記述もOK |
配列か調べる
1 2 3 4 5 6 |
<?php $fruit = array('メロン', 'りんご', 'パイナップル'); if( is_array( $fruit ) ) { echo '$fruitは配列です'; } |