<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [PHP: 函數 - Manual](https://www.php.net/manual/zh/language.functions.php) ### 可變數量的參數列表 PHP 在用戶自定義函數中支持可變數量的參數列表。由`...`語法實現。 > **注意**:還可以使用以下函數來獲取可變參數[func\_num\_args()](https://www.php.net/manual/zh/function.func-num-args.php)、[func\_get\_arg()](https://www.php.net/manual/zh/function.func-get-arg.php)和[func\_get\_args()](https://www.php.net/manual/zh/function.func-get-args.php),不建議使用此方式,請使用`...`來替代。 包含`...`的參數,會轉換為指定參數變量的一個數組,見以下示例: **示例 #9 使用`...`來訪問變量參數** ``` function?sum(...$numbers)?{ ????$acc?=?0; ????foreach?($numbers?as?$n)?{ ????????$acc?+=?$n; ????} ????return?$acc; } echo?sum(1,?2,?3,?4); ``` 以上例程會輸出: ~~~ 10 ~~~ 也可以使用`...`語法來傳遞array或**Traversable**做為參數到函數中: **示例 #10 使用`...`來傳遞參數** ``` function?add($a,?$b)?{ ????return?$a?+?$b; } echo?add(...[1,?2])."\n"; $a?=?[1,?2]; echo?add(...$a); ``` 以上例程會輸出: ~~~ 3 3 ~~~ 你可以在`...`前指定正常的位置參數。在這種情況下,只有不符合位置參數的尾部參數才會被添加到`...`生成的數組中。 你也可以在`...`標記前添加一個[類型聲明](https://www.php.net/manual/zh/language.types.declarations.php)。如果存在這種情況,那么`...`捕獲的所有參數必須是提示類的對象。 **示例 #11 輸入提示的變量參數** ``` function?total_intervals($unit,?DateInterval?...$intervals)?{ ????$time?=?0; ????foreach?($intervals?as?$interval)?{ ????????$time?+=?$interval->$unit; ????} ????return?$time; } $a?=?new?DateInterval('P1D'); $b?=?new?DateInterval('P2D'); echo?total_intervals('d',?$a,?$b).'?days'; //?This?will?fail,?since?null?isn't?a?DateInterval?object. echo?total_intervals('d',?null); ``` 以上例程會輸出: ~~~ 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2 ~~~ #### 舊版本的 PHP 不需要特殊的語法來聲明一個函數是可變的;但是訪問函數的參數必須使用[func\_num\_args()](https://www.php.net/manual/zh/function.func-num-args.php),[func\_get\_arg()](https://www.php.net/manual/zh/function.func-get-arg.php)和[func\_get\_args()](https://www.php.net/manual/zh/function.func-get-args.php)函數。 上面的第一個例子在早期 PHP 版本中的實現如下: **示例 #12 在 PHP 早期版本中訪問可變參數** `<?php function?sum()?{ ????$acc?=?0; ????foreach?(func_get_args()?as?$n)?{ ????????$acc?+=?$n; ????} ????return?$acc; } echo?sum(1,?2,?3,?4); ?>` 以上例程會輸出: ~~~ 10 ~~~ ### **命名參數** 命名參數通過在參數名前加上冒號來傳遞。允許使用保留關鍵字作為參數名。參數名必須是一個標識符,不允許動態指定 格式:(定義時的參數名或者參數類型(不接受變量):?參數的值(可接受變量)) array_fill定義:**array_fill**(int `$start_index`,int `$count`,mixed `$value`): ``` //通常傳遞參數 array_fill(0,?100,?50); //使用命名參數(好處就是參數的順序不在重要) array_fill(start_index:?0,?count:?100,?value:?50); array_fill(value:?50,?count:?100,?start_index:?0); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看