PHPの基礎文法（初学者向け）

こんにちは、seki_miです。
本日はPHPの基礎について自身の復習を兼ねてアウトプット致します。

# 前提
・Macを使用していること
※PHPがデフォルトで存在するため。

# PHPとは?
PHPとは1996年頃に登場したプログラミング言語で、サーバーサイドのスクリプト言語です。
WEBサービス、WEBアプリケーション開発で使用されており、世界中で人気の言語でもあります。

※スクリプト言語...可読性が高く比較的簡単に書きやすい言語の総称。
※サーバーサイド...目に見えない部分の処理。WEB上でユーザーが操作したときに操作内容に応じたプログラムの開発と保守、データ管理やデータベースのアクセスなど。


# PHPの基礎文法

今回はターミナルで出力を行ないます。
まず、何でもいいのディレクトリを作成しその中に拡張子をphpにしたファイルを作成してください。
そのファイルに記述を行ない、実際にターミナルで想定していたものが出力されるかを検証します。

下記は出力方法の例です。

```
$ cd projects/PHP　※作成したディレクトリに移動
```
```
$ php index.php ※ファイル内の記述の出力結果を表示
```

#### PHPの記述方法
PHPの記述をする際は<?php ?>の中に記述してください。<?= ?>と略すことも可能です。

では、基礎文法を学んでいきましょう。

#### 文字列の表示
文字列の表示にはechoを用います。出力したい文字列は""（ダブルクォーテーション）または''（シングルクォーテーション）で囲んでください。最後は；（セミコロン）を付けて下さい。

例：

```php5:index.php
<?php echo "good morning";?>
 
```
出力結果

```
good morning
```
複数記述する場合は毎回<?php ?>囲むのではなくそのまま続けて記述して大丈夫です。

例：

```php5:index.php
<?php 
  echo "good morning";
  echo "good afternoon";
  echo "good evening";
?>
```
出力結果

```
good morninggood afternoongood evening
```
これだと繋がってしまい読みにくいので改行を入れましょう。
."\n"で改行することが出来ます。

例：

```php5:index.php
<?php 
  echo "good morning"."\n";
  echo "good afternoon"."\n";
  echo "good evening"."\n";
?>
```
出力結果

```
good morning
good afternoon
good evening
```


#### 変数

続いて変数です。変数とは様々な文字列や数値を入れておく箱のようなものです。
PHPで変数を定義する場合は（＄）を用います。
下記の例だと変数nameの中に"kato"が入っているのでechoで出力すると"kato"が出力されます。


例：

```php5:index.php
<?php 
  $name = "kato" ;
  $Name = "sato" ;        //大文字は違う変数として認識される

  echo $name, $Name;  　　//　"kato,sato"を出力する

  $4name = "tanaka";　　　// 無効：数字で始まっている
  $_4name = "kawasaki";　// 有効：アンダースコアで始まっている
  $日本語　= "japanese";  // 有効:日本語
?>
```

#### データ型

続いてデータ型です。データ型とはデータを入れる箱の形です。データ型は様々あり、形によって入れることができるデータ（値）が変わります。例えば整数型（integer）、浮動小数点型（float）、文字列型（string）などになります。
データ型はgettypeを用いると取得できます。

例：

```php5:index.php
<?php 
$num01 = 123;
$num02 = 1.23;

echo $num01."\n"; //123
echo $num02."\n"; //1.23

echo gettype($num01)."\n"; //integer
echo gettype($num02)."\n"; //double　※float型でもdoubleと返される
var_dump($num02)."\n"; //float(1.23)　※float型とその値を表示できる

$string_a = "Hello";

echo $string_a . "\n";　　　　　//Hello

echo gettype($string_a)."\n"; //string

// boolean型 trueだと1、falseは何も表示されない
$a = 10;
$b = 1;
$bool01 = ($a < $b);
$bool02 = ($a > $b);

echo $bool01."\n"; //1
echo $bool02."\n"; // 表示無し
echo gettype($bool01)."\n"; //boolean
echo gettype($bool02)."\n"; //boolean
?>
```

#### 配列

最後は配列です。配列とは変数の値を複数格納できるものになります。
配列には2種類ありarrayと[ ]を用いる方法です。
また配列の中の値を部分的に取得する場合はインデックス番号を使います。
プログラミングでは順番として1から始まるのではなく0から始まるため、最初の値を取得したい場合は＄変数名[0]と指定します。

```php5:index.php
<?php 
  $a = array(3);　     //※3つの値を格納する 
$a[0] = "sato";　
$a[1] = "kato";
$a[2] = "takahashi";　//$a = ["sato","kato","takahashi"];となる

echo ($a[0]);　　//sato
echo ($a[1]);   //kato
echo ($a[2]);   //takahashi

$b = array("kato", "sato", "takahashi"); //3つの値が格納されている

echo ($b[0]). "\n";　//kato
echo ($b[1]). "\n"; //sato
echo ($b[2]). "\n"; //takahashi

//配列[]
$n = ["sato", "suzuki", "takahashi"];

$n[1] = "tanaka"; //2番目の値を更新する

echo ($n[0]). "\n";　//sato
echo ($n[1]). "\n"; //tanaka
echo ($n[2]). "\n"; //takahashi

//二次元配列

$v = [["sato", "kato"],["suzuki", "takahashi"]];  //配列が複数存在する場合

echo ($v[0][0]). "\n";　//sato
echo ($v[0][1]). "\n";　//kato
echo ($v[1][0]). "\n"; //suzuki
echo ($v[1][1]). "\n"; //takahashi

?>
```

以上になります。
これ以上紹介すると長くなってしまうので今日はここで終了させて頂きます。
最後までお読み頂きありがとうございます。

seki_mi