関数

関数 function

PHPのスクリプトでは、あらかじめ定義されている多くの関数を使うことができます。関数を知れば知るほど、開発の効率が向上します。
標準で用意されているほかに、ユーザーが独自で関数を作ることができます。これをユーザー定義関数といいます。よく使うものなどは関数を定義しておくと便利です。
※ PHPの関数一覧はこちら(関数リファレンス)にあります。

ユーザー定義関数

【書式】

function 関数名() {
  処理に必要なプログラム
  }

結果の値が必要な場合には returnステートメントを使って値を返します。これを戻り値(返し値)と呼びます。
【サンプル】

<?php
//足し算の結果を返す関数
function tasizan($num1, $num2) 
    {
      return $num1 + $num2;
	}
   //ここから関数を呼び出す部分 
   $n1 = 100;
   $n2 = 200;
   echo "$n1 + $n2 = " ;
   echo tasizan($n1,$n2);	
?>
実行

引数の参照渡し

引数にアンパサンド(&)をつけると、引数を参照渡しすることができます。参照渡しした引数は、関数の処理の中で元の引数の値を変更することができます。
【サンプル】
次の例では引数に「まっこい」を指定して関数を呼び出していますが、関数の中で「ジャンリュック」に変わりました。こんなんでいいのかな?(自信ないけど)

<?php
	   function mypet(&$name) 
	     {
		    $name = "ジャンリュック";
		 }
		 
	   //関数を呼び出す
	   $dogname = "まっこい";
	   echo ("初代のわんこは $dogname<br><br>");
	   mypet($dogname);
	   echo ("2代目わんこは $dogname");
?>
実行

PHP 小数点以下の処理

小数点以下の数値の処理

  • 小数点以下の数値を切り上げるには、ceil()関数を使います。
  • 小数点以下の数値を切り捨てるには、floorl()関数を使います。
  • 小数点以下の数値を指定位置で丸めるには、round()関数を使います。
サンプル

※数値を全角で入力すると正しく計算されません。

スクリプト
<form method=post action="">
<table  align="center" bgcolor="#FFFFFF">
  <tr align="center">
    <td width="232">浮動小数点の数値:</td>
    <td width="72"><input size="10" type="text" name="num_a">
    </td>
    <td width="136">桁(丸めの場合)</td>
    <td width="55"><p>
      <input size="5" type="text" name="num_b">
    </p>
      </td>
  </tr>
 </table>
<div align="center"><br>
  <font color="#FF0000">※計算の種類を必ずチェックしてください
    </font>
  <p align="center">
    <br>  
</div>
<div align="center">
  <label>
    <input type="radio" name="calc" value="age">
    切上げ</label>
    <label>
    <input type="radio" name="calc" value="sute">
    切捨て</label>
    <label>
    <input type="radio" name="calc" value="marume">
    丸め</label>
   
  
  </p>
</div>
<p>&nbsp;</p>
<p><br>
</p>
<div align="center">
  <INPUT name="submit2" TYPE="submit" VALUE="計算">
</div>

</FORM>

<table width="352" border="1" align="center" cellpadding="5" bgcolor="#FFFFCC">
  <tr>
    <td align='center' width="334"><span class="brown"><strong>計算結果</strong></span><br><br>

<?php
   extract($_POST);
   //計算の種類(ラジオボタンから取得)
   $kind = @$calc;
   
   //半角数値かを判定
   if (is_numeric(@$num_a)) {
	  
	  //計算の種類を判定して計算する     
	switch ($kind) {
		case "age": 
			$ans = ceil(@$num_a);
			$text = @$num_a."の小数点を切り上げます。".@$num_b."= ";
			break; 
		case "sute":
			$ans = floor(@$num_a);
			$text = @$num_a."の小数点を切捨てます".@$num_b."= ";
			break; 
		case "marume":
			$ans = round(@$num_a,@$num_b);
			$text = @$num_a."の小数点以下".@$num_b."位で丸めます ";
			break; 
	}
	
	  echo "<center><table>";
	  echo "<tr>";
	  echo "<td><b> $text $ans </td>";
	  echo "</table></center>";
   }
   else {
      echo "数値を半角で入力してください。<br>";
   }
?>