この研修では、この研修では、htdocs/LetsEngineer/curriculum/2-14
フォルダに課題を作成してください。フォルダの中に課題を作成してください。
今回は配列に関する便利な関数を見ていきたいと思います。
count(要素の数を数える)
<?php $members = ["tanaka", "sasaki", "kimura", "yoshida", "uchida"]; echo count($members); // => 5
sort(要素の並べ替え)
<?php $members = ["tanaka", "sasaki", "kimura", "yoshida", "uchida"]; sort($members); var_dump($members);
アルファベット順に並び変わったのが分かると思います。
また、アルファベットだけでなく、数字でも大丈夫です。
<?php $numbers = [26, 35, 17, 67, 45]; sort($numbers); var_dump($numbers);
数字も小さい順に並び変わったと思います。
sort
は返却値が論理値(true / false)なため、var_dump(sort($numbers))
としても、配列が表示されません。
そのため、一度ふつうにsort($numbers);
として、並び替えをした後、表示させてあげる必要があります。
sort
は主に配列で使用しますが、連想配列用の並び替えメソッドもあります。
今回説明はしませんが、並び替えが必要なときは どういう並び替えがしたいのか を考え、ケースバイケースで使用していきましょう。
PHP公式ドキュメント-配列 関数-
in_array(配列に中にある要素が存在しているか)
公式ドキュメント-in_array-
これは配列の中に、ある値が入っているかどうかを調べるためのものです。
例えば、先ほど使用した$members
の配列の中に「tanaka」があるか調べます。
<?php $members = ["tanaka", "sasaki", "kimura", "yoshida", "uchida"]; var_dump(in_array("tanaka", $members));
in_array
の公式は、
in_array(調べたい文字もしくは数値, 対象の配列) // 論理値が結果として返る => bool(true)
このin_array
はif文の条件でよく使用します。
例えば、配列の中に田中さんがいたら、「田中さんがいるよ!」と表示し、いなければ「田中さんはいないよ!」というプログラムは下記になります。
<?php $members = ["tanaka", "sasaki", "kimura", "yoshida", "uchida"]; if (in_array("tanaka", $members)) { echo "田中さんがいるよ!"; } else { echo "田中さんはいないよ!"; }
implode(配列を結合して文字列に変換)
<?php $members = ["tanaka", "sasaki", "kimura", "yoshida", "uchida"]; $atstr = implode("@", $members); var_dump($atstr);
まずは実際に出力させて結果を見てみてください。
implode
は第一引数で配列を結合させる際に入れたい文字を、第2引数で対象の配列を指定します。
逆に、「区切り文字は必要ないよ!ただ結合したいだけだよ!」というのであれば、対象の配列だけを指定すればとりあえず結合させることは可能です。
$atstr = implode($members);
explode(文字列を指定の区切りで配列にする)
公式ドキュメント-explode-
explode
はimplode
の逆です。
そのため、先に例を示します。
理解しやすいよう、
- 配列を
implode
で文字列にする - その文字列を
explode
でもとの配列に戻す
という手順でやります。
$members = ["tanaka", "sasaki", "kimura", "yoshida", "uchida"]; $atstr = implode("@", $members); var_dump($atstr); $re_members = explode("@", $atstr); var_dump($re_members);
今回は@を区切り文字として、配列に分割しました。
よく使うのはカンマ区切りの文字列を配列にするときです。
$str = "1,2,3,4,5"; $array = explode(",",$str); var_dump($array);
課題
- 各関数を1つずつ自分で試してください。
- 凝った内容にする必要はありません。
IT用語 SESに向けて準備しよう
3章では一つ一つの項目で数個のIT用語について調べていただきます。
どの用語もSESでよく耳にする言葉なのできちんと調べていきましょう!
下記の用語について、調べてみましょう。
※IT用語についてはチェックテストの範囲外です。
1. 要件定義(要求仕様書)
2. 単体テスト・結合テスト
3. テスト仕様書(どのようなもの、項目)
用語の意味を調べて同じく2-14
フォルダ内に記載してください。