Blogger Information
Blog 11
fans 0
comment 0
visits 7761
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php变量学习总结
麦穗
Original
674 people have browsed it

PHP变量学习总结

  • 超全局变量 GLOBALS

    1. $username1= 'Davy';
    2. echo '<pre>' . print_r($GLOBALS['username1']). '</pre>' .'<hr>';
    3. function getInfo() : string
    4. {
    5. // 方法1
    6. global $username1;
    7. $username2= $username1;
    8. // 方法2
    9. $username2 = $GLOBALS['username1'];
    10. return $username2;
    11. }
    12. echo getinfo();
    13. echo '<hr>';

  • 静态变量
    1. namespace n1;//命名空间
    2. function test1() : float
    3. {
    4. // 私有变量
    5. $sum = 0;
    6. $sum =$sum+ 1;
    7. return $sum;
    8. }
    9. echo test1();
    10. echo test1();
    11. echo test1();
    12. echo '<hr>';
    13. namespace n2;
    14. $sum = 0;//全局变量
    15. function test2() : float
    16. {
    17. global $sum;
    18. $sum =$sum+ 1;
    19. return $sum;
    20. }
    21. echo test2();
    22. echo test2();
    23. echo test2();
    24. echo '<hr>';
    25. namespace n3;
    26. function test3() : float
    27. {
    28. //局部静态变量 , 推荐使用这种
    29. static $sum = 0 ;
    30. $sum =$sum+ 1;
    31. return $sum;
    32. }
    33. echo test3();
    34. echo test3();
    35. echo test3();
    36. echo '<hr>';
    37. // 变量的本质是数据共享
    38. // 函数的本质是代码共享
  • 变量过滤器filter
    1. // foreach()是用来遍历数据的
    2. foreach(filter_list() as $filter) {
    3. echo $filter . '====>' . filter_id($filter).'<br>';
    4. }
    5. echo '<hr>';
  • 过滤单个变量filter_var
    1. $age = 30;//它会自动转化为字符串$age = '30';
    2. $age = '30';
    3. $age = 200;//超过设置大小的范围,就是false
    4. var_dump(filter_var($age,FILTER_VALIDATE_INT , ['options'=>['min_range'=>18,'max_range'=>60]]));
    5. echo '<hr>';
    6. $email = '123456@qq.com';
    7. $email = '123456@';//非法邮箱,显示false
    8. //var_dump(filter_var($email,FILTER_VALIDATE_EMAIL));
    9. var_dump(filter_var($email,274));//用ID来代替FILTER_VALIDATE_EMAIL,是一样的
    10. echo '<hr>';
    11. // 数组过滤单个变量filter_var_array()
    12. var_dump(filter_var_array([100,'php'],FILTER_VALIDATE_INT));
    13. echo '<hr>';
  • 检测是否存在指定的外部变量filter_has_var()
    1. // INPUT_GET: 表示要检测的是$_GET,就是get参数,其实就是get请求
    2. // INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV
    3. var_dump(filter_has_var(INPUT_GET,'p' ));
    4. echo 'get变量p='. $_GET['p'];
    5. echo '<hr>';
  • 访问外部变量过滤器
    1. var_dump(filter_input(INPUT_GET,'p',FILTER_VALIDATE_INT,['options'=>['min_range'=>1]]));
    2. echo filter_input(INPUT_GET,'p',FILTER_VALIDATE_INT,['options'=>['min_range'=>1]]) ? '页码正确' : '页码错误';
    3. echo '<hr>';
    4. //同时验证多个外部变量: filter_input_array()
    5. $args = [
    6. 'username' => FILTER_SANITIZE_STRING,
    7. 'email' => FILTER_VALIDATE_EMAIL,
    8. 'age' => ['filter' => FILTER_VALIDATE_INT, 'flags'=>FILTER_REQUIRE_SCALAR, 'options' => ['min_range' => 18]],
    9. 'blog' => FILTER_VALIDATE_URL,
    10. ];
    11. var_dump(filter_input_array(INPUT_GET,$args));
  • 地址栏中输入?p=-1

  • 地址栏中输入?p=1

  • 查看系统的长量
    1. print_r(get_defined_constants());
  • 预定义常量
    1. define('APP_PATH', __DIR__.'\app\admin');
    2. // echo APP_PATH;
    3. print_r(get_defined_constants(true)['user']);
    4. echo '<hr>';
  1. // 定义常量
  2. define('STUDENT', '麦穗');
  3. const COURSE = 'PHP' ;
  4. //常量不受作用域限制
  5. function test1(){
  6. echo STUDENT . '学:' . COURSE . '<br>';
  7. // define可以用于函数中,const不行
  8. define('SEX' , '男');
  9. echo SEX;
  10. }
  11. test1();
  12. echo '<hr>';
  13. // define可以用于流程控制中,const不行
  14. if(true){
  15. define('AGE', 18);
  16. echo AGE;
  17. }
  18. echo '<hr>';
  19. // const可以用在类常量中 , define不行
  20. class Demo{
  21. const HELLO= '你好!';
  22. }
  23. echo Demo::HELLO.'<br>';
  24. echo '<hr>';
  25. // 常量通常只允许标量进行初始化
  26. const DB_LINKS = [
  27. 'host'=>'localhost',
  28. 'username'=>'root',
  29. 'password'=>'root',
  30. 'charset'=>'utf8',
  31. ];
  32. echo '<pre>'.print_r(DB_LINKS,true).'</pre>';
  33. echo '<hr>';

  • constent()
    1. /constant()
    2. $constantName = 'STUDENT';
    3. echo constant($constantName);
    4. echo '<hr>';
    5. define('USER_NAME' , '我也是常量1');
    6. define('' , '我也是常量2');
    7. echo USER_NAME;
    8. echo ''; //空字符串是一个正确的常量,但是打印不出来,要用constant()
    9. echo constant('');
  • 魔术常量
    1. echo '当前行号:' . __LINE__ . '<br>';
    2. echo '当前文件:' . __FILE__ . '<br>';
    3. echo '当前目录:' . __DIR__ . '<br>';
    4. function hello(){
    5. echo __FUNCTION__;//当前函数名
    6. }
    7. hello();
    8. echo '<br>';
    9. class D{
    10. public function index(){
    11. echo __METHOD__;//当前类方法名称
    12. }
    13. }
    14. (new D)->index();

学习总结

  1. 还是需要继续下功夫,C语言会一点,好像和C语言差别有点大,不过没事,我喜欢接触新的知识,每天学习一点,希望在3个月后会有新的突破
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post