PHP文法基礎まとめ1


はじめに

PHP初心者向けに基礎内容をまとめました。
PHP文法基礎まとめ2はこちら

基礎・データ型

文字の出力・連結

echoを使うことにより、文字を出力することができ、「.」で文字を連結することができます。echoの場合は「,」で連結することもできます。

echo 'hello world! ';
echo 'hello'.' world!! ';
echo 'hello', ' world!!!';
hello world! hello world!! hello world!!!

変数・データ型

PHPの場合、先頭に$をつけて変数を宣言します。変数へデータを格納することにより、以降のソースコードで変数の中身を参照することができます。
変数に適用される、主なデータ型は下記のようになっています。
・文字 ⇒ string型
・数値 ⇒ int型、float型
・真偽値(true / false) ⇒ boolean型

$num = 100;
$str = 'PHP基礎';
$bool = true;

echo 'num = '. $num . '<br>';
echo 'str = '. $str . '<br>';
echo 'bool = '. $bool . '<br>';
num = 100
str = 'PHP基礎'
bool = 1

コメント

コメントは、ソースコードの目的や説明を正しく伝えるために記述します。コメントを記述しておくことで、他の人が内容を理解するのに役立ちます。
1行コメントする場合は、行頭に「//」を使用します。複数行コメントする場合はコメント範囲を「/* */」で囲みます。

// hello worldを出力する
echo 'hello world1';

/*
 echo 'hello world2';
 echo 'hello world3';
*/
hello world1

四則演算

データの演算を行うには、以下の演算子を使用します。

$num1 = 100 + 200;
$num2 = 200 - 100;
$num3 = 100 * 2;   // 掛け算
$num4 = 200 / 10; // 割り算
$num5 = 10 % 3;    // 余り

echo 'num1 = '. $num1 . '<br>';
echo 'num2 = '. $num2 . '<br>';
echo 'num3 = '. $num3 . '<br>';
echo 'num4 = '. $num4 . '<br>';
echo 'num5 = '. $num5 . '<br>';
num1 = 300
num2 = 100
num3 = 200
num4 = 20
num5 = 1

論理演算子

・論理積(&&もしくはand) ⇒ 左右の式が共にtrueであればtrue
・論理和(||もしくはor) ⇒ 左右の式のどちらかがtrueであればtrue
・否定(!) ⇒ trueであればfalseに、falseであればtrueになる

$a = (true && false);
$b = (true || false);
$c = !true;

echo 'a = ', var_dump($a), '<br>';
echo 'b = ', var_dump($b), '<br>';
echo 'c = ', var_dump($c), '<br>';
a = bool(false)
b = bool(true)
c = bool(false)

定数

定数は変更のできない値です。原則大文字で定義します。

define('MAX_VALUE', '1.0');
echo 'MAX_VALUE = '. MAX_VALUE
MAX_VALUE = 1.0

制御構造

条件分岐(if文)

if文の中に条件を作り、YesかNoかによって処理を分けることができます。
Yesであれば直後の処理を通り、Noの場合はelseを通ります。elseifで再度条件を作ることもできます。

$age = 25;

if ($age <= 20){
  echo 'under 20';
}elseif ($age >= 25){
  echo 'over 25';
}else{
  echo '21 - 24';
}
over 25

条件分岐(switch文)

switch文は一致する値があれば、該当するcaseの処理を通ります。
全てのcaseに該当しない時は、最後のdefaultの処理を通ることになります。

$age = 25;

switch ($age){
  case 20:
    echo 'hit 20!';
    break;
  case 25:
    echo 'hit 25!';
    break;
  default:
    echo 'no hit!';
    break;
}
hit 25!

ループ処理(for文)

for文は決まった回数分処理を繰り返したい場合に使用します。
以下では、処理が1回繰り返すごとに$valの値が1ずつ増加し、5を超えた時にループを抜けます。

for($val = 1; $val <= 5; $val++){
  echo 'val = '. $val . '<br>';
}
val = 1
val = 2
val = 3
val = 4
val = 5

ループ処理(while文)

while文は指定した条件がtrueの間は処理を繰り返し行います。
以下では、処理が1回繰り返すごとに$valの値が1ずつ増加し、5を超えた時にループを抜けます。

$val = 0;

while ($val < 5) {
  echo 'val = '. $val . '<br>';
$val++;
}
val = 0
val = 1
val = 2
val = 3
val = 4

配列

配列

配列は複数のデータを一つの名前で管理したい時に使います。
[]で括る書き方は、array()の書き方を省略したもので、同じ意味になります。

$colors = array("red","blue","yellow");
$colors2 = ["red","blue","yellow"];

echo 'colors[0] = '. $colors[0] . '<br>';
echo 'colors[1] = '. $colors[1] . '<br>';
echo 'colors2[0] = '. $colors2[0] . '<br>';
echo 'colors2[1] = '. $colors2[1] . '<br>';
colors[0] = red
colors[1] = blue
colors2[0] = red
colors2[1] = blue

連想配列

連想配列とは、配列の添え字に数値以外のデータ型(主に文字列)を使用した配列のことを言います。

$members = [
  'name' => 'tanaka',
  'age' => 20
];
echo 'name = '. $members['name'] . '<br>';
echo 'age = '. $members['age'] . '<br>';
name = tanaka
age = 20

list

配列の内容を複数の変数へ代入を行います。
[]を使えば省略して記述することができ、配列とlistの変数の数が一致しない場合は、一致する値が順番に代入されます。

list($a, $b, $c) = array("red","blue","yellow");
[$d, $e] = array("red","blue","yellow");

echo "a = $a<br>";
echo "b = $b<br>";
echo "c = $c<br>";
echo "d = $d<br>";
echo "e = $e<br>";
a = red
b = blue
c = yellow
d = red
e = blue

関数

関数

関数は、複数の処理を一つにまとめたものです。functionで定義し、引数と戻り値が存在します。

function hello(){
  echo 'Hello ';
  echo 'World!' . '<br>';
}

function hello2($name){
  $str = "Hello $name";
  return $str;
}

hello();
$ret = hello2('yamada');
echo $ret;
Hello World!
Hello yamada

以上です。