職業訓練校

【職業訓練校 (プログラマー養成科)】 15週目まとめ ~ PHP プログラミング実習・基礎 / 現在の就職状況~

こんにちは。yuki(@Ryuki_4648)です。

プログラマー養成科の職業訓練・15週目のまとめです。

今週もPHPの授業です。

教科書は詳細! PHP 7+MySQL 入門ノートを使っています。
Amazonで見る→ 詳細! PHP 7+MySQL 入門ノート (日本語) 単行本

前回の14週目のまとめはこちらです。


【職業訓練校 (プログラマー養成科)】 14週目まとめ ~ PHP プログラミング実習・基礎 ~ 【習ったこと一覧】 こんにちは。yuki(@Ryuki_4648)です。 プログラマー養成科の職業訓練・14週目のまとめの「習ったこと一覧」の記事です。...


1.正規表現の続き


この日で正規表現の単元は終わりでした。
テキスト通りにコードを打ち、「クレジットカード番号を伏字にする」などをやりました。



preg_replace()を使って複雑な検索置換

$result = preg_replace($pattern, $replacement, $subject)

$result:置換後の文字列が入る
第1引数:$subjectの文字列を$patternのパターンで検索する
第2引数:マッチした値をすべて$replacementで。置換した新しい文字列を作る



▽ preg_replace


▽ preg-match


▽ preg_match_all



正規表現のまとめ(初級編)

今度別にまとめてみようと思います。




2.配列 -前半-


授業では、配列を作る、値を調べる、変更するなどのことをしました。


配列の書き方

個々の名前を一つずつ変数に入れることもできますが、チームごとに分けたい場合はこうします。
[]で囲っているところが配列です。

$teamA = [“高橋みなみ”, “小嶋陽菜”, “板野友美”, “篠田麻里子”];
$teamK = [“大島優子”, “秋元才加”, “宮澤佐江”, “倉持明日香”];
$teamB = [“柏木由紀”, “渡辺麻友”, “指原莉乃”, “仲川遥香”];


連想配列

名前だけでなく役職も合わせて扱いたい場合はこうします。

ここで使うのが連想配列です。

$array = [
キー1 => 値1
キー2 => 値2
キー3 => 値3
….
];

▽ 例を使って書いてみます。

$teamA = [
‘captain’ => “高橋みなみ”,
‘sub’ => “中村麻里子”,
‘member’ => “小嶋陽菜”
];

captain、sub、memberを「キー」(添え字)と、値を組み合わせて配列を作っています。
キーを使ってデータを連想配列に作り、変数 $teamAに入れています。
データが続く場合は「,」(カンマ)で区切ります。



インデックス配列

「値」のみが入っている配列は、インデックス配列と言います。

(注意) インデックス番号は0番からカウントしていきます。



PHPの授業 職業訓練校授業まとめ15週目 | idol-plus Webデザイン・職業訓練校・プログラミングまとめブログ by YUKI WORKS -独学・未経験・看護師からWebデザイナーとフロントエンドエンジニアに。-


配列の値をリスト表示する関数を作る

別記事にまとめました。

【PHP】配列の値をリスト表示して、初代AKB48メンバーをチーム分けする 現在、Webプログラマー養成科の職業訓練校でPHPの授業を受けています。 先日「配列」について学びました。 そこで「初代AK...



文字列から配列を作る

「,」(カンマ)や改行などで区切られた「文字列」から配列を作ることができます。

たとえば、
$akb48 = “前田敦子”, “大島優子”, “篠田麻里子”; というカンマで区切った配列から「配列」の形にすることができます。


PHPの授業 職業訓練校授業まとめ15週目 | idol-plus Webデザイン・職業訓練校・プログラミングまとめブログ by YUKI WORKS -独学・未経験・看護師からWebデザイナーとフロントエンドエンジニアに。-

▽ explode




配列から文字列を作る

次はさっきの逆です。

たとえば、
[“前田敦子”, “大島優子”, “篠田麻里子”]という配列
“前田敦子, 大島優子, 篠田麻里子”という、カンマで区切られた一つの文字列にすることができます。


▽ implode




配列の要素を削除する

array_splice()を使うと、配列から要素を削除することができます。

$remove = array_splice(&$array, $start, $length);

▽ array_splice()についての詳細や、コードは別記事にまとめました

【PHP】array_splice()を使って、乃木坂46の卒業メンバーを取り除く【配列】 現在、Webプログラマー養成科の職業訓練校でPHPの授業を受けています。 先日「配列」のarray_splice()について学び...

▽ array_splice




配列と配列を連結する方法

授業で習った連結方法は以下の3つです。

それぞれ結果が異なるので、どんな違いがあるのか調べて理解していきました。

  • +演算子で連結
  • array_merge()で連結
  • array_merge_recursive()で連結
  •   


▽ array_merge — ひとつまたは複数の配列をマージする


▽ array_merge_recursive — 一つ以上の配列を再帰的にマージする


▽ 配列演算子


▽ 【PHP入門】配列を結合するさまざまな方法まとめ!




2つの配列から「連想配列」をつくる

配列keysをキー、配列valuesを値にした連想配列を作ることができます。

$result = array_combine(keys, values)

▽ array_combine




配列を切り出して新しい配列を作る

$result = array_slice($array, $start, $length)

たとえば [“AKB48”, “SKE48”, “NMB48”] という配列$arrayがあったとします。
この配列で、$startで指定した位置から、$lengthで指定した長さの分だけ切り出し、$resultに代入します。



2.配列 -後半-


配列の後半部分は下の記事にまとめました。

【職業訓練校 (プログラマー養成科)】 15週目まとめ ~ PHP プログラミング実習・基礎(配列の後半部分)~ 以下記事の「配列」の部分が長くなったので、後半部分だけこっちに分けました。 https://idol-plus.net/2...



4.オブジェクト指向プログラミング


最後のJavaの単元で詳しく習うので、ここはさらっとやりました。

習ったものは、

  • クラス
  • インスタンス:クラスからつくあっれたもの
  • メソッド:実行できる処理
  • プロパティ:属性
  • new演算子:クラスからインスタンスを作るときに使う
  • クラスの定義方法…public $変数名
  • インスタンスの作り方…$変数 = new クラス名();
  • $this:インスタンス自身を示すもの
  • コンストラクタ:インスタンスが作られるときに、自動的に呼ばれる特殊な関数。__construct()という形で定義。「_」が2つあるのに注意。
  • 外部ファイルの読み込み方4種類
  • 授業では、require_once(“ファイル名.php”)で読み込んだ
  • スタティックプロパティ
  • スタティックメソッド
  • クラスメンバー
  • インスタンスメンバー
  • クラスの継承 extends
  • __toString
  •   



5.フォームの処理


続いて、フォーム処理の基礎について学びました。


ここでは、postリクエストするフォームを作成しています。



name属性が大事!!

★ここで非常に大事になるのがname属性です。
プログラム側に送る際の目印のようなものです。
「name属性の値」と「入力されたデータ(value属性の値)」がセットとなり、プログラム側に送信される仕組みになっています。


たとえば、名前欄に「白石麻衣」と入力したら「名前」と「白石麻衣」がセットになります。
こうすることで、どんなデータが送られてきたのかわかりやすくなります。




【PHP側の処理】
このような形で送られてきたデータを取得します。

$_POST[‘お名前’]

これを 変数(グローバル変数) と言います。
→出力すると、入力した「白石麻衣」が表示されます。



▽ フォームの処理


▽ PHP工房




クロスサイトスクリプティング(XSS対策)

不正なスクリプトを実行させないためのセキュリティ対策についても学びました。

htmlspecialchars(値, ENT_QUOTES, ‘UTF=8’)

▽ htmlspecialchars — 特殊文字を HTML エンティティに変換する




そのほか習ったこと

  • htmlspecialchars()を便利に使うためのユーザー定義関数es()
  • 文字エンコードを行うユーザー定義関数cken()
  •   

▽ exit — メッセージを出力し、現在のスクリプトを終了する


▽ isset()


▽ trim()




6.感想


配列、オブジェクト指向プログラミング、コールバック関数、es()など難しいことがたくさんあったので、まだまだ理解できていないところが多いです。

しっかり復習して追いついていけるようにしたいと思います。



7.現在の就職状況


先日二度目のキャリコンがあり、事務の方と面談をしました。

7月末から始まった授業ですが、就職状況は「氷河期」で、20~30代半ばの方しか採用されていない状況だそうです。