批改狀態(tài):合格
老師批語:寫得不錯
php----函數(shù)的封裝及參數(shù)長度的控制
自定義封裝的函數(shù),可指定形參的數(shù)量,也可不指定數(shù)量以及指定數(shù)量后擴展數(shù)量等
1.未指定數(shù)量可使用內(nèi)置函數(shù) func_get_args() 來獲取實際傳入的實參的值組成的數(shù)組,以及獲取他們的數(shù)量用 func_num_args()
2.還有php7+新的特性 剩余參數(shù),定義方式和實際運用來處理傳入?yún)?shù)的乘積如下:
所謂的剩余參數(shù)是指;在傳入的實參數(shù)量超過了所指定的數(shù)量后,會將形參指定數(shù)量以外的值打包到一個數(shù)組中
<?php header("Content-Type: text/html;charset=utf-8"); // 不固定參數(shù)數(shù)量,變長參數(shù) function product_arr() { //返回實參的數(shù)量 // $argNum = func_num_args(); //返回真是參數(shù)的值組成的數(shù)組 $argNum = func_get_args(); // $argNum = func_get_arg(0); // 普通方法實現(xiàn)乘積 $product_num = 1; foreach ($argNum as $key => $value) { $product_num *= $value; if ($key + 1 === count($argNum)) { return $product_num; } } //利用php內(nèi)置函數(shù)實現(xiàn) // $product_num = array_product($argNum); // return $product_num; } // print_r(product_arr(range(1,10,1)));//362880 // print_r(product_arr(1,2,3));//6 //變長參數(shù):剩余參數(shù),php7+ function product_arr2(...$argNum) { //普通方法實現(xiàn) // $product_num=1; // foreach($argNum as $key=>$value){ // $product_num *= $value; // if($key+1 === count($argNum)){ // return $product_num; // } // } //利用php內(nèi)置函數(shù)實現(xiàn) // $product_num = array_product($argNum); // return $product_num; } // print_r(product_arr2(range(1,10,1),range(1,10,1)));//362880 print_r(product_arr2(1, 2, 3)); //變長參數(shù)2,用來擴展參數(shù) function product_arr3($a, $b, ...$c) { if (!empty($c)) { array_push($c, $a, $b); //普通方法實現(xiàn) // $product_num = 1; // foreach ($c as $key => $value) { // $product_num *= $value; // if ($key + 1 === count($c)) { // return $product_num; // } // } //利用php內(nèi)置函數(shù)實現(xiàn) $product_num = array_product($c); return $product_num; } else { return $a * $b; } } print_r(product_arr3(1, 2, 3,5));
點擊 "運行實例" 按鈕查看在線實例
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號