diff --git a/php-practice_1.php b/php-practice_1.php index 3b66836..c07a043 100644 --- a/php-practice_1.php +++ b/php-practice_1.php @@ -40,14 +40,10 @@ // 但し、ifとelseのみを使用して処理を作成してください。(elseif は使わないでください) @@ -208,7 +204,7 @@ function calcTaxInPrice($price) { // 奇数と偶数それぞれを渡して実行して、結果を表示してください。 - -// Q2 多次元連想配列 - -$personalInfos = [ - [ - 'name' => 'Aさん', - 'mail' => 'aaa@mail.com', - 'tel' => '09011112222' - ], - [ - 'name' => 'Bさん', - 'mail' => 'bbb@mail.com', - 'tel' => '08033334444' - ], - [ - 'name' => 'Cさん', - 'mail' => 'ccc@mail.com', - 'tel' => '09055556666' - ], -]; -// 問題1 -// 上記の配列を用いて下記のように表示してください。 -// 出力結果 -// Bさんの電話番号は08033334444です。 - - 'Aさん', - 'mail' => 'aaa@mail.com', - 'tel' => '09011112222' - ], - [ - 'name' => 'Bさん', - 'mail' => 'bbb@mail.com', - 'tel' => '08033334444' - ], - [ - 'name' => 'Cさん', - 'mail' => 'ccc@mail.com', - 'tel' => '09055556666' - ], -]; - -echo $personalInfos[1]['name'] . "の電話番号は" . $personalInfos[1]['tel'] . "です。"; -?> -// 問題2 - -// foreachを用いて下記のように表示してください。(数字が1から始まっていることに注意しましょう) - -// ー出力結果ー - -// 1番目のAさんのメールアドレスはaaa@mail.comで、電話番号は09011112222です。 -// 2番目のBさんのメールアドレスはbbb@mail.comで、電話番号は08033334444です。 -// 3番目のCさんのメールアドレスはccc@mail.comで、電話番号は09055556666です。 - 'Aさん', - 'mail' => ' aaa@mail.com', - 'tel' => '09011112222' - ], - [ - 'name' => 'Bさん', - 'mail' => 'bbb@mail.com', - 'tel' => '08033334444' - ], - [ - 'name' => 'Cさん', - 'mail' => 'ccc@mail.com', - 'tel' => '09055556666' - ], -]; -foreach ($personalInfos as $index => $info) { - $number = $index + 1; - echo $number . "番目の" . $info['name'] . "のメールアドレスは" . $info['mail'] . "で、電話番号は" . $info['tel'] . "です。
"; -} -?> -// 問題3 -// $ageList = [25, 30, 18]; -// 上記の$ageListを使用して、$personalinfosに age というKeyに対して$ageListのそれぞれの年齢をValueとして追加してください。その際は、foreachを使用してください。 -// 追加ができたらvar_dumpを使用して配列の中身を確認してください。下記のようになっていたらOKです。 - 'Aさん', - 'mail' => 'aaa@mail.com', - 'tel' => '09011112222' - ], - [ - 'name' => 'Bさん', - 'mail' => 'bbb@mail.com', - 'tel' => '08033334444' - ], - [ - 'name' => 'Cさん', - 'mail' => 'ccc@mail.com', - 'tel' => '09055556666' - ], -]; -// ↓年齢の配列 -$ageList = [25, 30, 18]; - -// ↓配列を直接変更して年齢を加えるために、foreachループを使用して$personalInfoする年齢をsの各要素に対応追加 - -foreach ($personalInfos as $index => &$person) { - $person['age'] = $ageList[$index]; -} -// ↓配列の中身を全部表示する -var_dump($personalInfos); - -?> -// Q3 オブジェクト-1 -// 問題 - -// 以下のクラスのプロパティを使って、条件に一致するような文章を表示してください。 - -// studentId = $id; -// $this->studentName = $name; -// } - -// public function attend() -// { -// echo '授業に出席しました。'; -// } -// } -// 🔸条件 -// studentIdプロパティは正の整数を設定してください。 -// nameプロパティは任意の値を設定してください。 -studentId = $id; - $this->studentName = $name; - } - - public function attend() - { - echo '授業に出席しました。'; - } -} - -// Studentクラスのオブジェクトを作成 -$student = new Student(120, "山田"); - -// プロパティを表示 -echo "学籍番号" . $student->studentId . "番の生徒は" . $student->studentName . "です。"; - -?> -// Q4 オブジェクト-2 -studentId = $id; - $this->studentName = $name; - } - - public function attend($subject) - { - echo $this->studentName . 'は' . $subject . 'の授業に参加しました。学籍番号:' . $this->studentId; -} -} -$yamada = new Student(120, "山田"); -$yamada->attend("PHP"); -?> - -// Q5 定義済みクラス -// 問題1 -// 1ヶ月前の日付を表すDateTimeインスタンスを作成し、出力結果と同じフォーマットで出力しましょう。 -// -出力結果(2021年3月2日の場合)- -// 2021-02-02 - -// ↓インスタンスを作成して1ヶ月前に戻して、出力フォーマットを指定する - -modify('-1 month'); -echo $date->format('Y-m-d'); -?> - -// 問題2 -// 今日の日付と1992年4月25日との日付の差を計算して、総日数を出力しましょう。 -// -出力結果(2021年3月2日の場合)- -// あの日から10538日経過しました。 - -diff($today); - -echo 'あの日から' . $diff->days . '日経過しました。'; - -?> \ No newline at end of file