一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php 函數使用可變數量的參數方法

php 函數使用可變數量的參數方法

2021-05-13 18:46PHP教程網 PHP教程

下面小編就為大家帶來一篇php 函數使用可變數量的參數方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

php在用戶自定義函數中支持可變數量的參數列表。

在php5.5及更早的版本中,使用func_num_args(), func_get_arg(), func_get_args()函數實現。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
function myfunc(){
 
  // 獲取參數數量
  echo func_num_args().PHP_EOL;
 
  // 獲取第一個參數的值:
  print_r(func_get_arg(0));
  echo PHP_EOL;
 
  // 獲取所有參數的值
  print_r(func_get_args());
  echo PHP_EOL;
 
}
 
myfunc('a');
myfunc(1, 2, 3);
myfunc(array('d','e'), array('f'));
 
?>

輸出:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
1
a
Array
(
  [0] => a
)
 
3
1
Array
(
  [0] => 1
  [1] => 2
  [2] => 3
)
 
2
Array
(
  [0] => d
  [1] => e
)
 
Array
(
  [0] => Array
    (
      [0] => d
      [1] => e
    )
 
  [1] => Array
    (
      [0] => f
    )
 
)

在php5.6及以上的版本中,可以使用…語法實現。

例子1: 使用…$args代替任意數量參數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
function myfunc(...$args){
 
  // 獲取參數數量
  echo count($args).PHP_EOL;
 
  // 獲取第一個參數的值:
  print_r($args[0]);
  echo PHP_EOL;
 
  // 獲取所有參數的值
  print_r($args);
  echo PHP_EOL;
 
}
 
myfunc('a');
myfunc(1, 2, 3);
myfunc(array('d','e'), array('f'));
 
?>

輸出結果與php5.5使用func_num_args(), func_get_arg(), func_get_args()函數一致。

例子2: 數組轉為參數列表

?
1
2
3
4
5
6
7
8
9
10
11
<?php
 
function add($a, $b){
  echo $a + $b;
}
 
$args = array(1, 2);
 
add(...$args); // 輸出3
 
?>

例子3: 部分參數指定,其他參數數量不定

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
function display($name, $tag, ...$args){
  echo 'name:'.$name.PHP_EOL;
  echo 'tag:'.$tag.PHP_EOL;
  echo 'args:'.PHP_EOL;
  print_r($args);
  echo PHP_EOL;
}
 
display('fdipzone', 'programmer');
display('terry', 'designer', 1, 2);
display('aoao', 'tester', array('a','b'), array('c'), array('d'));
 
?>

輸出:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
name:fdipzone
tag:programmer
args:
Array
(
)
 
name:terry
tag:designer
args:
Array
(
  [0] => 1
  [1] => 2
)
 
name:aoao
tag:tester
args:
Array
(
  [0] => Array
    (
      [0] => a
      [1] => b
    )
 
  [1] => Array
    (
      [0] => c
    )
 
  [2] => Array
    (
      [0] => d
    )
 
)

以上這篇php 函數使用可變數量的參數方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青在线国产视频 | 国产精品视频在线观看 | 91精品国产高清久久久久久91 | 精品国产无限资源免费观看 | 日本韩国推理片免费观看网站 | 亲爱的客栈第二季免费观看完整版 | 视频一区国产精戏刘婷30 | 视频国产精品 | 99视频在线看观免费 | 亚欧有色在线观看免费版高清 | 情趣内衣在线观看 | 国产精品亚洲一区二区久久 | 美女的隐私无遮挡撒尿 | 极品ts赵恩静和直男激战啪啪 | 国内揄拍国内精品久久 | 猛男深夜狂cao小男生 | 久久精品WWW人人爽人人 | 成年性午夜免费视频网站不卡 | 12一14性xxxxx国外 | 亚洲精品福利一区二区在线观看 | 国模李丽莎大尺度啪啪 | 亚洲一区二区三区免费视频 | 亚洲 日本 中文字幕 制服 | 久久re热在线视频精69 | fc2免费人成在线 | 国产亚洲欧美一区二区三区 | 日韩欧美高清视频 | 歪歪私人影院成人毛片 | 人与动人物性行为zozo共患病 | 边摸边吃奶玩乳尖视频 | 四虎永久免费地址 | 国产精品久久久久不卡绿巨人 | 四虎麻豆 | 青青青青青国产费线在线观看 | 青青草国产免费久久久91 | 免费精品一区二区三区在线观看 | 色老板视频在线 | 亚洲国产欧美在线人成 | 成人在线一区二区三区 | 国产精品自在线 | 超h高h肉h文武侠 |