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

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

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

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

Q&A

解決済

1回答

2573閲覧

(PHP)メソッドの引数を配列として取得する方法

peyoung

総合スコア122

PHP

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

0グッド

0クリップ

投稿2014/10/26 07:28

PHPにおいてすべての引数を配列として取得する方法を知りませんか。

現在私は次のような複数の引数を整形するPHPの関数を使っています。

lang

1function foo($a1 = null, $a2 = null, $a3 = null, $a4 = null){ 2 if ($a1 !== null) doSomethingWith($a1, 1); 3 if ($a2 !== null) doSomethingWith($a2, 2); 4 if ($a3 !== null) doSomethingWith($a3, 3); 5 if ($a4 !== null) doSomethingWith($a4, 4); 6}

しかしこれを関数の機能を保ったまま以下のようなコードに書き換えたいと思っています。

lang

1function foo(params $args){ 2 for ($i = 0; $i < count($args); $i++) 3 doSomethingWith($args[$i], $i + 1); 4}

C#のparamsキーワードやJavaScriptにおける引数の配列のように機能するものを探しています。よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

func_get_arg関数を使うと、そのとき使っている関数のすべての引数を含んだ配列を返してくれますよ。

下記例

lang

1function test(){ 2 $result = null; 3 foreach(func_get_args() as $val){ 4 $result .= $val ; 5 } 6 return $result; 7}

是非やってみてください!!

投稿2014/10/26 08:05

saori92

総合スコア139

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問