クロピグログ

職業訓練で学んだことまとめ

【PHP授業十日目】クッキー・セッション(続き3)、関数

クッキー・セッション(続き3)

・クッキー

端末を特定したうえで値を扱いたい

・セッション

悩んだらこっち使う、安全性高いので

 

関数

●基本的にJSと一緒(プログラミングは基本考え方一緒)

 

 function attack()
{
  echo '攻撃した!!<br>';
}

■関数定義部分

・呼び出さないと中の処理が実行されない

・引数:なし

     関数名の後にある()を確認

     ()内に記述がないので引数なし

・戻り値:なし

     returnの記述を確認

     returnの記述がないので戻り値なし

 

●エラーになるので注意な書き方

function attack($name)
{
  echo $name . 'は攻撃した!!<br>';
}
attack(); 結果:エラー

・定義部分で受け取る引数を渡さないと「Fatal error」になる

 

●エラーの回避方法

function attack($name = '名無しさん')
{
  echo $name . 'は攻撃した!!<br>';
}
attack(); 結果:名無しさんは攻撃した!!

・引数に代入処理を記述しておくと引数が届かなかった時に利用する初期値になるので、引数が必須引数から省略可引数に変わる

 

●引数が複数の時の注意

function magic($name = '名無し', $magicName)
{
  echo $name . 'は' . $magicName . 'を唱えた!<br>';
}
magic('メラム'); 結果:エラー

■エラーになる

・省略可引数は必須引数の後で定義しなければいけない

・必須引数の後に省略可引数を定義していればOK

・必須引数と省略可引数が混在する場合は受け取り順序を考慮する

↓これならうまくいく

function magic($name, $magicName = '名無し')
{
echo $name . 'は' . $magicName . 'を唱えた!<br>';
}
magic('田中'); 結果:田中は名無しを唱えた!

・最後の引数に省略可引数を定義しているからOK

 

f:id:chromiumpig:20200917160100p:plain