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

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

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

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

Q&A

解決済

3回答

602閲覧

両者の違いを教えてください。

megumi.

総合スコア7

PHP

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

0グッド

1クリップ

投稿2020/05/22 06:29

プロゲートで関数の戻り値について次のように習いました。
関数の定義
function getSum($num1 + $num2) {
return $num1 + $num2;
}
関数の呼び出し
$Sum = getSum(1,3);
echo $Sum;
そしてドットインストールでは似たような関数が

<?php $Sum = function ($a,$b,$c) { return $a + $b + $c; }; echo $sum(100,300,500).PHP_EOL; プロゲートが正式なやり方でドットインストールは略式なのでしょうか? それとも両者は全く別物なんでしょうか?__イタリックテキスト__

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/05/22 06:46

function getSum($num1 + $num2) {~} って、$num1と$num2を足した値を一つgetSum関数に引き渡しているとしか思えず、誤植を疑ってしまいますが、確かですか?
退会済みユーザー

退会済みユーザー

2020/05/22 06:51

老婆心ながら、誤った情報や誤解を生む情報を垂れ流すオンライン教材とかあるようなので、あちこちのオンライン教材をつまみ食いせず、目的に沿った書籍一つに絞って、足りない情報をネットから補うなどという学習方法をご提案いたします。teratailにプロゲートやドットインストールに関する質問が過去何度も見受けられ、あまりいい印象がありません。
megumi.

2020/05/22 07:00

ごめんなさい。間違えました。疲れているようです。function($num1=,$num2)でした
退会済みユーザー

退会済みユーザー

2020/05/22 07:02

function($num1=,$num2) も、イコール記号は文法エラーを引き起こしそうですが。
megumi.

2020/05/22 07:04

間違えて= いれてました。失礼しました。
guest

回答3

0

function getSum($num1 + $num2)

は、文法的におかしいです

投稿2020/05/22 06:52

yambejp

総合スコア116724

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

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

0

ベストアンサー

(引数部分のtypo等はさておき)プロゲート・ドットインストールともに正しい文法です。

  • プロゲートのほうは、PHPにおいて一般的な関数定義&その呼び出しです。

 どちらの書き方もご存じなければ、まずはこちらを覚えると良いと思います。

  • ドットインストールのほうは、無名関数(クロージャ)を使っています。

 ※無名関数については、下記のPHP公式マニュアルをご覧ください。
https://www.php.net/manual/ja/functions.anonymous.php
そのうち「無名関数を使うと便利なケース」や「無名関数でないと対応できないケース」が出てきますので、とりあえずは「こういう書き方がある」ということは覚えておくと良いかと思います。

投稿2020/05/22 08:27

nak

総合スコア696

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

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

megumi.

2020/05/23 00:34

ごめんなさい。無名関数の内容が分からないです。つまりプロゲートとドットインストールは別物と思っていればいいでしょうか?
nak

2020/05/23 05:52

回答にも記載しましたが、無名関数(ドットインストールのほう)をご存じない・わからないのであれば、まずは一般的な関数定義&その呼び出し(プロゲートのほう)を覚えれば良いかと思います。 内容的には、関数の定義・呼び出し方法「その1(よく使う書き方)」と「その2(特殊だけど便利な書き方)」という理解で良いと思います。 どちらも「関数の定義&呼び出し」という意味では一緒ですが、「具体的な定義方法・使い方」は別物です。 少なくとも「正式」と「略式」という違いではありません(それぞれ、使うのに向いているケースが違いますので)。
guest

0

ドットインストール会員じゃないので、目次レベルですが、

#21 関数で処理をまとめてみよう

#25 無名関数を作ってみよう
の違いじゃないでしょうか。

同じものではないですが、全くの別物かというと解釈によるので、目次レベルでは違うものだという
理解で今のところはよいのでは?

想像ですが、しばらくは無名関数の方は使わないんじゃないかと思います。

投稿2020/05/23 12:16

momon-ga

総合スコア4826

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問