eval() 函数用来执行一个字符串表达式,并返回表达式的值。
文件命名为4.php
<?php
$var = "var";
if(isset($_GET['arg'])){
$arg = $_GET['arg'];
eval("\$var = $arg;"); //‘\’的作用是让它识别成字符,不识别成变量
echo "\$var =".$var;
}
?>
文件命名为eval.php
<?php
if(isset($_GET['a'])){
eval($_GET['a']);
}
else{
echo "Please input a";
}
?>
assert 的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。
文件命名为assert.php
<?php
if(isset($_GET['a'])){
assert($_GET['a']);
}
else{
echo "Please input a";
}
?>
preg_replace 函数执行一个正则表达式的搜索和替换
注意:PHP study的版本有的无法适应
文件命名为preg_replace.php
<?php
if(isset($_GET['a'])){
//Preg_replace("/\[(.*)\]/e",'\\1',$_GET['a']);
Preg_replace("/(.*)/e",'\\1',$_GET['a']);
}
else{
echo "Please input a";
}
?>
call_user_func函数类似于一种特别的调用函数的方法
文件命名为call_user_func.php
<?php
if(isset($_GET['a'])){
call_user_func($_GET['a'],$_GET['b']);
}
else{
echo "Please input a";
}
?>
文件命名为kbhs.php
<?php
if(isset($_GET['a'])&isset($_GET['b'])){
@$a = $_GET['a'];
@$b = $_GET['b'];
@$a($b);//函数,可变函数
//$a就是函数的名
//$b就是函数的值
//?a=assert&b=phpinfo()
//assert(phpinfo());
}else{
echo "Please input a&b";
}
?>