質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

926閲覧

引数を渡すって何ですか?

megumi.

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/05/22 05:24

$rate = 1.1;
function sum ($a,$b,$c) {
global $rate;
return($a + $b + $c) * $rate
}
echo.sum(100,200,300) + sum (300, 400, 500)
質問1引数を渡すってどんな処理ですか?
これはドットインストールの内容です。関数の外にある$rateは、そのままでは使えない。だから関数内にglobal $rateと書いてあげる。先生がその処理はあまりよくないので、関数内に定義してあげる(ここまではわかります。)それか、引数を渡すといっていました。試しにreturn($a + $b + $c) * 1.1とやったらエラーになりました。
質問2 echo.sum(100,200,300) + sum (300, 400, 500)の echo.sumの.は何のために書いてあるんですか?PHPでは+の意味ですよね?なぜここに?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

▼質問1の回答
PHPは関数を実行する際に**関数名()と記述します。
下記のtestという関数を使う場合は$a, $b, $cと3つの引数が定義されています。
下記の例だとこの3つの変数は関数を実行する際に必ず代入するための値を渡さなくてはなりません。
そのため、関数を実行する場合は
test(1, 2, 3)**といった具合にカッコ内に値をセットします。
そうすることで、testという関数はa, $b, $cを使って処理が行うことができます。

PHP

1function test ($a, $b, $c){ 2 //処理 3}

上述までが関数の実行についてですが、
要するに関数で定義された引数にそれぞれ値を代入してあげることが
「引数に渡す」という言葉の意味になります。

▼質問2の回答
ご自身が書いたコードでその質問をされているなら回答はできません。
他の方が書いたコードである場合であっても何のためかどうかは書いた人にしかわかりません。
何のために書いてあるかという仕様を知ることが質問者様のゴールではないと思うので、**何のために書いてあるかを何故知りたいのか?**を記述しないと、他の方も協力ができないと思います。

投稿2020/05/22 06:13

編集2020/05/22 06:19
m.kosuda

総合スコア153

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

megumi.

2020/05/22 06:38

この場合、$rate =1.1;をどこに入れたらいいでしょうか?
m.kosuda

2020/05/22 07:29

$rateはグローバルの変数として、sum関数内で参照されているため、関数を実行するときの引数には入れる必要はありません。 グローバルについてわからない場合は下記を参考にしてください。 https://www.php.net/manual/ja/language.variables.scope.php
guest

0

ベストアンサー

ユーザー定義関数にカッコで適当な値を渡すことです

投稿2020/05/22 05:29

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/05/22 05:29

命題の件、すくなくとも動くように書いてください <?PHP $rate = 1.1; function sum ($a,$b,$c) { global $rate; return($a + $b + $c) * $rate; } echo sum(100,200,300) + sum (300, 400, 500); ちなみに、グローバル処理はハマるので可能な限り回避してください
yambejp

2020/05/22 06:57

$rateを無条件に渡したいならこう $rate = 1.1; $sum=function($a,$b,$c) use ($rate){ return($a + $b + $c) * $rate; }; echo $sum(100,200,300) + $sum (300, 400, 500);
megumi.

2020/05/23 00:12

誤植ばかりで失礼しました。ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問