进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl
执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
执行这个命令时,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 自带函数,不需要配置
settype 函数结构
bool settype ( mixed var, string type )
解读为:返回值 布尔值,也就是成功或失败。参数两个都是必须的。前面是要设置类型的变量。后面是要设置为什么类型的变量。
函数运行结束并没有什么输出。只会返回一个真假值。告诉你成功还是失败了。
给你一段代码测试一下吧。
$foo = "5bar"; //字符型变量 $foo
settype($foo, "integer"); // $foo 设置类型为整型
var_dump($foo); //打印变量信息,结果为整型 5
?>
用了以后变量的类型直接改变了。你出错应该是少加了参数。
==================
我个人习惯是这样
$foo = "5bar";
$a = (int)$foo; //声明一下变量类型
var_dump($a); //结果也是整型 5
?>
以上是php可以用哪些函数判断数据类型的详细内容。更多信息请关注PHP中文网其他相关文章!