関数・クラス解説
func_get_args
version:PHP 4, PHP 5, PHP 7 (公式)関数の引数リストを配列として返す
公式リファレンス
書式
func_get_args ( ) : array
説明
関数の引数リストを配列で取得します。
この関数は func_num_args() および func_get_arg() と組み合わせて使用され、 これによりユーザー定義の章において可変長の引数リストを使用することができるようになります。
返値
配列を返します。この配列の各要素は、 現在のユーザー定義関数の引数リストにおける対応するメンバのコピーとなります。
エラー
ユーザー定義関数の外部からコールされた際に警告を発生します。
注意
注意: この関数は、カレントスコープに依存してパラメータの詳細を決定しますので、5.3.0 より前のバージョンでは関数パラメータとして使用することができません。もし、この値を渡さなければならない場合、戻り値を変数に割り当て、その変数を渡してください。
注意: 引数を参照渡しにすると、その引数への変更がすべてこの関数の返り値に反映されます。PHP 7 からは、引数が値渡しされた場合には現在の値も返されるようになりました。
注意: この関数は、渡された引数のみのコピーを返します。 デフォルトの(渡されていない)引数については考慮しません。
サンプル
例1 func_get_args() の例
function foo()
{
$numargs = func_num_args();
echo "引数の数: $numargs \n";
if ($numargs >= 2) {
echo "二番目の引数は: " . func_get_arg(1) . " です。\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "引数 $i は: " . $arg_list[$i] . " です。\n";
}
}
foo(1, 2, 3);
上の例の出力は以下となります。
引数の数: 3
二番目の引数は: 2 です。
引数 0 は: 1 です。
引数 1 は: 2 です。
引数 2 は: 3 です。
例2 func_get_args() の PHP 5.3 前後の例
test.php
function foo() {
include './fga.inc';
}
foo('First arg', 'Second arg');
fga.inc
$args = func_get_args();
var_export($args);
PHP 5.3 より前のバージョンでの出力は、このようになります。
array (
0 => 'First arg',
1 => 'Second arg',
)
PHP 5.3 以降のバージョンでの出力は、このようになります。
Warning: func_get_args(): Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false
例3 func_get_args() での引数の参照渡しと値渡しの例
function byVal($arg) {
echo 'As passed : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'After change : ', var_export(func_get_args()), PHP_EOL;
}
function byRef(&$arg) {
echo 'As passed : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'After change : ', var_export(func_get_args()), PHP_EOL;
}
$arg = 'bar';
byVal($arg);
byRef($arg);
上の例の PHP 7 での出力は、このようになります。
As passed : array ( 0 => 'bar',)After change : array ( 0 => 'baz',)As passed : array ( 0 => 'bar',)After change : array ( 0 => 'baz',) 上の例の PHP 5 での出力は、このようになります。
As passed : array ( 0 => 'bar',)After change : array ( 0 => 'bar',)As passed : array ( 0 => 'bar',)After change : array ( 0 => 'baz',)
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール