1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHP基礎メモその1

Posted at

#PHPの書き方
PHPはHTMLに埋め込んで使うことができる。の中にPHPの命令を書いていく。

の部分がHTMLに変換された上で表示される。
PHPのコード

PHP

初級 '; ?> ``` >```html:HTMLに変換されたコード

PHP

初級

```

#PHPの文法
PHPでは文末にセミコロン『;』を使って文を区切る。セミコロンを忘れるとエラーが起きるので注意する。

index.php

#文字列を出力
『echo』は文字列などを出力するための命令である。文字列を出力する場合はシングルクォーテーション『'』かダブルクォーテーション『"』で囲む。
>```php
<?php echo "Hello, World!"; ?>
// 結果 Hello, World!
>
<?php echo 'Hello, PHP!'; ?>
// 結果 Hello, PHP!

#計算

echo 7 + 3;
echo 2 - 1;
echo 3 * 6;
echo 4 / 2;
echo 5 % 2;


#変数
頭に『$』記号をつけることにより変数を定義できる。『$変数名 = 値;』で様々な値を変数に入れることができる。
>```php 
<?php
  $name = 'Bob';
  echo $name;
?>

結果
Bob

// 正方形の面積を計算
$length = 7;
$area = $length * $length;
echo $area;


結果
49

#文字の連結
『.』記号を用いると文字を連結することができる。
>```php
$lesson = 'PHP';
echo $lesson.'入門';
// 結果: PHP入門
>
$level = '入門';
echo $lesson.$lrvel;
// 結果: PHP入門

『.=』を用いると変数の文字列の連結を省略して書くことができる。

$name = '山田';
$name .= '太郎';
// $name = $name.'太郎'と同じ意味

echo $name;


結果
山田太郎

#変数展開
>```PHP
$name = 'takahashi';
echo "こんにちは、{$name}さん";
// 結果: こんにちは、takahashiさん
>
// シングルクォーテーションで囲んだ場合は変数展開されない
echo 'こんにちは、{$name}さん';
// 結果: こんにちは、{$name}さん

#if文 else elseif文
if文を使うと条件に応じて処理を分岐できる。

$x = 20;
if ($x > 10) {
echo '$xは10より大きい';
}


結果
$xは10より大きい

elseはifの条件がfalseであった場合、elseの処理が実行される。
>```php
$x = 20;
if ($x == 30) {
  // 処理は実行されない
  echo '$xは30です';
} else {
  // 処理は実行される
  echo '$xは30ではありません';
}

結果
$xは30です

elseifを用いることで、多岐分岐が可能になる。

$x = 20;
if ($x > 30) {
// falseであるため実行されない
echo '$xは30より大きい';
} elseif ($x >= 20) {
// trueであるため実行される
echo '$xは30以下20以上';
} else {
// すでに当てはまる条件があったため実行されない
echo '$xは20より小さい';
}


結果 
$xは30以上20以下

#論理演算子
『&&』は『かつ』、『||』は『または』
>```php
$x = 20;
if ($x > 10 && $x < 30) {
  echo '$xは10より大きい、かつ30より小さい';
}
if ($x < 10 || $x > 30) {
  echo '$xは10より小さい、または30より大きい';
}

結果
$xは10より大きい、かつ30より小さい

#条件の否定
『!』も論理演算子の1つであり、条件の否定ができる。
条件の否定は条件式のtrueとfalseが逆になる

$x = 20;
if (!($x == 30)) {
echo '$xは30ではない';
}


結果
$xは30ではない

#switch文
switch文はswitch(式)の(式)がcaseの値と一致したとき、そのブロックが実行される。caseのどれにも一致しなかった時、defaultのブロックが実行される。
>```php
switch ($coin) {
  case 0:
    echo '表';
    break;
  case 1:
    echo '裏';
    break;
  default:
    echo 'エラー';
    break;
}

caseブロックの最後にはbreak命令を指定する。break命令は現在のブロックから脱出するための命令である。break命令がないと、後ろに続くcaseブロックが続けて実行される。

#配列
配列の基本構文は『$配列名 = array (値1,値2,・・・);』となっている。
配列のデータには先頭から0,1,2,・・・と順にインデックス番号が割り振られている。
配列のデータを取り出すにはインデックス番号を用いて$配列名[インデックス番号]とする。

$name = array('jhon', 'kate', 'bob');

echo $names[0];
// 結果: john

echo $names[1];
// 結果: kate


値の追加は、『$配列名[] = 値;』とすることで追加できる。
すでに存在するインデックス番号を指定すると、配列の値を上書きすることもできる。
>```php
$names = array('john', 'kate', 'bob');
// 配列の末尾に値を追加する
$names[] = 'Mary'; 
echo $names[3];
// 結果: Mary
>
// 値の上書き
$names[1] = 'jane'
echo $names[1]; 
// 結果: jane

#連想配列
$配列名 = array('キー名' => '値1', ・・・); のように、 => を用いてキーと値をセットする。

$user = array(
'name' => 'emi',
'age' => 14,
'gender' => 'male'
);


値の取り出すには、対応するキーを用いて『配列名[キー];』のようにする。
>```php
$user = array(
  'name' => 'dai',
  'age'  => 14
);
>
echo $user['name'];
// 結果: dai

『配列名[キー] = 値;』のようにすることで、連想配列にデータを追加することができる。

$user['level'] = 'beginner';


#for文
for文は、 for (①初期化; ②ループの条件; ④変数の更新) { ③繰り返す処理; } のように書く。
>```php
for ($i = 1; $i <= 100; $i++) {
  echo $i.'<br>';
}

結果
1
2
3



100

#while文
while文は

①初期化
while (②ループの条件 ) {
③繰り返す処理;
④変数の更新;
}


のように書く。

>```php
$i = 1;
while ($i <= 100) {
  echo $i;
  $i++;
}

#break文
break文は現在のループを強制的に中断する命令である。

for ($i = 1; $i <= 10; $i++) {
if ($i > 5) {
// $iが6になった段階でfor文を終了
break;
}
echo $i;
}


結果
12345

#continue文
continue文は現在の週だけスキップし、ループそのものは継続して実行する。
>```php
for ($i = 1; $i <= 10; $i++) {
  if ($i % 3 == 0) {
    continue;
  }
  echo $i;
}

結果
123457810 (3の倍数)

#foreach文
foreach文は配列または連想配列に対して、先頭のデータから順に繰り返し処理を行うための命令である。
『as』の後ろの変数に、ループの度にデータが先頭から順に代入される。

$towns = array('東京', '大阪', '京都');
foreach ($towns as $town) {
echo $town.' ';
}


結果
東京 大阪 京都

foreach文では、配列内のデータが順次『キー変数』、『値変数』に代入され、それに対して処理が繰り返し適用される。
>```php
foreach (配列 as 値変数) {
  繰り返したい処理;
}
foreach (配列 as キー変数 => 値変数) {
  繰り返したい処理;
}

下記のコードでは果物の名前を『キー』として、その色を『値』として保持している連想配列である。
1週目のループでは$keyに'Apple'、$valueに'Red'が、2週目のループでは$keyに'Banana'、$valueに'Yellow'が入っている。

$colors = array(
'Apple' => 'Red',
'Banana' => 'Yellow',
'Grape' => 'Purple'
);
foreach ($colors as $key => $value) {
echo $key.':'.$value.' ';
}


結果
Apple:Red Banana:Yellow Grape:Purple

#関数
関数はあるまとまった処理を行い、値を返すものである。
関数には元から組み込まれているものが有り、それらは組み込み関数と呼ばれている。

strlen
strlenは組み込み関数の一つで、文字列の文字数を返す。
()の中に与える値を引数という。

>```php
echo strlen('takahashi');
// 結果 : 7
$user = 'ken'
echo strlen($user);
// 結果 : 3

count
配列の要素の数を返す関数

$towns = array('東京', '大阪', '京都');
echo count($towns);
// 結果 : 3


rand
ランダムな整数を返す関数
>```php
echo rand(1, 4);
// 1〜4のランダムな整数を返す
// 結果 : 2 

#関数の作成
関数は『function 関数名(){処理}』という書き方をする。

function hello() {
echo 'Hello, World!';
}


呼び出すには『関数名()』で呼び出す。
>```php
hello();

結果
Hello, World!

#引数
引数を関数内で使うには、それを受け取るための『仮引数』を関数の定義時に指定しておく必要がある。
仮関数が複数ある場合はカンマ(,)を用いて指定する。

関数の定義

function printSum($num1, $num2) {
echo $num1 + $num2;
}


関数の呼び出し
>```php
printSum(1, 3);

結果
4

#戻り値
戻り値は『return』で指定する。

関数の定義

function getSum($num1, $num2) {
return $num1 + $num2;
}


関数の呼び出し
>```php
$sum = getSum(1, 3);
echo $sum;

結果
4

formタグ(HTML)

フォームを作りたいときは、HTMLの<form>タグを用いる。
action属性にはデータを渡す先のURLを指定する。
method属性は値の送信方法で、『get』と『post』のどちらかを指定する。
getの場合は送信される値がurlに表示され、postの場合はurlに表示されない。

// フォームの内容 ```

#テキストボックス
テキストボックスを作るにはHTMLの<input type="text">を使う。
name属性は入力された値を取得する時に使う名前である。

email // 入力データに名前をつける 内容 // textareaは閉じタグが必要 > // 送信ボタン ```

#フォームのデータを受け取る
フォームで送信した値を受け取るには『$_POST』を使用する。
『$_POST』は連想配列になっている。[]の中に、<input>と<textarea>のname属性に指定した値を入れることで、それぞれの送信した値を受け取ることができる。

index.php
> > > > ``` ```php:sent.php ```

$_POSTの中身は連想配列になっている

$_POSTの中身

array(
'name' => 'takahashi',
'email' => 'ddd@d.com'
)


#セレクトボックス
セレクトボックスは<select>タグの中に<option>タグを並べる。
>```php:index.php
<form action="sent.php" method="post">
  <select name="fruit"> 
    <option value="apple" >りんご</option>
    <option value="banana">ばなな</option>
    <option value="orange">みかん</option>
  </select>
</form>
sent.php
<?php echo $_POST['fruit']; ?>

#繰り返し処理と変数展開
繰り返し処理と変数展開を用いて多数のoptionタグを作成する。

for ($i = 1; $i < 4; $i++) {
echo "{$i}";
}




1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?