自分用メモ
目次
(1)プログラミングとは「社長」になること
自分が「機械に命令」を行うことで、「機械に仕事」をさせる事ができる。これは、自分が「会社の社長」になってるようなもの。
自分が会社の社長として「変数」という「箱(書類入れ)」を用意して、
「関数」という「人」を雇い、
様々な関数くん達に仕事をさせるようなもの。
(2)関数は何ができる?
①複数の命令をまとめて名前をつける
関数の最も基本的な機能。複数の命令を1つのまとめて(命令群)、その命令群に名前(関数名)を付ける。
名前を付けた命令群は、「関数名()」と書くことで呼び出す事ができる。
関数を呼び出すと、関数の中に記述した命令群が実行される。
関数の呼び出しは何度でも可能。

この画像では、挨拶を表示する命令群に「sayHello」という名前を付けている。
関数の名前の後にカッコを付ける(sayHello()とする)事で、
一連の命令を呼び出す事ができる。
まとめると以下のようになる。
①functionの後に半角スペースを空ける
②好きな関数名をつける
③その後にカッコをつける
④波括弧{}で囲って、その中に好きな処理を書く
⑤関数名、カッコ、セミコロン(;)を書いて、書いた処理を出力する。

②値を受け取って処理する
関数は、ただ命令をまとめるものだけではない。関数は呼び出す時に、いくつかの値を受け取る事ができる。
受け取った値を処理し、実行結果に反映させる事ができる。

上記の画像では、変数xと変数yが引数になる。
引数を使う事で、実行ごとに異なる処理を行う事もできる。
上記の画像では、足す数を引数にすることで、
「1+2」の場合でも、「3+4」の場合dめお、
同じ関数を使う事が出来るようになっている。
引数を活用することで、
柔軟なプログラムを書く事が可能となる。
引数はいくつでも渡す事ができる。
複数の引数を渡したい場合は、カンマ(,)で区切って
好きな名前の受け取り用の箱(変数)を用意する。
この箱は、関数の中だけで使える箱(ローカル変数という)になる。
ーーーーーーーーーーーーーーーーーー
人で例えるなら、社長である自分が
社員である関数くんに値(情報)を与えて、
「これで仕事よろしく!」と頼む。
そして、関数くんは「分かりました!」と、
与えられた情報を「引数」という
「自分専用の箱(職場のファイルみたいなもの)」に
その情報を入れて、自分の仕事を進めていく、と考える。
ーーーーーーーーーーーーーーーーーー
基本的に、引数分の情報を与えてあげなければ、
関数くんは仕事をしてくれない(エラーになってしまう)ので注意が必要。
ただ、この点はプログラミング言語によって微妙に異なる。
上記の画像の場合、社員(関数sumFuncくん)は、
2つの情報をくれないと仕事は出来ません!
それぞれの情報は僕専用のx, yという箱(ファイル)に入れるからね!
という感じになる。お役所のような人。
③値を返す

関数が値を返すと、関数呼び出し(ここでは「sum();」を指す)は
その返した値に書き換えられて処理が進む。
値を返すには、return文を私用する。これを使用して値を返すと、
関数呼び出し(sum();)は、その値に書き換えられる。
人で例えるなら、社員の関数くんに仕事をしてもらい
「仕事の結果報告をもらう」という事になる。
以下の画像は、意味は同じ。

ただし下にはreturn文がない。
これは、関数くんに仕事を依頼したけど
「結果報告をしてくれなかった」という事になる。
関数とは?定義や呼び出しも解説
人間:関数
ご飯:引数
排泄物:戻り値
「処理をひとまとまりに部品化するもの」だと考える
関数を使って処理を部品化することで、
「再利用」が可能となる
関数は事前に組み立てておく必要がある
どのような処理があるかを予め定義する
大きなプロジェクトになる程
たくさんの関数を作る事になる、これがプログラマの仕事
関数では「定義」と「呼び出し」が重要な概念
①関数の定義
関数を作ること
関数は、function というキーワードを使って作る事ができる
②関数の呼び出し
関数を使うこと
関数は呼び出されるまで動かないので「呼び出す」必要がある
③関数の呼び出し(再利用)
「一度関数を定義しておく」と、何度でも再利用できる
何度もfor文で処理を書かなくても、一つ書いておけば充分
なお、PHPにはもとから用意されてる関数と、
自分で作る関数の2種類がある
後者を「ユーザー定義関数」と言う
※参考:PHPの基礎知識。記述や文字の認識方法も解説
引数について
引数 → 関数 → 戻り値
関数に何か処理を依頼する際
「このデータを使って処理をして欲しい」というケースがあるが、
この時関数に渡す値を「引数」と呼ぶ
※「料理:抽象」という関数に、
「材料:具体」という引数を渡して料理をしてもらうイメージ
※引数は1つだけでなく複数指定できる、
複数指定する際は「,(カンマ)」で区切る
※デフォルト値を設定する事も可能
7月22日追記
「関数」という箱には、何かしらの処理のまとまりが入っていて、それらの処理が終わると、処理結果としてある値が返される
関数とは、ある処理のまとまりに名前を付け、
その関数の実行命令が来たら実行し、結果を返す仕組みの事
返された結果を「戻り値(返り値)」と言う
戻り値は、ない事もある
やりたいことによっては、関数の中で
何かしらの処理がなされた後、結果が必要ないこともあるから
「ある結果を作るための材料」を加えたとしたら?
これが「引数」であり、関数の本来の姿である
引数(ひきすう)を簡単にいうと「関数に渡す値」のこと
関数に引数を渡すことで、より便利に関数を使うことが出来る
引数には以下の2種類がある
・関数を呼び出す際に渡す引数:実引数
・関数を定義する際に受け取る引数:仮引数
(関数が出力する値が「戻り値」である。仮引数との違いに注意)
引数には必ず「渡す側」と「受け取る側」が存在する
戻り値について
関数から受け取る値を「戻り値」と呼ぶ
・関数の戻り値の使い方
①他の処理でそのまま使う
他の文に組み込んで関数を呼び出すと、戻り値の値を他の処理でそのまま使える
②条件判定として使う
if文、while文、for文で条件判定を行う場合は、
関数の戻り値を判定直接判定する方法がよく用いられる
戻り値を英語で「retval」と呼ぶ
グローバル変数とローカル変数の違い
・グローバル変数
プログラムの中の最も外側のブロックで宣言された変数
PHPの変数は使える有効範囲が限られている、この範囲をスコープと呼ぶ
変数の宣言位置によって、値が保持される範囲が異なる
・ローカル変数
プログラムの中にあるブロックの中で宣言された変数のこと
ユーザー定義関数の中で定義された変数のこと
PHPの変数は使える有効範囲が限られている、この範囲をスコープと呼ぶ
{}で囲まれた関数内で宣言された変数がローカル変数
※参考:変数とは?名付け方のコツや定数についても解説
関数の中の変数には有効範囲(スコープ)があり、
その範囲を越えて操作する事は出来ない
関数の中で、関数の外の変数を参照するには、
その変数をグローバル宣言して使う方法がある
関数内でグローバルスコープの変数を使うには
以下の方法も用いられる
・配列$GLOBAL
・$_GET(HTTP GET変数)
・$_POST(HTTP_POST変数)
・$_COOKIE(クッキー)
また、$GLOBALSは連想配列で、
どこでも利用できるので「スーパーグローバル」と呼ばれる
変数の有効範囲は関数内にしたままで
グローバルスコープ変数のように変数を扱う場合はstaticを使う
・Cookie(クッキー)
閲覧しているWebブラウザを通して、訪問者のコンピュータにデータを書き込む事ができる仕組み。訪問者がサイド、同じWebサイトを訪れるとその訪問者の識別と履歴を追うことができる。いつ、どこから、どのページを閲覧したかを詳細に確認することができる。
備忘録メモ
関数=複数の命令を1つにまとめるもの
「ドアを開ける」という動作を手順化して文に分けると
・取っ手を掴む
・取っ手をひねって留め具を外す
・取っ手を持ったまま手前に引く
といった3つの命令に分割できる事がわかる。
この3つをまとめて「ドアを開ける」と表現したい時に
「関数」は便利。複数の文に書かれた命令に
名前を付けて、まとめて呼び出す事が可能となる。
関数を使うことで「プログラムが読みやすくなる」
「プログラムを再利用できる」といったメリットがある。
この記事へのコメントはありません。