麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 語言 > PHP > 正文

測(cè)試php函數(shù)的方法

2024-09-04 11:49:53
字體:
供稿:網(wǎng)友

本文提供的方法是用于測(cè)試php函數(shù)的代碼,今天忽然想到的,就寫了一段測(cè)試php函數(shù)的代碼,代碼如下:

  1. <?php 
  2. /** 
  3.  * 參數(shù)數(shù)組$ParamList說明 
  4.  * 
  5.  * 數(shù)組的第一維索引是需要測(cè)試的函數(shù)的參數(shù)名,第二維的每個(gè)元素是該參數(shù)需要測(cè)試的可能值,元素值可以為數(shù)組。 
  6.  */ 
  7. $ParamList = array("Param1" => array(3,4,3,2,1), 
  8.                    "Param2" => array(3,2,5), 
  9.                    "Param3" => array(0,0.5,1,1.5)); 
  10. // 測(cè)試函數(shù) 
  11. sysTestFunction("Test"$ParamList); 
  12.  
  13. // 待測(cè)試的函數(shù) 
  14. function Test($Param1$Param2$Param3
  15.     return $Param1 . "|" . $Param2 . "|" . $Param3
  16.  
  17. /** 
  18.  * 自動(dòng)測(cè)試 
  19.  * 
  20.  * @param  string  $FunctionName  函數(shù)名稱 
  21.  * @param  array   $ParamList     參數(shù)列表 
  22.  * @return array 
  23.  */ 
  24. function sysTestFunction($FunctionName$ParamList
  25.     if(emptyempty($FunctionName)) 
  26.     { 
  27.         echo "函數(shù)名不能為空"
  28.         return false; 
  29.     } 
  30.     if(!is_array(current($ParamList))) 
  31.     { 
  32.         echo "參數(shù)不是2維數(shù)組"
  33.         return false; 
  34.     } 
  35.     $TestParamList = sysCombineArray($ParamList); 
  36.     echo "開始測(cè)試函數(shù)" . $FunctionName . "<br />"
  37.     foreach($TestParamList as $Key => $TestParamInfo
  38.     { 
  39.         echo "開始測(cè)試第" . $Key . "組參數(shù):<br />"
  40.         foreach($TestParamInfo as $ParamKey => $Param
  41.         { 
  42.             ${"Param" . $ParamKey} = $Param
  43.             $TempParamList[] = "$Param" . $ParamKey
  44.             if(is_array($Param)) 
  45.             { 
  46.                 echo "參數(shù)" . $ParamKey . ",類型為數(shù)組:"
  47.                 echo "<pre>"
  48.                 print_r($Param); 
  49.             } 
  50.             elseif(is_bool($Param)) 
  51.             { 
  52.                 echo "參數(shù)" . $ParamKey . ",類型為boll:"
  53.                 if($Param
  54.                 { 
  55.                     echo "true"
  56.                 } 
  57.                 else 
  58.                 { 
  59.                     echo "false"
  60.                 } 
  61.             } 
  62.             else 
  63.             { 
  64.                 echo "參數(shù)" . $ParamKey . ",類型為字符串或數(shù)字:"
  65.                 echo $Param
  66.             } 
  67.             echo "<br />"
  68.         } 
  69.         $Params = join(", "$TempParamList); 
  70.         unset($TempParamList); 
  71.         eval("$TestReturnResult = " . $FunctionName . "(" . $Params . ");"); 
  72.         if(is_array($TestReturnResult)) 
  73.         { 
  74.             echo "函數(shù)返回?cái)?shù)組:<pre>"
  75.             print_r($TestReturnResult); 
  76.         } 
  77.         elseif(is_bool($TestReturnResult)) 
  78.         { 
  79.             if($TestReturnResult
  80.             { 
  81.                 echo "函數(shù)返回true"
  82.             } 
  83.             else 
  84.             { 
  85.                 echo "函數(shù)返回false"
  86.             } 
  87.         } 
  88.         else 
  89.         { 
  90.             echo "函數(shù)返回?cái)?shù)字或字符串:" . $TestReturnResult
  91.         } 
  92.         echo "<br /><br />"
  93.     } 
  94. /** 
  95.  * 計(jì)算組合的函數(shù) 
  96.  * 
  97.  * @param  array $CombinList 待排列組合的2維數(shù)組 
  98.  * @return array             組合后的數(shù)組 
  99.  */ 
  100. function sysCombineArray($CombinList
  101.     if(!is_array(current($CombinList))) 
  102.     { 
  103.         echo "參數(shù)不是2維數(shù)組"
  104.         return false; 
  105.     } 
  106.     /* 計(jì)算C(a,1) * C(b, 1) * ... * C(n, 1)的值 */ 
  107.     $CombineCount = 1; 
  108.     foreach($CombinList as $Key => $Value
  109.     { 
  110.         $CombineCount *= count($Value); 
  111.     } 
  112.     $RepeatTime = $CombineCount
  113.     foreach($CombinList as $ClassNo => $ParamList
  114.     { 
  115.         // $ParamList中的元素在拆分成組合后縱向出現(xiàn)的最大重復(fù)次數(shù) 
  116.         $RepeatTime = $RepeatTime / count($ParamList); 
  117.         $StartPosition = 1; 
  118.         foreach($ParamList as $Param
  119.         { 
  120.             $TempStartPosition = $StartPosition
  121.             $SpaceCount = $CombineCount / count($ParamList) / $RepeatTime
  122.             for($J = 1; $J <= $SpaceCount$J ++) 
  123.             { 
  124.                 for($I = 0; $I < $RepeatTime$I ++) 
  125.                 { 
  126.                    $Result[$TempStartPosition + $I][$ClassNo] = $Param
  127.                 } //Vevb.com 
  128.                 $TempStartPosition += $RepeatTime * count($ParamList); 
  129.             } 
  130.             $StartPosition += $RepeatTime
  131.         } 
  132.     } 
  133.     return $Result
  134. ?> 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产亚洲精品久久久久久久 | 欧美特级一级毛片 | 精品国产一区二 | 久草在线新时代视觉 | 成年人网站视频免费 | 中国女人内谢69xxxx天美 | 九九热精品视频在线 | 999插插插 | 日本成年免费网站 | 日本aaaa片毛片免费观蜜桃 | 国产精品久久在线观看 | 精品一区二区三区在线观看视频 | 九色91视频 | 激情小说另类 | 一分钟免费观看完整版电影 | 国产中出视频 | 性生活视频软件 | 日韩视频在线一区二区三区 | 999精品国产 | 日本一区二区在线看 | 91羞羞| 黄色一级片在线免费观看 | 圆产精品久久久久久久久久久 | 嫩呦国产一区二区三区av | 久久久日韩精品一区二区三区 | 黄污网站在线观看 | 成人福利视频导航 | 99日韩精品视频 | 国产妇女乱码一区二区三区 | 色的综合 | 国内毛片视频 | 黄色网址你懂的 | www.91成人 | 国产精品成人av片免费看最爱 | 日本大片在线播放 | 欧美a视频 | 欧美色另类 | 久草在线观看福利视频 | 欧美成人性色 | xxxxxx中国| 亚洲操比视频 |