기본 형식을 함수 매개 변수 (또는 이와 동등하게 변수에 저장)에 PHP로 전달할 수 있습니까?기본 데이터 형식을 함수 매개 변수로 전달
function SomeFunc($DataType, $SomeOtherPara)
{
}
SomeFunc(int, "test1");
SomeFunc(bool, "test2");
가 수 사용 될 수 있습니다 :
//! Cast the input parameter into a data type, recursively.
/*!
\param[in] $DataType Data type, e.g. int, double, bool, string.
\param[in] $InputPara Any input parameter.
*/
function TypeJuggleRecursive($DataType, $InputPara)
{
if(is_array($InputPara))
{
// Work on each array element recursively.
$ReturnPara = array();
foreach($InputPara as $Key => $Value)
{
$ReturnPara[$Key] = TypeJuggleRecursive($DataType, $Value);
}
return $ReturnPara;
}
else
{
// Cast to data type.
return ($DataType)$InputPara;
}
}
TypeJuggleRecursive(bool, $_GET);
TypeJuggleRecursive(int, $_POST);
기본 유형으로 나는
int
,
bool
,
double
,
string
는 등
구체적
, 나는이 같은 일을하고 싶은 말은
확실한 해결 방법은 대신 문자열을 사용하는 것입니다. 즉, string
, "int"
에 "string"
int
등,하지만 그건 바보 같습니다. 그것을 할 수있는 바보 같은 방법이라면
내가 아는 것은 아닙니다. 흥미로운 문제. 나는 문자열이나 int (일부 식별자를 전환 할 때) 형식을 "멍청한"것처럼 보일지라도 PHP에서 일반적으로 사용되는 수백만 개의 데이터 유형이있는 것처럼 보이지 않습니다. –
int, string 등을 사용할 수 있다고는 생각하지 않습니다. 키워드가 예약되어 있다고 가정하지만 그 점을 인용하지 마십시오. 심지어 gettype() 함수 (이것과 비슷한 것을 사용할 것입니다)는 문자열 형식의 형식을 반환합니다. http://php.net/manual/en/function.gettype.php – kennypu
gettype은 원할 경우에만 유용합니다. 전달 된 var을 자체 유형으로 형변환합니다. 이 경우, 그는 어떤 $ SomeOtherPara가 될 것 인 것과는 다른 형식으로 AS를 캐스팅하려고합니다. –