Subversion Repositories php-qbpwcf

Rev

Rev 48 | Rev 226 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 48 Rev 62
Line 4232... Line 4232...
4232
	
4232
	
4233
		#針對每個要處理的既有一維陣列變數
4233
		#針對每個要處理的既有一維陣列變數
4234
		foreach($conf["array"] as $index => $firstEle){
4234
		foreach($conf["array"] as $index => $firstEle){
4235
		
4235
		
4236
			#如果存在新的欄位指定內容
4236
			#如果存在新的欄位指定內容
4237
			if(isset($conf["newArray"][$index]))
4237
			if(isset($conf["newArray"][$index])){
4238
			{
4238
			
4239
				#設置新的欄位內容
4239
				#設置新的欄位內容
4240
				$secondEle=$conf["newArray"][$index];
4240
				$secondEle=$conf["newArray"][$index];
4241
			}
4241
			
-
 
4242
				}#if end
4242
			
4243
			
4243
			#反之
4244
			#反之
4244
			else
4245
			else{
4245
			{
4246
			
4246
				#設置新的欄位內容為第一個新的元素
4247
				#設置新的欄位內容為第一個新的元素
4247
				$secondEle=$conf["newArray"][0];
4248
				$secondEle=$conf["newArray"][0];
4248
			}
4249
			
-
 
4250
				}#else end
4249
		
4251
		
4250
			#設置新的欄位內容
4252
			#設置新的欄位內容
4251
			$row=array($firstEle,$secondEle);
4253
			$row=array($firstEle,$secondEle);
4252
		
4254
		
4253
			#儲存新的欄位內容
4255
			#儲存新的欄位內容
Line 4261... Line 4263...
4261
		#回傳結果
4263
		#回傳結果
4262
		return $result;
4264
		return $result;
4263
	
4265
	
4264
		}#function addColumn end
4266
		}#function addColumn end
4265
 
4267
 
-
 
4268
		/*
-
 
4269
		#函式說明:
-
 
4270
		#將陣列的key資訊取出,以方便使用.
-
 
4271
		#回傳結果:
-
 
4272
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
4273
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
-
 
4274
		#$result["function"],當前執行的函式名稱.
-
 
4275
		#$result["argu"],使用的參數.
-
 
4276
		#$result["content"],結果陣列.
-
 
4277
		#$result["content"]["key"],陣列key數值的陣列.
-
 
4278
		#$result["content"]["val"],陣列value的陣列.
-
 
4279
		#必填參數:
-
 
4280
		#$conf["array"],陣列,要讀取的一維陣列.
-
 
4281
		$conf["array"]=array();
-
 
4282
		#可省略參數:
-
 
4283
		#無.
-
 
4284
		#參考資料:
-
 
4285
		#無.
-
 
4286
		#備註:
-
 
4287
		#無.
-
 
4288
		*/
-
 
4289
		public static function inspectKey(&$conf){
-
 
4290
		
-
 
4291
			#初始化要回傳的結果
-
 
4292
			$result=array();
-
 
4293
 
-
 
4294
			#取得當前執行的函數名稱
-
 
4295
			$result["function"]=__FUNCTION__;
-
 
4296
 
-
 
4297
			#如果沒有參數
-
 
4298
			if(func_num_args()==0){
-
 
4299
 
-
 
4300
				#設置執行失敗
-
 
4301
				$result["status"]="false";
-
 
4302
 
-
 
4303
				#設置執行錯誤訊息
-
 
4304
				$result["error"]="函數".$result["function"]."需要參數";
-
 
4305
 
-
 
4306
				#回傳結果
-
 
4307
				return $result;
-
 
4308
 
-
 
4309
				}#if end
-
 
4310
 
-
 
4311
			#取得參數
-
 
4312
			$result["argu"]=$conf;
-
 
4313
 
-
 
4314
			#如果 $conf 不為陣列
-
 
4315
			if(gettype($conf)!=="array"){
-
 
4316
 
-
 
4317
				#設置執行失敗
-
 
4318
				$result["status"]="false";
-
 
4319
 
-
 
4320
				#設置執行錯誤訊息
-
 
4321
				$result["error"][]="\$conf變數須為陣列形態";
-
 
4322
 
-
 
4323
				#如果傳入的參數為 null
-
 
4324
				if($conf===null){
-
 
4325
 
-
 
4326
					#設置執行錯誤訊息
-
 
4327
					$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
-
 
4328
 
-
 
4329
					}#if end
-
 
4330
 
-
 
4331
				#回傳結果
-
 
4332
				return $result;
-
 
4333
 
-
 
4334
				}#if end
-
 
4335
				
-
 
4336
			#檢查參數
-
 
4337
			#函式說明:
-
 
4338
			#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
-
 
4339
			#回傳結果:
-
 
4340
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
4341
			#$result["error"],執行不正常結束的錯訊息陣列.
-
 
4342
			#$result["simpleError"],簡單表示的錯誤訊息.
-
 
4343
			#$result["function"],當前執行的函式名稱.
-
 
4344
			#$result["argu"],設置給予的參數.
-
 
4345
			#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
-
 
4346
			#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
-
 
4347
			#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
-
 
4348
			#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
-
 
4349
			#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
-
 
4350
			#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
-
 
4351
			#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
-
 
4352
			#$result["notNeedVar"],字串陣列,多餘的參數名稱.
-
 
4353
			#必填參數:
-
 
4354
			#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
-
 
4355
			$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
-
 
4356
			#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
-
 
4357
			$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
-
 
4358
			#可省略參數:
-
 
4359
			#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
-
 
4360
			$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("array");
4266
	}#end arrays class
4361
			#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null、any代表不指定變數形態.其中 resource也包含"resource (closed)".
-
 
4362
			$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("array");
-
 
4363
			#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
-
 
4364
			$conf["variableCheck::checkArguments"]["canBeEmptyString"]="false";
-
 
4365
			#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
-
 
4366
			#$conf["canNotBeEmpty"]=array();
-
 
4367
			#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
-
 
4368
			#$conf["canBeEmpty"]=array();
-
 
4369
			#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
-
 
4370
			#$conf["skipableVariableCanNotBeEmpty"]=array();
-
 
4371
			#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
-
 
4372
			#$conf["skipableVariableName"]=array();
-
 
4373
			#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
-
 
4374
			#$conf["skipableVariableType"]=array();
-
 
4375
			#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
-
 
4376
			#$conf["skipableVarDefaultValue"]=array("");
-
 
4377
			#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
-
 
4378
			#$conf["disallowAllSkipableVarIsEmpty"]="";
-
 
4379
			#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
-
 
4380
			#$conf["disallowAllSkipableVarIsEmptyArray"]="";
-
 
4381
			#$conf["disallowAllSkipableVarNotExist"],字串,是否不允許每個可省略參數都不存在,預設為"false"代表允許,反之為"true".
-
 
4382
			#$conf["disallowAllSkipableVarNotExist"]="";
-
 
4383
			#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
-
 
4384
			#$conf["arrayCountEqualCheck"][]=array();
-
 
4385
			#參考資料:
-
 
4386
			#array_keys=>http://php.net/manual/en/function.array-keys.php
-
 
4387
			#備註:
-
 
4388
			#無.
-
 
4389
			$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
-
 
4390
			unset($conf["variableCheck::checkArguments"]);
-
 
4391
		
-
 
4392
			#若執行失敗
-
 
4393
			if($checkArguments["status"]==="false"){
-
 
4394
			
-
 
4395
				#設置執行失敗
-
 
4396
				$result["status"]="false";
-
 
4397
 
-
 
4398
				#設置執行錯誤訊息
-
 
4399
				$result["error"]=$checkArguments;
-
 
4400
 
-
 
4401
				#回傳結果
-
 
4402
				return $result;
-
 
4403
			
-
 
4404
				}#if end
-
 
4405
		
-
 
4406
			#若檢查不通過
-
 
4407
			if($checkArguments["passed"]==="false"){
-
 
4408
			
-
 
4409
				#設置執行失敗
-
 
4410
				$result["status"]="false";
-
 
4411
 
-
 
4412
				#設置執行錯誤訊息
-
 
4413
				$result["error"]=$checkArguments;
-
 
4414
 
-
 
4415
				#回傳結果
-
 
4416
				return $result;
-
 
4417
			
-
 
4418
				}#if end
-
 
4419
				
-
 
4420
			#針對每個元素
-
 
4421
			foreach($conf["array"] as $arrayKey => $arrayVal){
-
 
4422
			
-
 
4423
				#儲存 array key
-
 
4424
				$result["content"]["key"][]=$arrayKey;
-
 
4425
				
-
 
4426
				#儲存 array value
-
 
4427
				$result["content"]["val"][]=$arrayVal;
-
 
4428
				
-
 
4429
				}#foreach end
-
 
4430
		
-
 
4431
			#取得陣列的元素數量
-
 
4432
			$result["count"]=count($result["content"]["key"]);
-
 
4433
		
-
 
4434
			#設置執行正常
-
 
4435
			$result["status"]="true";
-
 
4436
		
-
 
4437
			#回傳結果
-
 
4438
			return $result;
-
 
4439
		
-
 
4440
			}#function inspectKey end
-
 
4441
 
-
 
4442
	}#class arrays end
4267
 
4443
 
4268
?>
4444
?>