本文目录一览:
php有没有什么函数可以获取一个方法中的参数名和参数类型的
/**
* 获取一个函数的依赖
* @param string|callable $func
* @param array $param 调用方法时所需参数 形参名就是key值
* @return array 返回方法调用所需依赖
*/
function getFucntionParameter($func,$param=[]) {
if(!is_array($param)) {
$param = [$param];
}
$ReflectionFunc = new \ReflectionFunction($func);
$depend = array();
foreach($ReflectionFunc-getParameters() as $value) {
if(isset($param[$value-name])) {
$depend[] = $param[$value-name];
}elseif($value-isDefaultValueAvailable()){
$depend[] = $value-getDefaultValue();
}else{
$tmp = $value-getClass();
if(is_null($tmp)) {
throw new \Exception("Function parameters can not be getClass {$class}");
}
$depend[] = $this-get($tmp-getName());
}
}
return $depend;
}
function test($a,$b=20) {
echo $a,',',$b;
}
$depend = getFucntionParameter('test',['a'=30,'b'=40]);
call_user_func_array('test',$depend); // 30,40
上面的函数是我开发的框架的容器的方法。
php提供了很完整的反射机制。不但可以反射函数,还可以反射方法,反射类构造函数。
有关于PHP中常见数据类型的汇总分享
PHP
数据类型
PHP
支持八种原始类型(type)。
四种标量类型:
string(字符串)
integer(整型)
float(浮点型,也作
double
)
boolean(布尔型)
两种复合类型:
array(数组)
object(对象)
两种特殊类型:
resource(资源)
NULL(空)
查看变量类型
通过
gettype()
函数可以方便的查看某个变量的类型:
复制代码
代码如下:
?php$var_bool
=
TRUE;
//
a
boolean$var_str
=
"foo";
//
a
string$var_int
=
12;
//
an
integerecho
gettype($var_bool);
//
输出
booleanecho
gettype($var_str);
//
输出
stringecho
gettype($var_int);
//
输出
integer?
(PS:T不错的PHP
Q扣峮:276167802,验证:csl)
提示
由于历史原因,如果是
float
类型数据,gettype()
函数返回的是
double,而不是
float
。
如果想查看某个表达式的值和类型,请使用用
var_dump()
函数。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用
gettype()
,而使用
is_type
系列函数:
复制代码
代码如下:
?php$var_int
=
12;//
如果
$var_int
是
int
类型,这进行加法if
(is_int($var_int))
{
$var_int
=
$var_int+4;}echo
$var_int;
//
输出
16?
以上是本文关于PHP
数据类型的汇总,希望本文对广大php开发者有所帮助,感谢您阅读本文。
php获取变量类型问题
GET获取的都是string类型,使用的时候需要转换成int,由于php算是弱类型的,所以你可以直接操作字符串来进行运算,但这是不安全的。