🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

Q&A

1回答

796閲覧

【php】functionキーワードを使った関数の定義について

manabitate

総合スコア5

PHP

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

0グッド

0クリップ

投稿2019/11/30 08:50

【実現したいこと】
引数 $price で指定された数値と引数 $taxrate で指定された税率を元に、税込み金額を「円」を付けて返したい
・処理内容:$price ×(1+ $taxrate)
・処理例:100 × (1+0.08)= 108円

$price に 1980 を、$taxrate に 0.08 を代入し、addtax() 関数の結果を表示します。

ブラウザ確認画面は
2138.4円

以下の内容で入力しました

見出し h1<?php

見出し h2 ini_set('display_errors', 'On');

見出し h3 error_reporting(E_ALL);

見出し h4// 自作関数を作ります。

見出し h5 function addtax($price,$taxrate){
見出し h6 $price * (1+ $taxrate = 0.08);

####### 見出し h7 return $price;
######## 見出し h8 // 自作関数をチェックします。
######### 見出し h9 }
########## 見出し h10 echo addtax(1980) . "円";
########### 見出し h11?>

エラー内容
Fatal error: Uncaught ArgumentCountError: Too few arguments to function addtax(), 1 passed in C:\xampp\htdocs\test\2\2-4-2.php on line 10 and exactly 2 expected in C:\xampp\htdocs\test\2\2-4-2.php:5 Stack trace: #0 C:\xampp\htdocs\test\2\2-4-2.php(10): addtax(1980) #1 {main} thrown in C:\xampp\htdocs\test\2\2-4-2.php on line 5

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

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

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

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

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

m.ts10806

2019/11/30 08:59

見ての通りマークダウンの文書機能でぐっちゃです。 コードは<code>使ってください。
m.ts10806

2019/11/30 09:00

あとエラーメッセージは確認されたのでしょうか。 ほぼそのまま原因でてますけど
guest

回答1

0

質問するときのヒントを参考に、Markdownを修正してください。


エラーの内容の主なところは「Too few arguments to function addtax()」です。こちらの意味は理解されていますでしょうか。
addtax関数に渡されている引数が少ないという意味です。ではいくつ渡すのが正しいのでしょうか。

PHP

1function addtax($price,$taxrate){

と定義されていますので、$priceと$taxrateの2つを渡す必要があります。
またその中の行も間違っていますので、修正すると

PHP

1function addtax($price, $taxrate){ 2 $answer = $price * (1 + $taxrate); 3 return $answer; 4}

となります。

そしてその後呼び出す際には$price(税抜価格)と$taxrate(税率)を渡す必要があるので、

PHP

1echo addtax(1980, 0.08)."円";

となります。
そもそも税率を関数を実行するたびに設定する必要がない場面であればまた変わってきますが。

投稿2019/11/30 09:39

Takumiboo

総合スコア2536

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問