こんばんは。
関数と返り値について今日もQちゃん先生に教えてもらった原始人美加子です。
よく使うものや、処理をわかりやすくするために別ファイルに関数を設定し、呼び出して利用する。ということを教えてもらいました!!
関数を設定したい場合は【function】を使って書く。
*説明がしにくいので、今回作った関数はこれ『fnc_tablout_01($sql)』↓を「fnc_01.php」というファイルに書いたとする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<?php function fnc_tablout_01($sql){ $db_director = db_select($sql); //入力内容に該当するものがない場合表示。 if(count($db_director) == 0){ print "*該当するものはありません。"; //検索結果があればテーブルタグで表示する }else{ print <<<EOT <table border='1'> <tr> <th>名前</th><th>ふりがな</th><th>email</th><th>性別</th><th>生年月日</th> </tr> EOT; //DBの内容をfor文で表示 for ($i = 0; $i < count($db_director); $i++) { $temp = $db_director[$i][0]; print "<tr>"; //print $db_director[$i][0];idの検索 print "<td>". $db_director[$i][1]."</td>"; print "<td>". $db_director[$i][2]."</td>"; print "<td>". $db_director[$i][3]."</td>"; if($db_director[$i][4] == 0){ print "<td>男性</td>"; }else{ print "<td>女性</td>"; } print "<td>". $db_director[$i][5]."年".$db_director[$i][6]."月".$db_director[$i][7]."日</td>"; print "</tr>"; } print "</table>"; } return $temp; } |
for文の所に【$temp = $db_director[$i][0];】ってのがあるんだけど、これはDBのidの値のこと。
最後にある【return】でこの関数の返り値は『$temp(DBのidの値)』となる。
なので、他のファイルでDBのidの値を呼び出したい場合は
まず【require】を使って呼び出す↓(例:fnc_01.phpを呼び出す)
1 |
<?php require "fnc_01.php";?> |
次に、さっき作った関数『fnc_tablout_01($sql)』を他のファイル内で動くように変数に代入する。(↓例)
1 |
$id = fnc_tablout_01($sql); |
これで このファイル内では【$id】と書くだけで【関数 fnc_tablout_01($sql)】の処理をした結果の【$temp = $db_director[$i][0];(DBのid値)】を呼び出すことが出来る。
こうすることで、ファイルの中がすっきりとし、何の処理をしているかがわかりやすくなる。
わかった事を紙芝居にでもしてまとめたら 誰でも分かるようになるだろうな~。 と思った原始人美加子であーる。(そのうち紙芝居作るかも~。)
ピンバック: POSTの値とDBの値のどちらを選択するかの設定。 – 原始人みかこのIT奮闘記