Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#跟檢查變數有關的類別
namespace qbpwcf;

#匯入外部套件
include("../allInOne.php");

/*

#提示正在測試的方法
echo"<hr>variableCheck::isexistMuti<p>";

#測試用的陣列
$test["name"]="Jeff";
$test["gender"]="male";
$test["age"]=18;
$test["other"]=array("Taiwan","fedora","php");

#echo $ageype=gettype($test["age"]);
        
#涵式說明:
#檢查陣列裡面的特定元素是否存在,如果沒有設定則給與提示訊息。
#回傳的結果:
#$result...
#必填寫的參數:
$conf["varInput"]=$test;#要檢查的陣列變數
$conf["variableCheck"]=array("name","gender","age","other");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
#可以省略的參數:
$conf["variableType"]=array("string","string","integer","array");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double"); 
#var_dump(variableCheck::isexistMuti($conf));
unset($conf);

#除測試用變數
unset($test);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkType<p>";
                
#測試用地變數
$id=array(1,2,3);
        
#函式說明:
#檢查變數的形態是否正確
#回傳的結果:
#$result,若爲0則表示形態正確,反之形態有誤。
#必填的參數:
$conf["vName"]=$id;#要檢查的變數
$conf["vType"]="array";#變數的形態
#var_dump(variableCheck::checkType($conf));
unset($conf);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::computeIsset - testCase 1<p>";

#測試用的變數
$inputArray["no"]=12;
$inputArray["name"]="Pop";
$inputArray["color"]="red";

#涵式說明:
#檢查一個陣列變數裏面含有指定key的元素共有個
#回傳的結果:
#$result,爲總共找到幾個不是空值的數量 
#必填的參數:
$conf["conditionValue"]=array("name","age");#想要調查具有該名稱的陣列元素,須為陣列值
$conf["inputArray"]=$inputArray;#想要檢查的陣列變數,須為陣列值
var_dump(variableCheck::computeIsset($conf));
unset($conf);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkElementExistFromAnArray - testCase 1<p>";

#涵式說明:
#檢查某個元素是否存在於該一維陣列變數裏面
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["founded"],"true",表示該元素已經存在於該一維陣列變數裏面,"false"表示該元素不存在於該一維陣列變數裏面      .
#必填寫的參數:
$conf["searchString"]="fedora";#要搜尋的元素內容
$conf["searchArray"]=array("ubuntu","debian","fedora","redhat");#要搜尋的陣列變數               
var_dump(variableCheck::checkElementExistFromAnArray($conf));
unset($conf);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkElementExistFromAnArray - testCase 2<p>";

#涵式說明:
#檢查某個元素是否存在於該一維陣列變數裏面
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["founded"],"true",表示該元素已經存在於該一維陣列變數裏面,"false"表示該元素不存在於該一維陣列變數裏面      .
#必填寫的參數:
$conf["searchString"]="openSuse";#要搜尋的元素內容
$conf["searchArray"]=array("ubuntu","debian","fedora","redhat");#要搜尋的陣列變數               
var_dump(variableCheck::checkElementExistFromAnArray($conf));
unset($conf);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::assignSessionValueToVar - testCase 1<p>";

#測試用的變數
$_SESSION["key1"]["key2"]["key3"]="key1to3";

#涵式說明:
#判斷三維的session變數 $_SESSION["key1"]["key2"]["key3"]... 是否存在,如果存在就將其數值回傳,反之則回傳指定的數值。         
#必填的參數:
$conf["sessionName"]=array("key1","key2","key3");#要取得的session變數名稱,須爲陣列字串值。$conf["sessionName"][0]對應的是session變數的第1個key;$conf["sessionName"][1]對應的是session變數的第2個key;$conf["sessionName"][2]對應的是session變數的第3個key。
#可省略的參數:
#$conf["ifEmptyThenSet"]="";#如果目標session變數不存在,則指派爲什麼樣的數值給目標變數?預設爲""
#$conf["unsetSessionVar"]="true";#是否要在指派完變數之後將該sesssion變數卸除,設爲"true",表示要。
var_dump(variableCheck::assignSessionValueToVar($conf));
unset($conf);

var_dump($_SESSION["key1"]["key2"]["key3"]);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::assignSessionValueToVar - testCase 2<p>";

#測試用的變數
$_SESSION["key1"]=array(
        'key2'=>array(
                'key3'=>'key1to3'
                )
        );

#涵式說明:
#判斷三維的session變數 $_SESSION["key1"]["key2"]["key3"]... 是否存在,如果存在就將其數值回傳,反之則回傳指定的數值。         
#必填的參數:
$conf["sessionName"]=array("key1","key2","key3");#要取得的session變數名稱,須爲陣列字串值。$conf["sessionName"][0]對應的是session變數的第1個key;$conf["sessionName"][1]對應的是session變數的第2個key;$conf["sessionName"][2]對應的是session變數的第3個key。
#可省略的參數:
#$conf["ifEmptyThenSet"]="";#如果目標session變數不存在,則指派爲什麼樣的數值給目標變數?預設爲""
$conf["unsetSessionVar"]="true";#是否要在指派完變數之後將該sesssion變數卸除,設爲"true",表示要。
var_dump(variableCheck::assignSessionValueToVar($conf));
unset($conf);

var_dump($_SESSION);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::assignSessionValueToVar - testCase 3<p>";

#涵式說明:
#判斷三維的session變數 $_SESSION["key1"]["key2"]["key3"]... 是否存在,如果存在就將其數值回傳,反之則回傳指定的數值。         
#必填的參數:
$conf["sessionName"]=array("key1","key2","key3");#要取得的session變數名稱,須爲陣列字串值。$conf["sessionName"][0]對應的是session變數的第1個key;$conf["sessionName"][1]對應的是session變數的第2個key;$conf["sessionName"][2]對應的是session變數的第3個key。
#可省略的參數:
$conf["ifEmptyThenSet"]="unset";#如果目標session變數不存在,則指派爲什麼樣的數值給目標變數?預設爲""
#$conf["unsetSessionVar"]="true";#是否要在指派完變數之後將該sesssion變數卸除,設爲"true",表示要。
var_dump(variableCheck::assignSessionValueToVar($conf));
unset($conf);
        
*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::assignVarToSessionValue - testCase 1<p>";

#測試用的變數
$var="varValue";

#涵式說明:
#判斷變數是否存在,將之儲存到session變數裏面
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["founded"],變數是否存在,"true"為存在,"false"為不存在.     
#必填的參數:
#$conf["var"],參考變數,想要確認是否存在的變數
$conf["var"]=&$var;
#$conf["sessionVarName"],陣列字串,要將變數存到key為什麼的session多維變數裏面
$conf["sessionVarName"]=array("L1","L2","L3");
#備註:
#要改寫成可以依據 $conf["sessionVarName"] 元素數量建立多維的session變數
var_dump(variableCheck::assignVarToSessionValue($conf));
unset($conf);  

#看session變數是否建立成功
var_dump($_SESSION);
  
*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::assignVarToSessionValue - testCase 2<p>";

#涵式說明:
#判斷變數是否存在,將之儲存到session變數裏面
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["founded"],變數是否存在,"true"為存在,"false"為不存在.     
#必填的參數:
#$conf["var"],參考變數,想要確認是否存在的變數
$conf["var"]=&$var;
#$conf["sessionVarName"],陣列字串,要將變數存到key為什麼的session多維變數裏面
$conf["sessionVarName"]=array("L1","L2","L3");
#備註:
#要改寫成可以依據 $conf["sessionVarName"] 元素數量建立多維的session變數
var_dump(variableCheck::assignVarToSessionValue($conf));
unset($conf);  

#看session變數是否建立成功
var_dump($_SESSION);
  
*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::assignVarToSessionValue - testCase 3<p>";

$variableCheck_assignVarToSessionValue_testCase_3="vat3";

#涵式說明:
#判斷變數是否存在,將之儲存到session變數裏面
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["founded"],變數是否存在,"true"為存在,"false"為不存在.
#必填的參數:
#$conf["var"],參考變數,想要確認是否存在的變數
$conf["var"]=&$variableCheck_assignVarToSessionValue_testCase_3;
#$conf["sessionVarName"],陣列字串,要將變數存到key為什麼的session多維變數裏面
$conf["sessionVarName"]=array("variableCheck","assignVarToSessionValue","testCase","3");
#備註:
#要改寫成可以依據 $conf["sessionVarName"] 元素數量建立多維的session變數
$assignVarToSessionValue=variableCheck::assignVarToSessionValue($conf);
unset($conf);

#如果運行失敗
if($assignVarToSessionValue["status"]==="false"){

        #印出內容
        var_dump($assignVarToSessionValue);
        
        #結束執行
        exit;

        }#if end
        
$variableCheck_assignVarToSessionValue_testCase_3_1="vat3_1";   
        
#涵式說明:
#判斷變數是否存在,將之儲存到session變數裏面
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["founded"],變數是否存在,"true"為存在,"false"為不存在.
#必填的參數:
#$conf["var"],參考變數,想要確認是否存在的變數
$conf["var"]=&$variableCheck_assignVarToSessionValue_testCase_3_1;
#$conf["sessionVarName"],陣列字串,要將變數存到key為什麼的session多維變數裏面
$conf["sessionVarName"]=array("variableCheck","assignVarToSessionValue","testCase","3_1");
#備註:
#要改寫成可以依據 $conf["sessionVarName"] 元素數量建立多維的session變數
$assignVarToSessionValue=variableCheck::assignVarToSessionValue($conf);
unset($conf);

#如果運行失敗
if($assignVarToSessionValue["status"]==="false"){

        #印出內容
        var_dump($assignVarToSessionValue);
        
        #結束執行
        exit;

        }#if end

#debug
#var_dump($_SESSION);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkSkipableVarType - testCase1<p>";

#測試用的陣列
$test["name"]="Jeff";
$test["gender"]=2;
$test["other"]=array("Taiwan","fedora","php");

#函式說明:
#檢查一包含數個可省略變數的陣列變數,其型態是否正確
#回傳的結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列.
#$result["content"],哪個可省略參數的型態不正確.
#必填的參數:
#$conf["variableCheck"]["checkSkipableVarType"]["checkedVar"],陣列,要檢查的變數陣列名稱為?
$conf["variableCheck"]["checkSkipableVarType"]["checkedVar"]=$test;
#$conf["variableCheck"]["checkSkipableVarType"]["sikpableVarNameArray"],字串陣列,要檢查型態是否設定正確的變數名稱陣列.
$conf["variableCheck"]["checkSkipableVarType"]["sikpableVarNameArray"]=array("people","name","gender","age","other","money","falseName");
#$conf["variableCheck"]["checkSkipableVarType"]["skipableVarTypeArray"],字串陣列,要檢查的每個變數,其型態應該要為何?
$conf["variableCheck"]["checkSkipableVarType"]["skipableVarTypeArray"]=array("string","string","integer","integer","array","string","string");
#$argu,要直接存取的陣列變數名稱
$argu=&$test;
#可省略參數:
#$conf["variableCheck"]["checkSkipableVarType"]["skipableVarDefaultValue"],字串陣列,每個不存的變數要初始化為什麼,"null"代表不指定.
$conf["variableCheck"]["checkSkipableVarType"]["skipableVarDefaultValue"]=array("4",null,null,null,null,"1000","false");
variableCheck::checkSkipableVarType($conf["variableCheck"]["checkSkipableVarType"],$argu);
unset($conf["variableCheck"]);
#var_dump($conf);

var_dump($test);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 1<p>";

$arguments["mustBeFilled.A"]="123";
$arguments["mustBeFilled.B"]=123;
$arguments["mustBeFilled.C"]=array(1,2,3);
#$arguments["skipable.D"]="321";
#$arguments["skipable.E"]=321;
#$arguments["skipable.F"]=array(1,2,3);
#$arguments["skipable.G"]=array(array(3),array(2),array(1));

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數.
$conf["varInput"]=&$arguments;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("mustBeFilled.A","mustBeFilled.B","mustBeFilled.C");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string","integer","double"); 
$conf["mustBeFilledVariableType"]=array("string","integer","array");
#可以省略的參數:
#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false"。
#$conf["canBeEmptyString"]="false";
#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("skipable.D","skipable.E","skipable.F","skipable.G");
#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string","integer","double"); 
$conf["skipableVariableType"]=array("string","integer","array","array");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null代表不指定.
$conf["skipableVarDefaultValue"]=array(null,321,$arguments["mustBeFilled.C"],array(array(3),array(2),array(1)));
$result=variableCheck::checkArguments($conf);
unset($conf);

#檢查結果
#var_dump($result);

#檢查參數
var_dump($arguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 2<p>";

#要測試的參數
$checkVar=array();

#必填的參數
$checkVar["place"]=array(" ");
$checkVar["account"]=array(" ");
$checkVar["selectedDataBaseName"]=array(" ");
$checkVar["selectedDataTableName"]=array(" ");

#可省略的參數
$checkVar["columnShowed"]=array("a","b","c");
$checkVar["linkColumnName"]=array("id");
$checkVar["operationShowed"]=array("...","add","edit","erase");

#檢查參數
#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數.
$conf["variableCheck.checkArguments"]["varInput"]=&$checkVar;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"][]="place";
$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"][]="account";
$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"][]="selectedDataBaseName";
$conf["variableCheck.checkArguments"]["mustBeFilledVariableName"][]="selectedDataTableName";
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"][]="array";
$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"][]="array";
$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"][]="array";
$conf["variableCheck.checkArguments"]["mustBeFilledVariableType"][]="array";
#可以省略的參數:
#$conf["variableCheck.checkArguments"]["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
$conf["variableCheck.checkArguments"]["canBeEmptyString"]="false";
#$conf["variableCheck.checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="columnYouWant";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="columnShowed";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="columnTitleName";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="operationDefaultShowed";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="hiddenLinkVarName";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="operationVarName";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="operationShowed";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="operationVarValue";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="operationActionPage";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="operationTarget";
$conf["variableCheck.checkArguments"]["skipableVariableName"][]="parentTableIdColumnName";
#$conf["variableCheck.checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="array";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="array";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="array";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="string";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="array";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="string";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="array";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="array";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="string";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="string";
$conf["variableCheck.checkArguments"]["skipableVariableType"][]="string";
#$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定.
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]=array(array("id","name"));
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]=array(array("name"));
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]=$checkVar["columnShowed"];
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]="請選擇";
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]=$checkVar["linkColumnName"];
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]="action";
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]=array("請選擇","修改","移除");
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]=$checkVar["operationShowed"];
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]="action.php";
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]="_top";
$conf["variableCheck.checkArguments"]["skipableVarDefaultValue"][]="id";
$checkResult=variableCheck::checkArguments($conf["variableCheck.checkArguments"]);
unset($conf["variableCheck.checkArguments"]);   

#檢查結果
#var_dump($checkResult);

#檢查可省略的參數有無出現
var_dump($checkVar);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 3<p>";

#要測試的參數
$checkVar=array();

#必填的參數
$checkVar["place"]=array(" ");
$checkVar["account"]=array(" ");

#可省略的參數
#$checkVar["linkColumnName"]=array("id");
$checkVar["operationShowed"]=array("...","add","edit","erase");
#$checkVar["var1"];
#$checkVar["var2"];

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$checkVar;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("place","account");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
$conf["mustBeFilledVariableType"]=array("array","array");
#可以省略的參數:
#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
#$conf["canBeEmptyString"]="false";
#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("linkColumnName","operationShowed","var1","var2");
#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("array","array","array","array");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
$conf["skipableVarDefaultValue"]=array(array("id"),null,$checkVar["operationShowed"],"\$checkVar[\"linkColumnName\"]");
#Bug:
#每遇到用一個可省略變數的預設直產生,就要立即套用到目標變數陣列裡面,不能等到所有可省略變數的指定預設值都指指定完後,再套用預設值。
$checkResult=variableCheck::checkArguments($conf);
unset($conf);

#檢查結果
#var_dump($checkResult);

#檢查可省略的參數有無出現
var_dump($checkVar);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 4<p>";

$varInput["A"]=array(1,2,3);
$varInput["B"]=array(4,5,6);
$varInput["a"]="aa";
$varInput["b"]="bb";
#$varInput["C"]="cc";
$varInput["D"]=array(7,8,9);
$varInput["E"]=array(0,-1,-2,"-3");
#$varInput["F"]="ff";

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("A","B","a","b");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
$conf["mustBeFilledVariableType"]=array("array","array","string","string");
#可以省略的參數:
#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
$conf["canBeEmptyString"]="false";
#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("C","D","E","F");
#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","array","array","string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
$conf["arrayCountEqualCheck"][]=array("A","D");
$conf["arrayCountEqualCheck"][]=array("B","E");
var_dump(variableCheck::checkArguments($conf));
unset($conf);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 5<p>";

$varInput["A"]=array(1,2,3);
$varInput["B"]=array(4,5,6);
$varInput["a"]="aa";
$varInput["b"]="bb";
#$varInput["C"]="cc";
$varInput["D"]=array(7,8,9);
$varInput["E"]=array(0,-1,-2,"-3");
#$varInput["F"]="ff";

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("A","B","a","b");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
$conf["mustBeFilledVariableType"]=array("array","array","string","string");
#可以省略的參數:
#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
$conf["canBeEmptyString"]="false";
#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("C","D","E","F");
#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","array","array","string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
$conf["skipableVarDefaultValue"]=array("skipC","skipD","skipE","skipF");
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array("A","D");
#$conf["arrayCountEqualCheck"][]=array("B","E");
var_dump(variableCheck::checkArguments($conf));
unset($conf);

var_dump($varInput);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 6<p>";

$varInput["A"]=array(1,2,3);
$varInput["B"]=array(4,5,6);
$varInput["a"]="aa";
$varInput["b"]="bb";
#$varInput["C"]="cc";
$varInput["D"]=array(7,8,9);
$varInput["E"]=array(0,-1,-2,"-3");
#$varInput["F"]="ff";
$varInput["G"]="我是多餘的參數G";
$varInput["H"]="我是多餘的參數H";

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("A","B","a","b");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
$conf["mustBeFilledVariableType"]=array("array","array","string","string");
#可以省略的參數:
#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"false"。
$conf["canBeEmptyString"]="false";
#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("C","D","E","F");
#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","array","array","string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,"null"代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
$conf["skipableVarDefaultValue"]=array("skipC","skipD","skipE","skipF");
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array("A","D");
#$conf["arrayCountEqualCheck"][]=array("B","E");
var_dump(variableCheck::checkArguments($conf));
unset($conf);

*/ 

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 7<p>";

$varInput=array();
$varInput["m1"]="m1";
$varInput["s1"]="s1";
$varInput["s2"]="s2";
$varInput["s3"]="s3";

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("m1");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["mustBeFilledVariableType"]=array("string");
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("s1","s2","s3");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","string","string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmpty"]="true";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
#建議:
#增加可省略參數全部不能為空字串或空陣列的參數功能.
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);

#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束程式
        exit;
        
        }#if end

#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::__call - testCase 1<p>";

#測試 __call 的結果        
var_dump(variableCheck::notExistMethod($conf=array('A'=>'a','B'=>'b')));

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 8<p>";

$varInput=array();
$varInput["m1"]="m1";
$varInput["s1"]="";
$varInput["s2"]="";
$varInput["s3"]="";

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("m1");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["mustBeFilledVariableType"]=array("string");
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("s1","s2","s3");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","string","string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmpty"]="true";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
#建議:
#增加可省略參數全部不能為空字串或空陣列的參數功能.
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);

#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束程式
        exit;
        
        }#if end

#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 9<p>";

$varInput=array();
$varInput["m1"]="m1";
$varInput["s1"]=array(array(),array());
$varInput["s2"]=array(array(),array());
$varInput["s3"]=array(array(),array(),array(array("1")));

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("m1");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["mustBeFilledVariableType"]=array("string");
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("s1","s2","s3");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("array","array","array");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmpty"]="true";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmptyArray"]="true";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
#建議:
#增加可省略參數全部不能為空字串或空陣列的參數功能.
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);

#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束程式
        exit;
        
        }#if end

#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 10<p>";

$varInput=array();
$varInput["m1"]="m1";
$varInput["s1"]=array(array(),array());
$varInput["s2"]=array(array(),array());
$varInput["s3"]=array(array(),array(),array(array()));

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("m1");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["mustBeFilledVariableType"]=array("string");
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("s1","s2","s3");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("array","array","array");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmpty"]="true";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmptyArray"]="true";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
#建議:
#增加可省略參數全部不能為空字串或空陣列的參數功能.
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);

#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束程式
        exit;
        
        }#if end

#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 11<p>";

$varInput=array();
$varInput["m1"]="m1";
$varInput["s1"]="s1";
$varInput["s2"]="s2";
$varInput["s3"]="s3";
#$varInput["s1"]=array(array(),array());
#$varInput["s2"]=array(array(),array());
#$varInput["s3"]=array(array(),array(),array(array()));

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("m1");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["mustBeFilledVariableType"]=array("string");
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("s1","s2","s3");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","string","string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmpty"]="true";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmptyArray"]="true";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
#建議:
#增加可省略參數全部不能為空字串或空陣列的參數功能.
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);

#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束程式
        exit;
        
        }#if end

#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 12<p>";

$varInput=array();
$varInput["m1"]="m1";
$varInput["s1"]="s1";
$varInput["s2"]=array(array(),array());
$varInput["s3"]=array(array(),array(),array(array()));

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$varInput;
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["mustBeFilledVariableName"]=array("m1");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["mustBeFilledVariableType"]=array("string");
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["skipableVariableName"]=array("s1","s2","s3");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["skipableVariableType"]=array("string","array","array");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmpty"]="true";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
$conf["disallowAllSkipableVarIsEmptyArray"]="true";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
#建議:
#增加可省略參數全部不能為空字串或空陣列的參數功能.
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);

#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束程式
        exit;
        
        }#if end

#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 13<p>";

$params=array();

#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["varInput"]=&$params;     
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
#$conf["mustBeFilledVariableName"]=array();
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
#$conf["mustBeFilledVariableType"]=array();
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
#$conf["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
#$conf["skipableVariableCanNotBeEmpty"]=array();
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
#$conf["skipableVariableName"]=array();
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
#$conf["skipableVariableType"]=array();
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
#$conf["skipableVarDefaultValue"]=array("");
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
#$conf["disallowAllSkipableVarIsEmpty"]="";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
$checkArguments=variableCheck::checkArguments($conf);
unset($conf);
 
#如果檢查參數失敗
if($checkArguments["status"]==="false"){
        
        #印出內容
        var_dump($checkArguments);
        
        #結束執行
        exit;
        
        }#if end
 
#印出內容
var_dump($checkArguments);
 
*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::checkArguments - testCase 14<p>";

$mainDb="test";
$conf["dbInfo"][$mainDb]["dbAddr"]=$dbAddress;
$conf["dbInfo"][$mainDb]["dbAcct"]=$dbAccount;
$conf["dbInfo"][$mainDb]["dbPass"]=$dbPassword;
$param=&$conf["dbInfo"][$mainDb];

#檢查參數
#函式說明:
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$reuslt["error"],執行不正常結束的錯訊息陣列.
#$result["function"],當前執行的函式名稱.
#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
#$result["notNeedVar"],字串陣列,多餘的參數名稱.
#必填寫的參數:
#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
$conf["variableCheck::checkArguments"]["varInput"]=&$param;     
#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
#可以省略的參數:
#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("dbAddr","dbAcct");
#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string");
#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
$conf["variableCheck::checkArguments"]["canBeEmptyString"]="false";
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
#$conf["canNotBeEmpty"]=array();
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
#$conf["canBeEmpty"]=array();
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("dbPass");
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("dbPass");
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string");
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null);
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
#$conf["disallowAllSkipableVarIsEmpty"]="";
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
#$conf["arrayCountEqualCheck"][]=array();
#參考資料來源:
#array_keys=>http://php.net/manual/en/function.array-keys.php
$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
unset($conf["variableCheck::checkArguments"]);

#如果執行失敗
if($checkArguments["status"]==="false"){
        
        #印出結果
        var_dump($checkArguments);
        
        #結束執行
        exit;
        
        }#if end
        
#印出結果
var_dump($checkArguments);

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::__call - testCase 1<p>";

#測試 __call 的結果        
var_dump(variableCheck::notExistMethod($conf=array('A'=>'a','B'=>'b')));

*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::emptyArray - testCase 1<p>";

#函式說明:
#檢查一陣列變數是否為空陣列 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["content"],css動畫設定的語法
#$result["function"],當前執行的函數
#$result["error"],涵式錯誤訊息陣列
#$result["empty"],"true"代表為空陣列,"false"代表不為空陣列.
#必填參數:
#$conf["var"],陣列變數.
$conf["var"]=array(array(array(array()),array(array())),array(array(array()),array(array())),array(array(array()),array(array('not a empty array'))));
#備註:
#無
$emptyArray=variableCheck::emptyArray($conf);
unset($conf);
        
#如果執行失敗
if($emptyArray["status"]==="false"){
        
        #印出內容
        var_dump($emptyArray);
        
        #停止執行
        exit;
        
        }#if end        

#印出內容
var_dump($emptyArray);
        
*/

/*

#提示正在測試的方法
echo"<hr>variableCheck::emptyArray - testCase 2<p>";

#函式說明:
#檢查一陣列變數是否為空陣列 
#回傳結果:
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["content"],css動畫設定的語法
#$result["function"],當前執行的函數
#$result["error"],涵式錯誤訊息陣列
#$result["empty"],"true"代表為空陣列,"false"代表不為空陣列.
#必填參數:
#$conf["var"],陣列變數.
$conf["var"]=array(array(array(array()),array(array())),array(array(array()),array(array())),array(array(array()),array(array())));
#備註:
#無
$emptyArray=variableCheck::emptyArray($conf);
unset($conf);
        
#如果執行失敗
if($emptyArray["status"]==="false"){
        
        #印出內容
        var_dump($emptyArray);
        
        #停止執行
        exit;
        
        }#if end        

#印出內容
var_dump($emptyArray);
        
*/

?>