【PHP】 基礎文法

PHPとは
 
HTML/CSSで作ったサイト:いつ誰が見ても同じサイト(静的サイト)
PHPで作ったサイト:ユーザーにより違う内容が配信される(動的サイト)
 
SNSやショッピングサイトといった高度なWebサービスを作るには、動的サイトを作る必要がある。
 
 
PHPの書き方
 
開始タグ <?php  と 終了タグ ?> の間にPHPを記述する。
ファイルの拡張子は .php とする。
PHPのファイルにはHTMLも書けるが、PHPのコードしか書かない場合は終了タグは書かない。
 
<?php
echo 'Hello hinako' .PHP_EOL ;
echo "Hi hinako" ;
〈解説〉
・echo:出力する
・文字列は"~"もしくは'~'で囲う。
・.PHP_EOLを付けると、環境に応じて適切に改行をしてくれる。
 
 
変数
$変数名 = '文字列' / 数字 ;
※値を変数に割り当てることを「代入」という。
 
変数を使うメリット
→変更に強くなる。値を変更する際、変数を定義している箇所のみ変更すればよい。
 
 
条件分岐
①if文
<?php
$signal = 'blue';
if ($signal === 'red') {
echo 'Stop!';
} elseif ($signal === 'yellow') {
echo 'Caution!';
} elseif ($signal === 'blue'){
echo 'Go!';
}
 
→ GO! と表示される。
 
②switch文
if文で書いたものをswitchで書き替えることができる。
<?php
$signal = 'blue';
switch ($signal) {
case 'red':
echo 'Stop';
break;
case 'yellow':
echo 'Caution!';
break;
case 'blue':
 case 'green':
echo 'Go!';
break;
}
if文でelse ifが続く場合は、switch文の方が適している。
switch文では
 case 'blue':
 case 'green':
というように複数のcaseを指定することができる。
 
 
ループ処理
①for文
繰り返す回数が決まっている場合に用いる。
<?php
for ($i = 1; $i <= 10; $i++) {
echo "$i - Hello" . PHP_EOL;
}
 
→ 1 - Hello
~ 10 - Hello
まで繰り返し表示される。
 
②while文
ある条件が満たされている間、特定の処理を繰り返す場合に用いる。
<?php
$hp = 100;
while ($hp > 0){
echo "Your HP: $hp" .PHP_EOL;
$hp -= 15;
}
 
→ Your HP: 100
 ~Your Hp: 10
までHPが15ずつ減り、繰り返し表示される。
※$hp -= 15; のような条件に関する処理を書き忘れると無限ループになってしまう。
 
※最初から条件を満たしていない場合は、何も処理されない。
do { } while ( );を用いると、条件を満たしていなくても一度は表示される。
do{
echo "Your HP: $hp" . PHP_EOL;
$hp -= 15;
} while ($hp > 0);
 
 
配列
<?php
 
//定義
//$配列名 = [値1, 値2, 値3...]; //インデックスは0から始まる
 
//例
$scores = [10, 30, 50];
 
echo $scores[1];  → 30と出力
 
$scores[1] = 70;  //値を変更できる
echo $scores[1];  → 70と出力
 
 
foreach
配列の全ての要素に対して処理を実行する
構文
 
foreach (配列名 as 変数名) {
処理...
}
 
変数名は任意で付けられる。
配列から値をひとつずつ取り出し、変数に代入してから、処理を実行する。
 
<?php
 
$scores = [10, 20, 30];
foreach ($scores as $score){
echo $score;  
}  
 
→ 10 20 30と出力