プログラミングにおける関数とは?基礎知識を解説

この記事は3分で読めます

自分用メモ

人間:関数
ご飯:引数
排泄物:戻り値

関数とは?定義や呼び出しも解説


処理をひとまとまりに部品化するもの」だと考える
関数を使って処理を部品化することで、
再利用」が可能となる


関数は事前に組み立てておく必要がある
どのような処理があるかを予め定義する

大きなプロジェクトになる程
たくさんの関数を作る事になる、これがプログラマの仕事


関数では「定義」と「呼び出し」が重要な概念

関数の定義
関数を作ること
関数は、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つをまとめて「ドアを開ける」と表現したい時に
「関数」は便利。複数の文に書かれた命令に
名前を付けて、まとめて呼び出す事が可能となる。

関数を使うことで「プログラムが読みやすくなる」
「プログラムを再利用できる」といったメリットがある。

  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

管理人紹介


21世紀、より良い人生を歩むための個人事業主による備忘録メモです。固定観念にとらわれず、日本や世界の深淵に触れ、自由快適な人生を歩んでいく事を大切にしています。