環境意識を高めるゲームを開発 – 佐賀県の最終選抜に選ばれる
佐賀県から喜ばしいニュースが届きました!
TETRA UP Unityオンラインコースにて受講をいただいている、小学6年生の江島 俊瑛君が、さがプログラミングアワード2023の佐賀県最終選抜に選ばれました。
俊瑛君が開発したのは、Unityを用いた環境破壊をテーマにした植林ゲームです。
このゲームは、現実世界で減少している森林を作る人々の重要性に光を当てたゲームです。
ゲームの流れは、植林、成長の促進、木の収穫、そして木材の販売をします。
プレイヤーは木材の売却から得られる収益を使い、ゲーム内で多様なアップグレードを行うことが可能です。
俊瑛君が7ヶ月もの間、情熱を注ぎ制作したこの作品。
自身で制作を進めるにあたり、うまく進まないこともあったと思います。
それでも諦めずにやり遂げる事ができました。
俊瑛君自身はもちろん、ご家族様、教室としても とても嬉しい結果です。
TETRA UPでは、子どもたちが技術と創造力を発揮できることを目指しています。
才能ある子ども達が、これからもプログラミングを通じ、大きな変化をもたらすことを期待しています。
体験授業や入会金などが無料になる、お得なキャンペーンも実施していますので、この機会に体験教室に是非ご参加ください。
2023秋の発表会 Thinker賞受賞者インタビュー
2023年10月21日(土)から29日(日)にかけて、プログラミング教室TETRA UP四谷本校にて、自作ゲームの発表会を開催しました。
今回は見事にThinker賞を受賞者した濱 雪菜さんのインタビューをお届けします。
濱さんは元々ロボットコースで通塾していただいておりました。
お引越しをした後も、幼稚園年長さんからオンラインScratchコースでの受講をしていただいております。
最初はPCの操作も不慣れでしたが、分からない時もしっかりと先生の声を聞き落ち着いて操作を進めてくれました。自身で考え、ブロックを間違えないようにしっかりとプログラミングを行っている姿には、講師も非常に感心しています。
→TETRA UPが育む4つの力 「 THINKER 」- AIに代替されない思考力を –
受賞した感想を聞かせてください。
濱さん:びっくりしたけど、とても嬉しかったです。
ゲームを作る時に、一番難しかったところはどこですか?
濱さん:星をクローンして作るところが難しかったです。
プログラミングをするときに、難しかったり分からない点はどのように解決していますか?
濱さん: しっかりと先生に聞き直すようにしています。
授業をするときに気を付けていることなどはありますか?
濱さん: 間違えるとやり直しで時間がかかるので、話しを聞いてプログラミングを間違えないようにすることです。
オンラインでの授業は難しいですか?
濱さん: そんなに難しくないです。
プログラミングを使って次に作りたいものはありますか?
濱さん: 皆、大人になっても上手に打てるように、 タイピングが早く出来るようなゲームを作りたいです。
将来の夢はなんですか?
濱さん: お母さんになりたいです。
パソコンでは、キーボードを早く打てるようになりたいです。
ありがとうございました。
どんどんPCもプログラミングもスキルを伸ばしている濱さん、今後も期待しています!
濱さんの作品や、発表会に参加された生徒さんの作品は下記からご覧いただけます。
生徒さん作品ページ:https://tetraup.com/education/works
TETRA UPでは濱さんのようにONLINEの方も、多く受講いただいております。
体験授業や入会金などが無料になる、お得なキャンペーンも実施していますので、この機会に体験教室に是非ご参加ください。
詳細は↓をクリック
2023秋の発表会 Engineer賞受賞者インタビュー
2023年10月21日(土)から29日(日)にかけて、プログラミング教室TETRA UP四谷本校にて、自作ゲームの発表会を開催しました。
今回は見事にEngineer賞を受賞者した 江島 俊瑛さんのインタビューをお届けします。
江島さんは佐賀からオンラインで受講していただいており、今回制作したプロジェクトは、佐賀プログラミングアワード2023への出展もいたしました。見事、12名のみが進むことができる県大会の本選出場へと進められる評価もいただく結果となりました。
→TETRA UPが育む4つの力 「ENGINEER」- 新時代に欠かせない実践的なスキルを –
受賞した感想を聞かせてください。
江島さん: 単純に嬉しかったです。僕が作ったゲームは戦う系ではなかったので、万人受けするタイプのものではないと思いますが、受賞してよかったと思います。
今回のゲームでこだわった所はどんなところですか?
江島さん: アイテムや整備の部分にはすごくこだわりました 。
普段からプログラミングを行う上で、気を付けていることはありますか?
江島さん:プログラムミスです。
エラー等、うまくいかない時にはどうしてますか?
江島さん:自力で何とかする場合が多いです。
まずネットで調べて、その方法を片っ端からやってみる。
それでも直らなかったら設定や見直してみて、それでも場合に先生に聞くようにしてます。
プロミングで楽しいと思う時は、どんな時ですか?
江島さん: 自分が書いたプログラムが動いた瞬間が、一番楽しくて嬉しくて、気持ちがいいですね。
プログラミングを使って次に作りたいものはありますか?
江島さん:将来的にはフォートナイトやドラクエなどのいわゆる神ゲーを作りたいです。自作の3Dモデルなどを使用したゲームも作りたいと思います。
将来の夢を教えてください。
江島さん:僕はたくさんの事をネットから学んでいます。そのネットで自分が得た知識を分かりやすくして、ネットでみんなにお返しできたらいいなと思います。
夢はもちろんプログラマーになりたいです!
ありがとうございました。
今後もどんどんスキルアップしていく江島さんの作品に期待しています!
江島さんの作品や、発表会に参加された生徒さんの作品は下記からご覧いただけます。
生徒さん作品ページ:https://tetraup.com/education/works
TETRA UPでは江島さんのようにONLINEの方も、多く受講いただいております。
体験授業や入会金などが無料になる、お得なキャンペーンも実施していますので、この機会に体験教室に是非ご参加ください。
詳細は↓をクリック
2023秋の発表会 Speaker賞受賞者インタビュー
2023年10月21日(土)から29日(日)にかけて、プログラミング教室TETRA UP四谷本校にて、自作ゲームの発表会を開催しました。
今回は見事にSpeaker賞を受賞者した 山口 駿亮さんのインタビューをお届けします。
山口さんは今回制作したプロジェクトはプログラミングスタジアムへも出展いたしました。 最初はなかなか出展への1歩が踏み出せなかった山口さんですが、出展を決めると今まで以上にイラストやキャラクターの動きにこだわりを見せてくれ、ゲームクリアやオーバー等、細かなゲーム性にもやる側の立場になって考えることができました。
授業でもできる部分は自分で試行錯誤し、うまくいかない時に先生に声をかけるその姿勢は、とても素晴らしいと感じています。
→TETRA UPが育む4つの力 「SPEAKER」-あいてを想い、じぶんを伝える力を-
受賞した感想を聞かせてください。
山口さん:お掃除ロボットがもらえたので嬉しいです!
発表する時に、何か気を付けていた所などはありますか?
山口さん: 声の大きさを気を付けました。ちゃんと聞こえるように、説明が皆に分かるように意識しました。
絵も全て自分で制作しましたね。大変ではなかったですか?
山口さん: 絵を描くのが好きなので、大変ではなかったです。
Scratchにもう少し可愛いキャラクターがいたらいいなと思います。
プログラミングを使って次に作りたいものはありますか?
山口さん: 戦いのゲームの他に、お金を集めるゲームも作ってみたいです。
将来の夢を教えてください。
山口さん: 今はまだ決めていないです。
ありがとうございました。
山口さんの作品や、発表会に参加された生徒さんの作品は下記からご覧いただけます。
生徒さん作品ページ:https://tetraup.com/education/works
今後も素晴らしいアイディアとゲームの制作を期待しています!
ただいまTETRA UPでは体験授業や入会金などが無料になる、お得なキャンペーンを実施しています。
この機会に体験教室に是非ご参加ください。
詳細は↓をクリック
2023秋の発表会 総合賞受賞者インタビュー
2023年10月21日(土)から29日(日)にかけて、プログラミング教室TETRA UP四谷本校にて、自作ゲームの発表会を開催しました。
今回は見事に総合賞を受賞者した 三科 亮太さんのインタビューをお届けします。
三科さんは本校に約5年通塾いただいており、受賞は2度目となります。
今回制作したプロジェクトは、外部プログラミング大会への出展もいたしました。三科さんの好きな鉄道をテーマに、「素敵な路線を、廃線から守りたい」という思いから制作がスタートし、夏休みは実際に北海道まで現地視察まで行いました。部活動やテストも多い中で、自宅制作も進める文武両道な姿に、私たちも非常に感心しました。
総合賞はTETRA UPが育む4つの力を、普段の授業及び発表会までの過程を総合的に判断し、授与いたしました。
→TETRA UPが育む4つの力
受賞した感想を聞かせてください。
三科さん:外部の大会にも出すことを視野に入れた作品で、いつもより力を入れて、思いを込めた作品なので受賞出来て嬉しいです。
外部の大会に出したとのことですが、作品を作る上で気を付けたことはありますか?
三科さん: 自分だけが分かるような形ではなく、相手にも伝わるように、自分よがりな作品やスライドにならないように気を付けました。
学校の部活やテスト、通学時間などもあるなかでどのように両立させましたか
三科さん: 電車の中で、iPadを使い文章を考えたり通学時間を有効活用しました。自宅では宿題などをだらだらしないように、時間を決めて行いました。
プログラミングを使って次に作りたいものはありますか?
三科さん: プログラミングで、プログラミングすることを簡単にしたいです!Scratchをやっていた頃に、Scartchのブロック1つ1つも結局はコードの集まりなんだと知ってから、ずっと思っていました。
将来の夢を教えてください。
三科さん: テクノロジーが進化していく中でも、遅れを取らずに普通に過ごしたいです。
ありがとうございました。
三科さんの作品や、発表会に参加された生徒さんの作品は下記からご覧いただけます。
生徒さん作品ページ:https://tetraup.com/education/works
鋭い着眼点を持ち、スキルもどんどん成長する三科さんに今後も期待しています!
TETRA UPでは体験授業や入会金などが無料になる、お得なキャンペーンも実施していますので、この機会に体験教室に是非ご参加ください。
詳細は↓をクリック
2023秋の発表会 Solver賞受賞者インタビュー
2023年10月21日(土)から29日(日)にかけて、プログラミング教室TETRA UP四谷本校にて、自作ゲームの発表会を開催しました。
今回は見事にSolver賞を受賞者した 西田 圭吾さんのインタビューをお届けします。
西田さんは「いつもやっている3DのゲームをScratchで再現したい」という思いから、Scratchで3Dゲームを再現することに挑戦しました。
難しい説明にも諦める事無く、しっかりと耳を傾けて制作を続け、先生の問いにも的確に言語化し伝える事が出来ました。
「完成していないから発表はしたくない」と最後までやり抜こうとする姿勢は、私たちも素晴らしいと感じました。
→TETRA UPが育む4つの力 「SOLVER」- 実現したいゴールまで論理的な道筋を –
去年の発表会時に「次は賞を取る」と言っておりましたが、見事に実現されましたね!受賞した感想を教えてください。
西田さん:3Dは難しかったけど、受賞できて嬉しいです。
ゲーム作る時やプログラミングをする時に気を付けていることや、意識していることはありますか?
西田さん:キャラの移動など基本の動きでエラーが出ないように、気を付けています。
難しいと感じた時、どのように進めていきますか?
西田さん:自分で色々動きを試してみて、それでもできない時は先生に聞いて進めるようにしています。
プログラミングで実現させたいことなどはありますか?
西田さん:スイカゲームを作ってみたいです !
今回のゲームは未完成でしたが、今後完成させる予定はありますか?
西田さん:あります!
去年は将来の夢は考古学者と答えていましたね。1年たった今、将来の夢を教えてください。
西田さん:バスケット選手になりたいです。
ありがとうございました。
これからもどんどんバスケもプログラミングも、スキルを伸ばしてくださいね!
ただいまTETRA UPでは体験授業や入会金などが無料になる、お得なキャンペーンを実施しています。
この機会に体験教室に是非ご参加ください。
詳細は↓をクリック
子ども達の個性が光る!2023年秋のプログラミング発表会を開催しました
2023年10月、子ども向けプログラミング教室 TETRA UPでは、子ども達の個性と才能が輝く自作ゲームの発表会が開催されました。
発表会までに、計画を練り、試行錯誤を繰り返しながら作品を仕上げたら、分かりやすくスライドにまとめ、本番に臨みました。
たくさんの準備を行ったこの発表会では、子ども達の成長と創造力を肌で感じることができ、プログラミング教育の魅力が詰まった素晴らしい一日となりました。この記事では、発表会前の準備から当日の様子まで、その道のりをお伝えします。
発表会までの準備
発表会の準備には約3~4ヶ月ほどの時間をかけて制作を行いました。
まずは 実現したいゴールまで論理的な道筋を立てて制作に取り組んでもらうために、「発表会計画シート」の記入を行います。
計画通りに進められなかった時には、講師と一緒にどのように軌道修正するかまで考えることができました。
発表会当日の様子
発表はロボットコース、スクラッチコース、Unityコースの3コース合同で行いました。
それぞれの発表が終わった後に、ゲームで遊ぶ時間を設け、感想シートにゲームの見た目の良さや完成度、発表の姿勢等の感想を記入しました。
「どうしたら楽しんでもらえるだろう?」と、客観的に捉えることが出来たのではないかと思います。
さらにゲームの質疑応答の時間も設け、生徒のみならず保護者や講師からの質疑にも堂々と答えることができていました。
それでは、発表会の様子を一部ご紹介します。
当日はみんな緊張した様子を見せながらも、準備した成果をしっかりと発表できていたと思います。
お互いのゲームで遊ぶ際も遊び方をレクチャーしたり、コツを教えたりとそれぞれコミュニケーションを取り理解が深まった発表会となりました。
受賞者
Speaker賞
山口 駿亮さん
スクラッチで敵を倒しながら、猫がゴールを目指すゲームを作った山口さん。ここのシーンは強すぎるかな?、こんな風にしたらおもしろいと思う!と、ゲームをする人をしっかりと考え、完成させることができました。登場するキャラクターも全て自作し、見た目からとても引き付けられる、こだわりのゲームが出来ました。
Thinker賞
濱 雪菜さん
スクラッチで妖精がハリネズミを倒し、得点を稼ぐゲームを作成した雪菜さん 。オンライン授業を進める中で、PCの操作が分からない時は、きちんと言語化し分からない部分を伝え、講師のプログラミングの説明も言葉のみで理解しようと努めることが出来ていました。初めての発表も堂々とした姿勢で行うことができました。
Engineer賞
江島 俊瑛さん
Unityで森林を育てるゲームを作成した江島さん。進められる部分は自宅で進め、分からないことを授業で確認するというスタイルで制作をしていくことで、日に日にスキルアップをしています。オープニングやアイテム等、細部のイラストまで自作し、こだわりの詰まった作品ができました。
Solver賞
西田 圭吾さん
スクラッチで3Dアクションゲームを作った西田さん。作品は未完成とのことでしたが、2DのScratchから3Dを表現した作品を見た会場からは「おぉ…」と、驚きの声があがりました。「難しくても頑張る」と諦めずに頑張り、制作をひたむきに進めてくれました。
総合賞
三科 亮太さん
Unityで鉄道会社の経営ゲームを作った三科さん。素敵な鉄道を後世に残したいという思いから思いついたこの作品。 プログラミング大会への提出も兼ねて、ゲームやスライドも「思いを伝える」という事がとても意識された作品でした。自宅でもプログラミングを行うことで、スキルもグンと成長したように思います。
終わりに
子どもたちの個性が輝き、 どの作品も素敵な作品ばかりで、 2023年秋のプログラミング発表会は皆大成功で終了しました。
この発表会から、子どもたちが持つ無限の可能性を改めて感じ、プログラミング教育の価値を再確認しました。
生徒さんたちが未来のテクノロジーリーダーとして輝かしい道を歩んでいくことを楽しみにしています。
【ただいま体験教室無料キャンペーンを実施中】
ただいまTETRA UPでは体験授業や入会金などが無料になる、お得なキャンペーンを実施しています。
この機会に体験教室に是非ご参加ください。
詳細は↓をクリック
\受験応援キャンペーン/「プロ検」12月受検申込み受付中
TETRA UPではプログラミング能力検定協会の実施する「プログラミング能力検定」の検定試験を定期開催しております。
12月はレベル1を無料でご受験いただくことができる、受験応援キャンペーンを実施中です。
TETRA UPに在籍している生徒だけでなく、スクール生でない子供たちも受験することができます。日頃のプログラミング学習の成果を認定証や成績表の形で実感することができる機会ですので、この機会にぜひチャレンジしてみませんか?
「プログラミング能力検定」について
プログラミング能力検定は、プログラミングに関する概念の理解度を分析・評価し、学習成果を証明することができます。
ビジュアルプログラミング言語とテキストプログラミング言語に対応しており、 2022年度より高校にて必修化された「情報Ⅰ」のプログラミングに関する領域に対応し、2024年度の大学入学共通テストから必修となる情報科目としてのプログラミングへの対策試験となることを目指しています。
検定試験は40分間で、パソコンを使って回答します。
受検日の3週間後以降に合否通知および成績表を配布いたします。また、合格者には合格証明書が発行されます。
受検レベルについて
ビジュアル言語(Sctratchベース)では、レベル1〜4の中から、テキスト言語(JavaScript・Python・Java)では、レベル1~6の中から お選びいただき、ご受検いただけます。 受検レベルは学年にかかわらず、お選びいただけます。
※TETRA UPスクール生につきましては、随時受検レベルのご相談を受け付けております。お気軽にLINEにてご連絡ください。
出題形式について
出題形式は【選択式問題】と【実装式問題】の2つです。
ビジュアル言語の選択式問題は、動画を再生しその動きと同じ動きをするブロックを選択します。
実装式問題は、動画と同じ動きとなるように ブロックの組み合わせを自分で作ります。
テキスト言語の選択式問題は「出力が問題に記載されていて、プログラムを選ぶ形式」と「プログラムが問題に記載されていて、出力を選ぶ形式」があります。
実装式問題は出力とその条件が問題に記載され、回答欄に当てはまるコードを記述する形式です。
概要
- 実施日
12月16日(土) 9:00~10:00/16:00~17:00
12月17日(日) 9:00~10:00/16:00~17:00
- 会場
TETRA UP 四谷本校
〒160-0007
東京都新宿区荒木町ナオビル2階
- 受検レベルおよび受検料(表示価格は全て税込です)
レベル1 無料
レベル2 3,200円
レベル3 4,300円
レベル4 5,400円
レベル5 6,500円
レベル6 8,700円
- 持ち物
イヤフォン(ヘッドフォン)
※TETRA UP生徒様以外の方は、必ず身分証 (学生証・生徒手帳・パスポート・健康保険証など本人を証明する公的な有効期限内証明書)をご持参ください
- 申し込み締め切り
11月13日(月)まで
- 受検規約
予め受検規約に同意の上、 受検をご希望の場合は以下の「 受検者情報入力フォーム 」よりお申込みください。
よくあるご質問
Q.受験後、結果はどのように受け取ることができますか?
A. 受験から3週間後を目途に「成績表」を配布いたします。郵送をご希望の場合は着払いのみ受け付けております。
Q.合格したら合格証はもらえますか?
A.プログラミング能力検定協会より、 電子版の合格証書が発行されます。 お渡しした成績表に印字されたQRコードよりご確認ください。
紙版(有償)をご希望の場合は、プログラミング能力検定公式フォームよりお申し込みください。
Q.試験当日、パソコンを持参する必要はありますか?
A.お持ちいただく必要はございません。 試験開始前に使用するパソコンの操作方法や回答方法について確認を行う時間がございますのでご安心ください。
Q.保護者の待機スペースはありますか?
待機スペースはございませんのでご了承ください。
Q.自宅受験はできますか?
現状は会場受検のみとなっております。
お申込み
受検をご希望の場合は、以下の「 受検者情報入力フォーム 」よりお申込みください。
非エンジニアでも知らないとヤバイPHP Part10〜関数について理解しよう〜
前回はPHPの繰り返し処理について説明しました。今回はPHPの関数について説明いたします。
関数とは
PHPの関数に入る前に「関数」についておさらいしておきましょう。
皆さま、関数と聞くと何を思い浮かべますか…筆者は中学校に入学した際の数学を真っ先に思い浮かべました。数学の関数が苦手で数学に苦手意識を持った方もいるのではないでしょうか。辞書で調べてみると
「 《function》二つの変数x、yがあって、xの値が決まると、それに対応してyの値が一つ決まるとき、yはxの関数であるという。記号y=f(x)で表す。xを独立変数といい、二つ以上のこともある。また、この概念を拡張して、ある集合の各要素に他の集合の各要素を一対一で対応させる規則である写像をさすこともある。」
「コンピューターのプログラミング言語やアプリケーションソフトにおいて、ある数や文字列が入力された時、決められた処理を行い、その結果を出力する命令群のこと。※1」
と出てきます…が、正直これでは非常に分かりにくいですね。
関数の具体例1 – 自動販売機 –
関数の具体例として、自動販売機をあげてみます。飲み物、アイス、お菓子やパン、変わったものだとモツ煮お金をお金の投入口に入れて、必要金額が投入されれば、購入する商品を選択するボタンが光り、購入したい商品のボタンを押すと商品と(超過金額があれば)お釣りが返ってくるアレです。
関数 :自動販売機
引数 :入金するお金
返り値:商品とお釣り
消費されるもの:元々のお金(商品を購入する分の金額)
関数の具体例2 – 一次関数 –
次の関数の具体例として、中学校の時に習った一次関数をあげてみます。
PHPでの関数の書き方
では、簡易的ですが実際にPHPでの関数の書き方を見てみましょう。
function 関数名(){
関数の処理
}
まとめ
関数は実際にプロダクトを実装する際にはもはや必要不可欠です。実際にはフレームワークなどで使うことがメインですが、MVCモデルなどを学んでいくと必ず出てくるので楽しみにしていてくださいね。関数は考え方もプログラミングに必要不可欠なものでありとても便利な機能です。
非エンジニアでも知らないとヤバイPHP Part9〜繰り返し処理について理解しよう〜
前回はPHPの条件分岐について説明しました。今回はPHPの繰り返し処理について説明いたします。
繰り返し処理とは
「ある条件が満たされるまで、同じ処理が繰り返し実行される処理」のことを、繰り返し処理(ループ処理)と言います。PHPで繰り返し処理を実装するには、いくつか方法があります。
繰り返し処理の実装方法
具体的な実装方法として、今回は以下の4つをご紹介いたします。
- for文
- foreach文
- while文
- do{ }while( )文
for文
for文は繰り返し処理の基本となる構文です。書き方は以下の様になります。
<?php
for(開始条件 ; 継続条件 ; 繰り返し処理終了後の条件変更){
実施する繰り返し処理 ;
}
?>
for文の( )の中の区切りには「;(半角セミコロン)」を用います。これだけだと非常にわかりづらいと思うので、具体例をみていきましょう。
<?php
for($i = 1 ; $i <= 3 ; $i++){
print($i);
}
?>
この繰り返し処理では「1 2 3」と表示されます。それぞれ説明します。
開始条件:$i = 1
変数iに1を代入しています。繰り返し処理の変数にはiが使用されることが多いです。諸説ありますが、このiは「integer(整数)」や「index(索引・目盛り)」の頭文字を表しています。今回の開始条件は1としました。
継続条件:$i <= 3
変数iが3以下を表します。変数iが3を超えない限り、{}内の処理は繰り返されます。
実施する繰り返し処理:print($i)
変数iをprint関数で出力しています。
繰り返し処理終了後の条件変更:$i++
変数iに「1を加える」という条件が加わっています。この++の部分ですが
$i = $i + 1(変数への再代入:こちらをご参照)
や
$i += 1(上の式を省略化した書き方)
と同じです。
従って、$ = 3に加算されるまでは繰り返し処理は実施されます。$i++を実行して$ = 4になった時に初めて継続条件に合致しなくなります。{}の中の処理は実施されず、繰り返し処理が終了することになります。
foreach文(キーを取得しない場合)
foreach文は、配列(配列についてはこちらをご参照)に対する繰り返し処理になります。foreach文が使用できるのは、配列とオブジェクトとなります。他のデータ型に用いるとエラーになりますのでご注意ください。書き方は以下の様になります。
<?php
$array = [値1, 値2, 値3];
foreach($array(配列の変数名) as $value(配列内の要素)){
実施する繰り返し処理;
}
?>
先ほどのfor文と異なるのは、配列の変数を用意していること、()内に配列の変数名を入れること、配列内の要素($valueの部分、名称は自由に設定できます)に対して繰り返し処理が行われることです。具体的にみていきましよう。
<?php
$fruits = ["りんご" , "みかん" , "バナナ"];
foreach($fruits as $fruit){
print("好きな果物は" . $fruit . "です。");
print("今日は" . $fruit . "を食べました。");
}
?>
この繰り返し処理では「好きな果物はりんごです。今日はりんごを食べました。」「好きな果物はみかんです。今日はみかんを食べました。」「好きな果物はバナナです。今日はバナナを食べました。」という結果が表示されます。
流れとしては以下のようになります。
- 1 最初に配列の変数$fruitsを定義します。
- 2 foreach($fruits ~ は、この部分で定義した配列を取得しています。
- 3 ~ as $fruit) は、$fruitsに格納されている配列の最初の要素である「りんご」を$fruitに代入しています。
- 4 {}内の繰り返し処理が実施されます。
- 5 $fruitに代入された「りんご」の{}内の処理が実施されたら、次の配列の要素である「みかん」でも3.と4.が実施されます。
- 6 「みかん」でも3.と4.が実施されたら、次は配列$fruitsの最後の要素である「バナナ」も3.と4.が実施されます。
- 7 全ての要素に対して繰り返し処理が完了したら、終了となります。
foreach文(キーを取得する、連想配列の場合)
先ほどのforeach文では、配列にキーが設定されていませんでした。配列のキーも用意されて(連想配列になって)いて、キーも取得したい場合には次のような書き方になります。
<?php
$fruits = ["りんご" => "赤" , "みかん" =>"オレンジ" , "バナナ" => "黄"];
foreach($fruits as $key => $value){
print($key ."は" . $value . "色です。");
}
?>
こちらは「りんごは赤色です。」「みかんはオレンジ色です。」「バナナは黄色です。」と表示されます。先ほどのforeach文と比較すると「$key =>」が追加されていることがわかります。ここに配列の各要素のキーであるりんご・みかん・バナナが代入され、値の赤・オレンジ・黄は$valueに代入されます。
while文
while文でも繰り返し処理は可能です。書き方は以下のようになります。
<?php
//初期条件
while(条件式){
実施する繰り返し処理;
条件を変更する処理;
}
?>
条件式がtrueの場合に{ }内の処理が実行されます。while文は書き方にいくつか注意があります。特に注意していただきたいのは、初期条件と条件を変更する処理に関してです。具体例をいくつか見ていきましょう。
【具体例1】
<?php
$num = 1;
while($num <= 3){
print($num);
$num++;
}
?>
問題なく「1 2 3」と出力できると思います。
【具体例2】
<?php
$num = 1;
while($num <= 3){
$num++;
print($num);
}
?>
次はどうでしょう。中の繰り返し処理と条件を変更する処理の順番を入れ替えてみました。今度の結果は「2 3 4」と出力されると思います。これはwhile文の中の{}で順次処理されているからです。順を追うと
- $num = 1 は$num <= 3がtrueなので{}内の処理が実行される。
- $num++ で$numに代入されている値は2になる。
- print($num); で2が出力される。
となっています。print関数を用いる前に$numをインクリメント(1を加算)しているため、「2 3 4」となります。4に関しては3より大きいです。ですがこの4は$num = 3の時に{}内の処理に以降した後、$num++で$numに4が代入されるため、print関数を実行して4が表示されることになります。
この様に、実行の順序には注意が必要です。
【具体例3】
※こちらは処理が止まらなくなる(無限ループ)ため、実行しないでください。
<?php
while($num <= 3){
$num = 1;
print($num);
$num++;
}
?>
この場合、冒頭に書きましたが処理が止まらなくなります(11111…..)。これは初期条件として使用している$numが、while文の{}内にあることが原因です。
- 1 $numに1を代入してprint関数を実行するため、1が表示されます。
- 2 その後$num++で$numには2が代入されます。
- 3 $num <= 3がtrueです。while文が再度実行されます。{}内の最初に$num = 1;があるため、再度1が代入されます。1.の部分に戻ってしまいます。
【具体例4】
※こちらも処理が止まらなくなる(無限ループ)ため、実行しないでください
<?php
$num = 1;
while($num <= 3){
print($num);
}
?>
こちらも冒頭に書きましたが、無限ループ処理になります。while文内で条件を更新する処理の記載がありません。$num =1は変更されず、$num <= 3がtrueのままになってしまいます。
具体例を4つ挙げましたが、while文を書く際はいくつか注意していただければと思います。
do{ }while( )文
do{}while()文はwhile文とほぼ同じです。書き方は以下のようになります。
<?php
初期条件
do {
実施する繰り返し処理
} while (条件式);
?>
while文と1点違うのは、構文の構造上、先に繰り返しの処理を行ってから条件の判定を行うことです。少なくとも1回は条件の処理が実行されます。具体例を見ていきましょう。
<?php
$num = 5;
do {
print("数字は10以上です。")
} while ($num >= 10);
?>
「数字は10以上です。」と表示されたかと思います。これはdo{}内の繰り返し処理を先に1度実行してからwhile()内の条件式の判定を行なっていためです。pirnt関数が実行されたあと、$num >= 10の条件でfalseが返却されているため、そこで処理が止まります。よって、do{}while()文では、少なくとも1回は繰り返し処理が行われます。
まとめ
いかがでしたでしょうか。今回はPHPでの繰り返し処理をご紹介いたしました。
次回はPHPにおける関数を紹介していきます。
最後に
プログラミングを独学で行うと挫折することがしばしばあります。プログラミングを学んでみたい方、短期間でプログラミングを身につけたい方は64時間で”なりたい”を叶えるプログラミングスクール「WISH」にお気軽にお問い合わせください。現在無料カウンセリングや、入会金無料キャンペーン、さらに受講料20%オフのキャンペーンを開催しております。
Warning: include(/var/www/html/tetraup.com/knocknote.jp/tmpl/aside.html): failed to open stream: No such file or directory in /var/www/html/tetraup.com/news_topics/wp-content/themes/news/archive.php on line 24
Warning: include(): Failed opening '/var/www/html/tetraup.com/knocknote.jp/tmpl/aside.html' for inclusion (include_path='.:/usr/share/pear7:/usr/share/php') in /var/www/html/tetraup.com/news_topics/wp-content/themes/news/archive.php on line 24