phpでの関数定義とechoの使い方

このQ&Aのポイント
  • phpで関数を定義する際には、functionキーワードを使用します。
  • echoは、指定した内容を表示させるための関数です。
  • say_helloという関数が定義され、その能力はまるかっこの中の$greetingという変数の能力を使います。
回答を見る
  • ベストアンサー

phpで以下のコードが次の認識であっているかどうか

phpで以下のコードが次の認識であっているかどうかおしえてください <?php function say_hello($greeting) { echo $greeting."\n"; }; say_hello("Good morning"); say_helloというワードにfunctionで関数を定義している echoは表示させるための関数だから、 変数$greeting に表示させるという能力をつけさせている say_helloという関数が定義されて、その能力はまるかっこの中の$greetingというものの能力を使う。$greetingの能力はechoさせる能力だから、 A=B B=Cならば A=Cの関係から say_helloはechoの能力を持っている したがって、say_helloによって ("Good morning") が表示される この認識であっていますか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5043/13172)
回答No.1

> say_helloというワードにfunctionで関数を定義している say_helloという名称の関数を定義している > 変数$greeting に表示させるという能力をつけさせている 変数に機能が付く訳ではありません。 関数定義の関数名の後の括弧の中は、関数内の処理に対してデータを引き渡すための変数(一般的に引数と呼ぶ)を定義しているだけです。 なので、function say_hello($greeting) は、say_hello と言う名前の関数を定義し、引数として $greeting を用いることを定義していると言う事になります。 > say_helloはechoの能力を持っている これは概ね合ってます。 プログラミングの場合、能力を持っているとは言わずに機能を持っているという言い方がいいと思います。 > したがって、say_helloによって > ("Good morning") > が表示される 実行結果としては Good morning と表示されるだけで、括弧やダブルコーテーションは出力されません。

okwaveokw
質問者

お礼

渡すという言葉なんですね あと、機能とか

関連するQ&A

  • phpで以下のコードが次の認識であっているかどうか

    phpで以下のコードが次の認識であっているかどうかおしえてください 1番が正しいコードで2番が私が考えたコードです なぜ2番だとエラーになるんでしょうか? 1番 <?php function say_hello($greeting) { echo $greeting."\n"; }; say_hello("Good morning"); 2番 <?php function say_hello() { echo say_hello()."\n"; }; say_hello("Good morning"); php

    • ベストアンサー
    • PHP
  • phpで関数の定義について <?php fun

    phpで関数の定義について <?php function say_hello(){ echo "hello world"."\n"; } say_hello(); echoというのはもともと関数ですよね? 関数を定義するとは、関数を新たに作るということですよね? この新たに作った、say_hello();という関数の中に echo "hello world"."\n";という関数を入れてあるということですか?

    • ベストアンサー
    • PHP
  • php 自作関数

    PHPでfunctionによって定義される関数を作っているのですが 引数なしで関数をつくることは可能なのでしょうか? 例えば function hello{ print "HelloPhp"; } 理想ではphp側でhello関数を呼び出せばHelloPhpと出力されます 実際の使い道は関数名が使い辛いので別の名前で関数名を定義したいんです 引数を与えてもいいのですがfunction側で引数が固定されるためphp側と毎回同じ変数:引数にならない 説明し辛いのですが 先ほど述べた理由で使いたいのですが、わかる方いらっしゃったらよろしくお願いします

    • 締切済み
    • PHP
  • phpでこの場合、calだけが関数の定義をされたん

    phpでこの場合、calだけが関数の定義をされたんですか?それともcal($x)までが関数の定義をされたんですか? <?php function cal($x) { echo ($x *3)."\n"; }; cal(6);

    • ベストアンサー
    • PHP
  • PHPで定義されている関数のコードが見たい

    PHPでコードを記述するとき、関数を定義することがあります。 function test($name){ : : } しかし、最初から定義されている関数がありますよね。 isset()やfile_get_contents()などの関数です。 こういった関数の中身をみたいのですが、PHPのどの部分を見ればいいのでしょうか。 関数の中身とは、たとえばfile_get_contentsなら function file_get_contents($name){ : //この部分のことです。 : } PEARだったら、たとえばDB.phpならばDB,phpの中身を見ればいいのですが、fopen()などの最初から定義されている関数はどこを見れいいのかがわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • このPHPコードのエラー原因を教えてください。

    いつもお世話になっています。 現在PHPの勉強をしているのですが、プログラムがエラーとなり、原因が分からず困っています。 原因の分かる方がいらっしゃれば、教えて頂きたいと思います。 状況は以下の様になっています。 ・PHPのversionは5.2.0、XAMPPはv3.2.1を使用しています。 ・Aptanaでは一番最後のcreate_radio($c, $d)関数で構文エラーが発生しているので、問題はこの辺りにあるのではと考えてはいます。 ・return <<< __end__ ~ __end__;の記述方法がPHPの設定上できないのかもしれません。 (echo <<< ~も使用できませんでした。) ・以下コードです <?php show_header(); show_form(); show_footer(); function show_header(){ $color = "white"; if(isset($_GET["Name_Of_Color"])){ $color = $_GET["Name_Of_Color"]; $color_html = htmlspecialchars($color); echo "<html><body bgcolor='color_html'>"; }else{ echo "<html><body bgcolor='white'>"; } } function show_footer(){ echo "</body></html>"; } function show_form(){ $colors = array("赤色" => "red", "青色" => "blue", "白色" => "white"); echo "<form>"; foreach($colors as $a => $b){ echo create_radio($a, $b); } echo "<input type='submit' value='変更'>"; echo "</form>"; } function create_radio($c, $d){ return <<< __end__ <input type="radio" id="$c" name="Name_Of_Color" value="$d"> <label for="$c">$c</label> __end__; } ?> それでは、よろしくお願いします。

    • 締切済み
    • PHP
  • PHPで定義した変数を引数としてJvaScrptに渡す方法

    PHPファイルで定義した変数を引数としてJvaScrptファイルに渡す方法がわかりません。どうしたらいいでしょうか?具体的には、 ***.php <?php class *** { public function printhello() { $i = "Hello World!"; echo $i; } public function aXces() { $title = "***会社"; $link = "***.php"; $palam = $_POST[name] echo "<a href=\"$link\" onclick=\"hL($palam)\">$title</a>"; } } ?> この$palamをJavaScriptのファイルに渡したいんです。 ***.js function hL($palam) { document.body.innerHTML=document.body.innerHTML.replace(/$palam/g,'<span style=\"background-color : yellow\">$palam</span>');focus(); } ってやってもなかなかうまくいきません。どうすればいいですか?

  • PHPのprivate関数について

    PHPのアクセス修飾子privateについてお聞きします。 以下のようなコードを書いて実行したら、エラーメッセージが出ました。 code: <?php class Super { protected function protectedFunc(){ echo "original-Protected\n\r"; } private function privateFunc(){ echo "Private\n\r"; } public function publicFunc(){ privateFunc(); } } $super = new Super; $super->publicFunc(); ?> error message: Fatal error: Uncaught Error: Call to undefined function privateFunc() in C:\xampp\htdocs\HTML_practice\protected-practice.php:12 Stack trace: #0 C:\xampp\htdocs\HTML_practice\protected-practice.php(17): Super->publicFunc() #1 {main} thrown in C:\xampp\htdocs\HTML_practice\protected-practice.php on line 12 line12 というのは、public 関数であるpublicFunc() の内側で、private関数のprivateFunc() を使おうとした部分ですが、private関数はクラス定義の中だから使えるというのは間違った認識でしょうか? だとするとprivate関数はいつどんな時に使えるのでしょうか? どなたか例を挙げて説明頂けないでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのstrpbrk関数ってひらがなを正しく認識しないのでしょうか?

    PHPのstrpbrk関数ってひらがなを正しく認識しないのでしょうか? <pre> <?php $a=strpbrk("あいうえお","う"); echo $a; ?> </pre> のようにプログラムして実行すると、 あいうえお と表示されます。英字の場合 <pre> <?php $a=strpbrk("abcde","c"); echo $a; ?> </pre> とすると cde と正しい結果が得られるのですが。。文字コードも1通り試してみたのですが、うまくいきませんでした。 どなたか、ご回答お願いいたします。

    • ベストアンサー
    • PHP
  • PHPで以下のようなコードでエラーが出て原因が分かりません

    function hoge($name){ $cb_list=""; for($i=1;$i<count($this->$name);$i++){ $cb_list .= $this->$name[$i+1]; } } としています。 $this->$nameの部分はクラスの中で設定した配列ですがその要素を取得できません。 どのようにしたら良いでしょうか? 関数内で print_r($this->$name); は表示されます。 教えてください。

    • ベストアンサー
    • PHP