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

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

新規登録して質問してみよう
ただいま回答率
85.47%
変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

PHP

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

4回答

969閲覧

PHPの関数を変数に格納した場合の処理速度は早いか

hoh

総合スコア19

変数

変数は、プログラミングにおいて値や文字列などのデータを保持できる仕組みを指します。自由に名前を付けることができるため、管理しやすくなるのが特徴です。プログラムで変数の宣言を行い、値を代入して利用。保持したデータが通用する範囲でローカル変数とグローバル変数に分けられます。

PHP

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2022/03/17 11:29

下記コードのパターン1とパターン2で処理速度は変わりますか?

function test($a,$b){ //処理 } // パターン1 echo test('hoge','hogege'); echo test('hoge','hogege'); echo test('hoge','hogege'); // --------------------------- // パターン2 $test2 = test('hoge','hogege'); echo $test2; echo $test2; echo $test2;

どのような単語で検索すればいいのかわからなかったのでこちらに質問致しました。

ページで複数回使用する関数があるのですが、上記のように変数に格納した場合に処理が早くなるかを教えていただきたいです。
現在使用している関数の処理は、配列から特定の文字列を取得・組み合わせをするような処理ですが、違う場合に速度がかわるのであればそちらも教えていただきたいです。

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

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

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

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

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

hoh

2022/03/17 15:17

今回の質問は「記述で困っている」というよりも、初心者の「素朴な疑問」程度で見ていただけると幸いです。
guest

回答4

0

ページで複数回使用する関数があるのですが、上記のように変数に格納した場合に処理が早くなるかを教えていただきたいです。

両者は動作が違いえます。書き換えて問題ないかを確認するのが先決です。

投稿2022/03/17 11:39

maisumakun

総合スコア145201

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

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

hoh

2022/03/17 15:08

回答ありがとうございます。 色々な記述を試す中で偶発的に今回の疑問に至りました。 どちらの記述でも問題はありませんでした。 個人的には速度で致命的な差がなければ使用用途から見てシンプルな書き方の方にしたいと思っています。
guest

0

パターン2で済むなら、なんでパターン1を考えるんですかね?

ごりごりに処理速度をけずりたいなら関数にしないで直書きするんでしょうが…
そこまでする必要あるんですかね?

問題に対して観点がずれていないか再度検討されてはいかがでしょうか。

投稿2022/03/17 12:06

takasima20

総合スコア7460

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

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

hoh

2022/03/17 15:13

回答ありがとうございます。 関数$testに渡す引数によって取得するデータが変わるので関数を使用していますが、取得するデータによっては複数回使用するので色々な方記述を試す中で今回の疑問に至りました。 個人的には速度で致命的な差がなければ使用用途から見てシンプルな書き方の方にしたいと思っています。
guest

0

自己解決

実際に計測してどちらが速いかは格付け出来ました。
関数内の処理にもよると思いますが、結果としては変数に格納する方が早かったです。
ですが誤差の範囲だったので、処理速度の早さで選ぶよりも書きやすい見やすい記述の方が利点はあると思います。

もっとシンプルな記述がないか思料してみます。

投稿2022/03/17 16:14

編集2022/03/18 00:14
hoh

総合スコア19

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

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

m.ts10806

2022/03/17 21:51

その結果を回答として記載されたほうがあとから見た人の参考になりやすいかと思います。 ※それに記述が短ければパフォーマンスが必ず良いとは限りません
hoh

2022/03/18 00:18

ご指摘ありがとうございます。 結果を追記させて頂きましたが、関数内の処理にもよるので実際の速度は控えさせて頂きました。 ”シンプルな記述”は短いコードではなく、書きやすい記述・見て理解しやすい記述・使いやすいデータの持ち方ということでした。 誤解を招き失礼致しました。
guest

0

PHP のバージョンや、OSの環境によって、結果は変わるので、10000回くらいのループでも書いて、実際に計測してください。

投稿2022/03/17 11:35

phper.k

総合スコア3923

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

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

hoh

2022/03/17 15:14

回答ありがとうございます。 実際に計測してみるということは”計測するまでもなく速度が違う”ということではないのですね。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問