php常量
/**
* php常量:用于数据计算固定的值
* 常量的类型只能是标量类型:boolean int folat
* string
* 1.常量名前不能有$,一般常量名总是大写
* 2。 多个单词由下划线连接
* 3.常量不能被重新定义或取消定义
* 4.常量必须初始化
* 5.常量不受作用域的限制
*/
// 定义常量用:const + 常量的名称
const APP_PATH = 'phpstudy_pro';
echo '<hr>';
// php的系统常量
// print_r(get_defined_constants(true));
// define(string 常量名,常量值),
define('RUNTIME_PATH','1118');
//常量的访问
echo APP_PATH.'<br>';
echo constant('RUNTIME_PATH');
// 常量放在变量中
$name = 'APP_PATH';
//访问到常量名
ECHO $name.'<br>';
// 访问到常量值
echo constant($name).'<hr>';
class user
{
//类常量只能用const定义,不能用define()
const NAME = '胡歌';
}
// 常量不能重新被定义或取消定义
// const APP_PATH = "/WWW";
// unset(APP_PATH);
// 常量必须初始化
const HEIGHT = 190;
$height;
// 常量不受作用域的限制
function getName()
{
return APP_PATH;
}
echo getName();
/**
* 预定义常量
*/
echo 'php版本号'. PHP_VERSION.'<br>';
echo '操作系统'. PHP_OS_FAMILY.'<br>';
echo '目录分隔符'. DIRECTORY_SEPARATOR.'<br>';
echo '最大整数'. PHP_INT_MAX.'<br>';
echo '最大浮点数'. PHP_FLOAT_MAX.'<hr>';
// php的魔术常量:根据位置的变化而变化__LINE__,
// __FUNICTION__,__METHOD__ __NAMESPACE__,
echo __LINE__;
echo '函数func所在行数为'.__LINE__;
echo '<hr>';
function func()
{
echo __FUNCTION__;
};
func();
echo '<hr>';
class Person{
public function walk()
{
echo __METHOD__;
}
}
$a = new Person;
$a->walk();
?>
php过滤器的使用
/**
* 变量的过滤器, 过滤器函数 filter_var(),
* filter_var_array()
*/
//浏览器所有的过滤器
foreach (filter_list() as $filter)
{
echo $filter . "=>".filter_id($filter).'<hr>';
}
// 怎么过滤单个变量:函数:filter_var(var,filter,options);返回值:返回过滤后的值,否则返回falst
$age = '20';
$min = 18;
$max = 40;
//二维数组
$options = array("options"=>array("min_range"=>$min,"max_range"=>$max));
$age = filter_var($age,257,$options);
var_dump($age);
if(!$age)
{
echo '抱歉,你的年龄不符合要求';
}else{
echo '恭喜,注册成功';
}
$email = '678348523@qq.com';
var_dump(filter_var($email,FILTER_VALIDATE_EMAIL));
echo '<hr>';
//过滤多个变量:filter_var_array(array $data,filter),获取多个变量并过滤它们,返回值:返回过滤后的值,否则返回false
$a = 20;
$b = '80';
$arr = [$a,$b];
var_dump(filter_var_array($arr,FILTER_VALIDATE_INT));
//过滤外部变量: 通过http get/post请求发送过来的数据,过滤表单数据
// 同时验证多个外部变量filter_input_array(输入类型get/post,args规定了过滤器参数数组,键是变量名,值就是过滤器)
// 验证单个外部变量:filter_input()
//使用get参数来演示外部变量的获取与过滤
// echo 'id= '. $GET['ID'];
//过滤多个外部变量
$args = [
"username" => FILTER_SANITIZE_STRING,
"age" => FILTER_VALIDATE_INT,
"log-url" => FILTER_VALIDATE_URL,
"ip" => FILTER_VALIDATE_IP,
];
echo '<hr>';
var_dump(filter_input_array(INPUT_GET,$args));
// 过滤单个外部变量
$options = ["options"=>["min_range"=>1]];
var_dump(filter_input(INPUT_GET,'id',FILTER_VALIDATE_INT,$options));
?>