クロピグログ

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

【PHP授業三日目】演算子、制御構文・比較演算子

演算子

●文字列連結代入演算子:「.=」

    $text2 = $text2 . 'お正月'//文字列連結した結果を変数に代入

 ↓代入演算子で短く記述

    $text3 .= 'お正月'

・JSでいう「$text3 += 'お正月'; 」

・HTMLコードを変数に代入しながら作成する際によく使う

 

●問題

好きな映画を配列で管理

番号付きリストで出力

HTMLコードを$codeに代入してから出力

  1.配列作成
  $movieList = ['永遠のゼロ''アイアンマン''パシフィックリム'];
  2.$codeにHTMLタグを代入※繰り返し処理
  $code = '<ol>';
  for ($i = 0$i < count($movieList); $i++) {
    $code .= '<li>' . $movieList[$i. '</li>';
  }
  $code .= '</ol>';
  3.echoで出力
  echo $code;

 

ソースコードの改行について

●生成されたソースコード見てみる

ソースコード(整理前)

<ol><li>永遠のゼロ</li><li>アイアンマン</li><li>パシフィックリム</li></ol>

改行されていないので、すごく見ずらい

 

●「\n」を使い改行

  $code = '<ol>' . "\n";
  for ($i = 0$i < count($movieList); $i++) {
    $code .= '<li>' . $movieList[$i. '</li>' . "\n";
  }
  $code .= '</ol>' . "\n";

※シングルクォート内だと、「\n」が文字列扱いになるので注意!

ソースコード(整理後)

<ol>
<li>永遠のゼロ</li>
<li>アイアンマン</li>
<li>パシフィックリム</li>
</ol>

●「\n」を「PHP_EOL」にしても改行可能(使用するとスマート)

  $code = '<ol>' . PHP_EOL;
  for ($i = 0$i < count($movieList); $i++) {
    $code .= '<li>' . $movieList[$i. '</li>' . PHP_EOL;
  }
  $code .= '</ol>' . PHP_EOL;

 

 

 比較演算子

●注意:数値型と文字列型の比較

$val = 10;
var_dump($val == '東京'); //false

・数値型と文字列型の比較なので数値型に揃えて確認(2020.09.03時点)

10 == 0 ←false

 ・PHP8からは数値型での型揃えではなく文字列型に型を揃えて確認になる

'10' == '東京' ←false

 

 

if文・論理演算子

●boolval関数

・引数で指定した値を真偽値に変換してくれる

・数値型0は真偽値に変換すると「false」になる

    $val = 0;
    var_dump($val); ←int(0)
    var_dump(boolval($val)); ←bool(false)
    if ($val) {
      echo 'true';
    } else {
      echo 'false';
    } ←false
 

 

元のデータ型 元の値 真偽値型変換
整数型 0 FALSE
整数型 10 TRUE
浮動小数点数 0.0 FALSE
浮動小数点数 2.5 TRUE
文字列型 ’'(空文字) FALSE
文字列型 ’0' FALSE
文字列型 ’あいう’ TRUE
配列型 [](空の配列) FALSE
配列型 [10,20] TRUE
Null型 null FALSE

 

 

 switch文

・JSとの違い1つだけある

・JSのswitch文:caseとの値比較に厳密等価演算子を使用

PHPのswitch文:caseとの値比較に等価演算子を使用

  $num = '3';
  switch ($num) {
    case 1:
      echo '1の処理';
      break;
    case 2:
      echo '2の処理';
      break;
    case 3:
      echo '3の処理'; ←表示される
      break;
    default:
      echo '該当なしの処理';
      break;
  }

 ※PHP8ではJSと一緒になる