MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PHPの基礎 - 関数のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PHPの基礎 - 関数
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 関数とは、いくつかの処理をまとめて名前を付けて定義したものである。<br> <br> 関数には、組み込み関数とユーザー定義関数の2種類がある。<br> 使い方は同じであるが、組み込み関数はPHPで予め用意された関数であり、ユーザ定義関数は自身が定義した関数である。<br> <br> ここでは、ユーザ定義関数について記載する。<br> <br><br> == 関数の使用方法 == 関数の具体的な使用方法を記載する前に、関数を使用する場面について記載する。<br> <br> 以下の例では、数値を判定して出力する部分を関数にして、必要な時に呼び出している。<br> 繰り返し使用する処理を関数にして、必要な時に呼び出す。<br> <syntaxhighlight lang="php"> function check($kamoku, $Num) { print $kamoku.'の結果:'; if($Num >= 80) { print '80以上'; } else { print '80未満'; } } $Math = 84; $Eng = 62; $Jp = 78; check('数学', $Math); check('英語', $En); check('国語', $Jp); </syntaxhighlight> <br><br> == 関数の定義と実行 == ==== 関数の定義 ==== まず、関数の定義を記載する。<br> <br> 基本的な書式は、以下の通りである。<br> function 関数名(引数1, 引数2, ...) { 実行される処理; } <br> 関数名として使用できる文字は、先頭がアンダーバーかアルファベットで始まり、その後にアンダーバー、数字、アルファベットが続く。<br> 変数名とは異なり、大文字・小文字の区別は無いので注意すること。<br> <br> 引数は、関数に値を渡す場合に使用するものであり、パラメータとも呼ばれる。<br> <br> ==== 関数の実行 ==== 関数を実行する時の書式は、以下の通りである。<br> 関数名(); または 関数名(引数1, 引数2, ...); <br> また、関数を実行すると戻り値として計算結果を返す場合がある。<br> その場合、以下のように記述することにより、関数からの戻り値を変数に代入することができる。<br> 変数名 = 関数名(引数1, 引数2, ...); <br> <u>※注意</u><br> <u>PHPにおいて、以下のように、関数の定義は関数の実行よりも後で定義してもよい。</u><br> <syntaxhighlight lang="php"> hello(); function hello() { print 'hello'; } </syntaxhighlight> <br><br> == 引数 == 関数を呼び出す時に関数に渡す値を引数と呼ぶ。<br> 引数を使用することにより、関数を実行するたびに一部の値を変化させて実行することができる。<br> <br> 以下の例では、最初に関数を実行する時、引数として"田中"を渡している。<br> 関数側では、変数nameに"田中"という値が格納されて、関数内の処理が実行される。<br> 次に、変数nameに"鈴木"という値が格納されて、関数内の処理が実行される。<br> <syntaxhighlight lang="php"> function greeting($name) { print 'こんにちは。'.$name.'さん。'; print 'お元気ですか?'; } greeting('田中'); greeting('鈴木'); </syntaxhighlight> <br> ==== 複数の引数 ==== 引数は、必要な数だけ指定することができる。<br> 複数の引数を指定する場合は、カンマ(,)で区切り記述する。<br> <br> 書式は以下の通りである。<br> 呼び出し元で指定した順に、引数に値を格納する。値1は引数1、値2は引数2に格納されて関数内の処理が実行される。<br> function 関数名(引数1, 引数2, ...) { // ... } 関数名(値1, 値2, ...); <br> 以下の例では、2つの値の平均値を出力している。<br> <syntaxhighlight lang="php"> function heikin($num1, $num2) { $result = ($num1 + $num2) / 2; print '平均は'.$result.'です'; } heikin(10, 8); heikin(3, 23); </syntaxhighlight> <br><br> == 戻り値 == 関数では、<code>return</code>文を使用して、数値、文字列、配列等の演算結果を呼び出し元に返すことができる。<br> <br> 戻り値を返す場合、<code>関数名(引数1, 引数2, ...)</code>の評価が戻り値となる。<br> 戻り値は、<code>変数 = 関数名(引数1, 引数2, ...)</code>のように変数に対して格納する。<br> <br> 以下の例では、変数に戻り値を格納する場合と関数の実行を直接記述している。<br> <syntaxhighlight lang="php"> function plus($num1, $num2) { $sum = $num1 + $num2; return $sum; } $sum = plus(10, 8); print '加算の結果は'.$sum.'です'; print '加算の結果は'.plus(7, 14).'です'; </syntaxhighlight> <br> なお、引数とは異なり、戻り値として指定できる値は1つのみである。<br> ただし、戻り値として配列も指定できるため、配列を返すことで実質的に複数の値を返すことも可能である。<br> <br><br> == 別のPHPファイルの関数を呼び出す (関数のライブラリ化) == 関数をユーティリティ化 / ライブラリ化して、外部のPHPファイルに記述する方法として、<code>require</code>、<code>require_once</code>、<code>include</code>、<code>include_once</code>関数がある。<br> 外部のPHPファイルの関数を呼び出す前に、上記の関数を使用して外部ファイルを読み込むことにより、外部のPHPファイルの関数を呼び出すことができる。<br> <syntaxhighlight lang="php"> # index.phpファイル <?php require_once 'utils.php'; //関数呼び出しより手前に記述する echo('sum: '.utl_sum(12,5).'<br/>'); echo('mul: '.utl_mul(12,5).'<br/>'); echo('div: '.utl_div(12,5).'<br/>'); echo('sub: '.utl_sub(12,5).'<br/>'); ?> </syntaxhighlight> <br> <syntaxhighlight lang="php"> # utils.phpファイル <?php function utl_sum($a,$b) { return $a + $b; } function utl_sub($a,$b) { return $a - $b; } function utl_mul($a,$b) { return $a * $b; } function utl_div($a,$b) { return $a / $b; } ?> </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:Web]]
PHPの基礎 - 関数
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse