alienHRNの訓練日記

IT業界初心者で勉強中。

◆20200901 ヒアドキュメント 文字列連結演算子 配列リテラル 乱数 

本日の授業内容

 要約

○ヒアドキュメントについて

例)
$text1 = << < EOT
  ヒアドキュメントの文字列
  ヒアドキュメントの文字列
  ヒアドキュメントの文字列
  EOT;

この記述(赤字部分)をすると、ヒアドキュメント内の特殊文字と変数は展開される。

(通常は” ”で囲わないと展開されない)

長い文字列を変数に代入する際にもよく使われる。

 

○データ型の確認 var_dump(変数)

・データ型一覧
string→文字列型(” ”、’ ’で囲われた値)
int→整数
float, double→小数
boolean→真偽値
array→配列
null→変数の値なし
 

〇文字列連結演算子

JSでは+を使って文字列をつなげていたが

PHPでは . でつなげる。

 

〇配列リテラル
・配列の作成の仕方
$変数名[値,値,値, ];
 
 
○echoによるブラウザ出力
 
 
○乱数を扱う関数  mt_rand( )

 mt_rand(5, 15);

第一引数:乱数で表示させる最小値

第二引数:乱数で表示させる最大値

 

 

〇PHPの続き
ブラウザで表示する方法
http://localhost/フォルダ名1/フォルダ名2/01_test.php(ファイル名)
をブラウザのURLに入力


〇ヒアドキュメントの続き
  <? php
/*
PHP7.2までは終端IDをインデントなしで記述しないとエラー
PHP7.3から終端IDをインデントありで記述OK
終端IDのインデント位置を文字列の行頭として扱う
*/
$text1 = << < EOT
  ヒアドキュメントの文字列
  ヒアドキュメントの文字列
  ヒアドキュメントの文字列
  EOT;

  // ■ 終端IDのインデントより前に文字列があるとエラー
  // $text1 = <<< EOT
  //   ヒアドキュメントの文字列
  // ヒアドキュメントの文字列
  //   ヒアドキュメントの文字列
  //   EOT;

  // date関数の復習
  $todate=date('Y年m月d日です');
echo($todate);
// $変数名=date('Y/m/d')
// ↑これで今日の日付になる

?>


  〇データ型var dump

データ型一覧
string文字列型(” ”、’ ’で囲われた値
int整数
floatdouble小数
boolean真偽値
array配列
null変数の値なし


var_dump変数を入力することでブラウザでデータ型を表示させることができる

  <? php
    $val = 'おいしい水';//string(文字列型)
echo '<p>';
var_dump($val);
// ブラウザでstring(15)→()中はバイト数
// UTF8は全角文字1文字で3バイト(時々2バイトもある)
echo '<br>';
echo $val;
echo '</p>';

$val = 100;//int(整数)
echo '<p>';
var_dump($val);
echo '<br>';
echo $val;
echo '</p>';

$val = 200.5;//float(浮動小数点数
echo '<p>';
var_dump($val);
echo '<br>';
echo $val;
echo '</p>';

$val = true;//boolean(真偽値)
echo '<p>';
var_dump($val);
echo '<br>';
echo $val;
// echoで表示させるとブラウザでは文字列の数字の「1」が出る
// falseにするとechoでは何も表示されない。
// var_dumpで表示させると変数内の値が正確に表示される
// 変数内の値を正確に確認するときはvar_dump関数で確認すること!
echo '</p>';
  ?>


  〇文字列連結演算子
  <? php
$name = '田中';
echo "<h1>一回目の出力</h1>";
echo "こんにちは"."$name!!!";

echo "<h1>二回目の出力</h1>";
echo $name200;

// 型の違う値を文字連結する場合は
// データ型を文字列型に揃えてから連結
// 半角スペースと.を使う(+じゃないよ)
// 数字の前は半角スペースを使わないと小数点として扱われてエラーになる

?>


  〇配列リテラル復習も兼ねる
配列の作成
$変数名[, ・・・];

arrayを用いる場合
$変数名 = array(, ・・・)
  ()を使う

ブラケットで配列作成
$変数名[部屋番号] = ;

preタグについて
整形済みテキスト
コード上に記述したものをそのままブラウザ上に表示させる


  < h1 > 配列</h1 >
  <? php
    $fruits = [
  'いちご',
  'みかん',
  'りんご'
];
$shikoku = array(
  '高知県',
  '香川県',
  '愛媛県',
  '徳島県'
);
// 配列リテラルPHPのわりと新しいバージョンから使用可能

$northKanto = '茨城県';
$northKanto = '栃木県';
$northKanto = '群馬県';
// にすると勝手にこの場合0~2まで番号を順にふってくれる
// 繰り返し処理と合わせて使うことが多い
$hundred = [100100.0'100''百'];
// JSやPHPは配列内に異なるデータ型の値を持つことができる
// JAVA等は異なるデータ型はNG

echo '<h2>1回目の出力</h2>';
echo '<pre>';
var_dump($fruits);
echo '</pre>';

echo '<h2>2回目の出力</h2>';
echo '<pre>';
var_dump($shikoku);
echo '</pre>';

echo '<h2>3回目の出力</h2>';
echo '<pre>';
var_dump($northKanto);
echo '</pre>';
echo $northKanto[1];

echo '<h2>4回目の出力</h2>';
echo '<pre>';
var_dump($hundred);
echo '</pre>';
  ?>



  〇配列リテラルの応用
  <? php
    $fruits = ['いちご''みかん''りんご'];

echo '<h2>1回目の出力</h2>';
echo '<pre>';
var_dump($fruits);
echo '</pre>';

echo '<h2>2回目の出力</h2>';
echo $fruits[0];
echo '<br>';
echo $fruits[1];
echo '<br>';
echo $fruits[2];
echo '<br>';
echo count($fruits);
// count・・JSでいうlengthと同じ働き
// 部屋数を調べるときに使用する

echo '<h2>3回目の出力</h2>';
$fruits[1] = 'メロン';
echo '<pre>';
var_dump($fruits);
echo '</pre>';
echo $fruits[0];
echo '<br>';
echo $fruits[1];
echo '<br>';
echo $fruits[2];

echo '<h2>4回目の出力</h2>';
$fruits[3] = 'バナナ';
echo '<pre>';
var_dump($fruits);
echo '</pre>';
echo $fruits[0];
echo '<br>';
echo $fruits[1];
echo '<br>';
echo $fruits[2];
echo '<br>';
echo $fruits[3];
echo '<br>';
echo count($fruits);

echo '<h2>5回目の出力</h2>';
$fruits[] = 'スイカ';
echo '<pre>';
var_dump($fruits);
echo '</pre>';
echo $fruits[0];
echo '<br>';
echo $fruits[1];
echo '<br>';
echo $fruits[2];
echo '<br>';
echo $fruits[3];
echo '<br>';
echo $fruits[4];
echo '<br>';
echo count($fruits);

// 問題
// for文で配列内の値を出力
// 果物の名前の後に「さん」をつけること
$fruits = ['いちご''みかん''りんご'];
echo '<br>';
for ($i = 0$i < count($fruits); ++$i)
  // for文の作り方は同じ
  // PHPにおける変数iは$をつけてあげること
  // 変数名.length=count(変数名)
  echo $fruits[$i]. 'さん<br>';
echo count($fruits);



  ?>

  〇echo文によるタグ出力
  < h1 > echo文によるタグ出力</ >

<? php

  $src = 'img/b002.jpg'//src属性用変数
$alt = 'ねこにゃん'//alt属性用変数
echo '<p>';
echo '<img src="'.$src'" alt="'.$alt'">';
echo '</p>';

$srcList = [
  'img/b001.jpg',
  'img/b002.jpg',
  'img/b003.jpg',
  'img/b004.jpg'
];
$altList = [
  'DPH',
  'ねこにゃん',
  'もんちゃん',
  '部屋'
];
// $number = "2";
// echo '<p>';
// echo '<img src="' . $srcList[$number] . '" alt="' . $altList[$number] . '">';
// echo '</p>';

//  配列内の情報($srcList、$altList)を全て使って
//  for文を使って4枚の画像を表示させること

for ($i = 0$i < count({
  echo '<img src="' .$srcList[$i]. '" alt="' .$altList[$i]. '">';
};
// for文の作り方をよく復習しておくこと
            ?>


    〇乱数を扱う関数

    < h1 > 乱数生成</h1 >
  <? php
// mt_rand(void):int
// voidは空・虚の意味
// 引数部分「void」の場合は引数なしで呼出し
// 戻り値部分「void」の場合は戻り値なし
    echo '<h2>1回目の出力</h2>';
$rand1 = mt_rand();
echo '<p>'.$rand1. '</p>';
echo '<p>'.mt_getrandmax(). '</p>';

echo '<h2>2回目の出力</h2>';
$rand2 = mt_rand(5, 15);
// mt_rand(int $min,int $max ):int
// ↑の翻訳:関数名(データ型 説明用の名前,データ型 説明用の名前):戻り値の型
// 引数の説明は「パラメーター」に記載
// ここで説明用の名前を使って
echo '<p>'.$rand2. '</p>';
  ?>













【その他復習】aosプラグインについて
・作業手順
1、読み込み・初期化の記述(CDN読み込み形式)

< head >
  ...
  < !--CSS読み込み -->
  <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
</head>
  <body>
    ...
  <!-- JS読み込み -->
  <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
    <!-- 初期化する -->
  <script>
      AOS.init();
      →ここに詳細設定の記述をすることも可能


      例))
      AOS.init({
        offset: 120,
  delay: 0,
  duration: 400,
  easing: 'ease',
  once: false,
  mirror: false,
  anchorPlacement: 'top-bottom',
});
  </script>


  </body>

2HTMLのアニメーションをさせたい各タグに記述

<!-- フェードアップ -->
<div data-aos="fade-up"></div>

  <!-- 回転 -->
<div data-aos="flip-left"></div>

  <!-- ズーム -->
  <div data-aos="zoom-in"></div>

これでふつうは動くようになるはずだが・・・・。