はじめに
こんにちは。
私は現在未経験の駆け出しエンジニアとして様々な学習をしています。
先日PHPの基礎文法について学んだので、自分のアウトプットように記事を残します。
初めての投稿になりますので至らない点がありましたら申し訳ございません。
基本記述
<?php
echo 'hallo world'.PHP_EOL;
echo 'good morning!'.PHP_EOL;
?>
hallo world
good morning!
PHP_EOLはPHPの定義済み定数であり、OSに応じて自動的に改行文字を設定してくれる。
nowdoc(ナウドキュメント)とheredoc(ヒアドキュメント)
<?php
$a = 'こんにちわ'; //$変数を宣言
$text = <<<"EOT"
hello!
this is looooong
text!
$a
EOT;
echo $text;
hello!
this is looooong
text!
こんにちわ
$変数 = <<<"EOT"
処理内容
EOT;
とすることでここに書いたテキストや字下げを保持したまま変数に代入してくれる。
EOT部分を終端記号と呼ぶ。
またこの処理内に変数を展開することをheredoc(ヒアドキュメント)、変数展開しない書き方をnowdoc(ナウドキュメント)と呼ぶ。
if文
if(条件){
処理
}
自分が初めて知った事として、このような記述があるとします。
$x = 4;
if(x){
echo '結果はtrueです';
} else {
echo '結果はfalseです';
}
これの結果は、、、
結果はtrueです
真偽値の判定において、
false. ±0, ±0.0, '0', '', null, [],
上記がfalseとして扱われる。
論理演算子
$score = 60;
$name = 'tanaka';
if ($score >= 50 && $name === 'tanaka'){
echo 'Good job!'.PHP_EOL;
}
// && and なおかつ
// || or もしくわ
// ! ~ではない
Good job!
スコアが50以上で名前がtanakaさんの場合に処理を実行する。
switch文
switch($変数){
case ‘判定したい値’: //コロン
echo 処理;
break; //ここで処理を止める
}
$signal = 'blue';
switch($signal){
case 'red':
echo 'Stop!' . PHP_EOL;
break;
case 'yellow':
echo 'Caution!' . PHP_EOL;
break;
case 'blue':
echo 'Go!' . PHP_EOL;
break;
}
Go!
breakを書き忘れると全て実行されてしまうので注意。
また、default:を使うと、どれにも当てはまらないが何らかの処理をしなさいと命令できる。
$signal = 'pink';
switch ($signal) {
case 'red':
echo 'Stop!' . PHP_EOL;
break;
case 'yellow':
echo 'Caution!' . PHP_EOL;
break;
case 'blue':
case 'green':
echo 'Go!' . PHP_EOL;
break;
default:
echo 'Wrongsignal'. PHP_EOL;
break;
}
Wrongsignal
関数
function 関数名(){
//ここに処理内容
}
関数名(); //これで呼び出しができる。
function showAd($message = 'Ad') //仮引数
{
echo '----------' . PHP_EOL;
echo '---'.$message. '---' . PHP_EOL;
echo '----------' . PHP_EOL;
}
showAd('Header Ad');//実引数
echo 'Tom is great!' . PHP_EOL;
echo 'Bob is great!' . PHP_EOL;
showAd();
echo 'Steve is great!' . PHP_EOL;
echo 'Bob is great!' . PHP_EOL;
showAd('footer Ad');
----------
---Header Ad---
----------
Tom is great!
Bob is great!
----------
---Ad---
----------
Steve is great!
Bob is great!
----------
---footer Ad---
----------
関数を使う場合は外から変数を持って来れない。
外から持ってきたい場合は global $変数; の記述が必要。