/**
* 매개변수 배열 설명 $ParamList
*
* 배열의 첫 번째 차원 인덱스는 테스트해야 하는 함수의 매개변수 이름입니다. 두 번째 차원의 각 요소는 가능한 값입니다. 테스트해야 하는 매개변수 요소 값은 배열일 수 있습니다.
*/
$ParamList = array("Param1" => array(3,4,3,2,1) ,
“Param2” => 배열(3,2,5),
“Param3” => 배열(0,0.5,1,1.5));
// 테스트 기능
sysTestFunction("Test", $ParamList);
// 테스트할 함수
function Test($Param1, $Param2, $Param3)
{
$Param1 . "|" . $Param3;
* 자동 테스트
* @param string $FunctionName 함수 이름
* @param array $ParamList 매개변수 목록
* @return array
*/
함수 )
{
if(empty($FunctionName))
{
echo "함수 이름은 비워둘 수 없습니다.";
return false;
}
if ( !is_array(current($ParamList)))
echo "매개변수가 2차원 배열이 아닙니다.";
echo "테스트 함수 시작" "< ;br />";
foreach($TestParamList as $Key => $TestParamInfo)
{
foreach($TestParamInfo as $ParamKey => $Param)
{
${"Param" . $ParamKey} = $Param;
$TempParamList[] = "$Param" $ ParamKey;
if(is_array($Param))
{
echo "parameter" . $ParamKey . ", 유형은 배열입니다: ";
;";
print_r ($Param) ; > if ($ Param)
> echo "false"; $ Paramkey. ", 유형은 문자열 또는 숫자입니다:"; }
echo "& lt; br /& gt;
$Params = Join(", ", $TempParamList);
unset($TempParamList);
eval("$TestReturnResult = " . $FunctionName . "(" . $Params . ");");
if(is_array($TestReturnResult))
{
echo "함수는 배열을 반환합니다. :
";
> {
echo " 이 함수는 숫자를 반환합니다. 또는 문자열: " . $TestReturnResult;
}
**
* 조합 계산 함수
*
* @param array $CombinList 배열하여 조합할 2차원 배열
* @return array 조합된 배열
*/
function sysCombineArray($CombinList)
{
if(!is_array(current($CombinList)) )
{
echo "매개변수가 2차원 배열이 아닙니다." ;
return false;
}
/* C(a,1) 값 계산 * C(b, 1) * ... * C(n, 1)*/
$CombineCount = 1;
foreach($CombinList as $Key => $Value) {$CombineCount *= count($Value);
$TempStartPosition += $RepeatTime * count($ParamList);
}
$ RepeatTime = $CombineCount;
foreach($CombinList as $ClassNo => $ParamList)
{
/ / 조합으로 분할된 후 $ParamList에 있는 요소의 최대 수직 반복 횟수
$RepeatTime = $RepeatTime / count($ParamList); $SpaceCount = $CombineCount / count($ParamList) ) / $RepeatTime;
for($J = 1; $J {
~ 이유는 ($I = 0; $I < $ RepeatTime; $I ++)
🎜> }
$Result 반환;
}
?>
위 내용은 PHP 기능을 테스트하는 코드입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!