亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 26
粉絲 2
評(píng)論 0
訪問量 30335
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
變量作用域、常量、命名空間、過濾器
leverWang
原創(chuàng)
863人瀏覽過

1.變量作用域

變量分為局部變量和全局變量,作用域就是變量的生效范圍
1.變量作用域,示例:

  1. $demo = '變量';//全局作用域
  2. function demo()
  3. {
  4. $demo1 = '函數(shù)內(nèi)變量';//函數(shù)作用域
  5. }
  6. echo $demo; //輸出結(jié)果
  7. echo $demo1;//不會(huì)打印變量,因其作用域在函數(shù)demo內(nèi),只能在函數(shù)內(nèi)部使用

2.全局變量,示例:

  1. $demo = '變量';
  2. $demo1 = '變量123';
  3. function demo()
  4. {
  5. // 聲明一個(gè)全局變量,聲明為全局變量才能對(duì)外部變量修改
  6. global $demo1;
  7. return $demo1;
  8. }
  9. echo $demo;//輸出結(jié)果
  10. echo demo();//輸出結(jié)果

3.超全局變量\$GLOBALS,(\$GLOBALS 是一個(gè)預(yù)定義的超全局?jǐn)?shù)組,其中包含了全局作用域中的所有可用變量,變量的名字就是數(shù)組的鍵。)

  1. /*global和$GLOBALS 區(qū)別:global $var 指的是對(duì)函數(shù)外部同名變量的引用,是兩個(gè)互不影響的變量,而 $GLOBALS['var'] 指的是函數(shù)外部變量本身。
  2. */
  3. $demo = '變量';
  4. $demo1 = '變量123';
  5. function demo()
  6. {
  7. return $GLOBALS['demo1'];
  8. }
  9. echo $GLOBALS['demo'];

2.常量

常量類似變量,貫穿整個(gè)腳本是自動(dòng)全局的,但是常量一旦被定義就無法更改,有效的常量名以字符或下劃線開頭(常量名稱前面沒有 $ 符號(hào)),通常使用大寫字母定義常量,不能使用數(shù)字開頭;

  • 常量有2種定義方式:
    1.使用const關(guān)鍵字;
    2.使用define()函數(shù);
  • 系統(tǒng)常量,可以使用print_r(get_defined_constants());查看所有系統(tǒng)常量
    1. // const 定義
    2. const DEMO= '常量';
    3. // 函數(shù)define定義
    4. define('DEMO1', 'define定義常量');
    5. //類中的常量只能用const定義
    6. class demo{
    7. const DEMO2='類中的常量';
    8. function demo2(){
    9. //在類里面訪問定義的類常量用self關(guān)鍵字;self的代表的就是當(dāng)前類
    10. echo self::DEMO2;
    11. }
    12. }
    13. //類外常量的訪問
    14. echo demo::DEMO2;
    15. //constant,返回一個(gè)常量的值:
    16. echo constant('DEMO');
    17. // 查詢用戶自定義的常量
    18. print_r(get_defined_constants(true)['user']);

    2.1 預(yù)定義常量

    | 序號(hào) | 魔術(shù)常量 | 描述 |
    | —— | —————————- | ————— |
    | 1 | PHP_VERSION | 版本號(hào) |
    | 2 | PHP_OS_FAMILY | 操作系統(tǒng) |
    | 3 | PHP_INT_MAX | 最大整數(shù) |
    | 4 | PHP_FLOAT_MAX | 最大浮點(diǎn)數(shù) |
    | 5 | DIRECTORY_SEPARATOR | 目錄分隔符 |

2.2 魔術(shù)常量

序號(hào) 魔術(shù)常量 描述
1 __LINE__ 文件中的當(dāng)前行號(hào)
2 __FILE__ 文件的完整路徑和文件名
3 __DIR__ 文件所在目錄
4 __FUNCTION__ 當(dāng)前的函數(shù)名稱
5 __CLASS__ 當(dāng)前類名稱
6 __TRAIT__ 當(dāng)前Trait名稱
7 __METHOD__ 當(dāng)前類方法名稱
8 __NAMESPACE__ 當(dāng)前命名空間名稱
9 __FILE__ 當(dāng)前文件
10 __DIR__ 當(dāng)前目錄
11 __LINE__ 當(dāng)前行號(hào)

命名空間(默認(rèn)情況下,所有常量、類和函數(shù)名都放在全局空間下)

  1. //全局成員,不允許重復(fù)定義,因此使用命名空間來定義
  2. namespace demo {
  3. const TEST = '第一個(gè)命名空間';
  4. }
  5. namespace demo1 {
  6. const TEST = '第二個(gè)命名空間';
  7. }
  8. //全局空間: 匿名空間
  9. namespace {
  10. echo \demo\TEST, "<br>";
  11. echo \demo1\TEST, "<br>";
  12. }

變量過濾器

常用的過濾器函數(shù):
序號(hào) 函數(shù) 描述
1 filter_list() 當(dāng)前php版本支持的預(yù)定義過濾器
2 filter_id() 返回指定過濾器的 ID 號(hào)
3 filter_var() 過濾單個(gè)變量
4 filter_var_array() 過濾多個(gè)變量
5 filter_has_var() 檢測是否存在某個(gè)外部變量
6 filter_input() 過濾單個(gè)外部變量
7 filter_input_array() 過濾多個(gè)外部變量
驗(yàn)證過濾器常量:
序號(hào) 過濾器函數(shù) 描述
1 FILTER_VALIDATE_INT 驗(yàn)證整數(shù)
2 FILTER_VALIDATE_FLOAT 浮點(diǎn)點(diǎn)驗(yàn)證
3 FILTER_VALIDATE_BOOLEAN 驗(yàn)證布爾項(xiàng)
4 FILTER_VALIDATE_EMAIL 驗(yàn)證郵箱
5 FILTER_VALIDATE_URL 驗(yàn)證 URL 地址
6 FILTER_VALIDATE_IP 驗(yàn)證 IP 地址
7 FILTER_VALIDATE_REGEXP 正則驗(yàn)證
  • FILTER_VALIDATE_BOOLEAN: 布爾選項(xiàng)的返回值類型
序號(hào) 返回值 描述
1 true “1”, “true”, “on” 和 “yes”
2 false “0”, “false”, “off”, “no”, “”
3 null 除以上情形外
清理過濾器常量:
序號(hào) 過濾器函數(shù) 描述
1 FILTER_UNSAFE_RAW 保持原始數(shù)據(jù)
2 FILTER CALLBACK 自定義函數(shù)過濾數(shù)據(jù)
3 FILTER_SANITIZE_STRING 去除標(biāo)簽以及特殊字符:strip_tags()
4 FILTER_SANITIZE_STRIPPED “string” 過濾器別名
5 FILTER_SANITIZE_ENCODED URL-encode 字符串,去除或編碼特殊字符
6 FILTER_SANITIZE_SPECIAL_CHARS HTML 轉(zhuǎn)義字符, 等價(jià)于 htmlspecialchars()
7 FILTER_SANITIZE_EMAIL 僅保留郵箱地址的合法字符
8 FILTER_SANITIZE_URL 僅保留合法的 URL, 必須從協(xié)議開始http/https
9 FILTER_SANITIZE_NUMBER_INT 僅保留合法的數(shù)字和正負(fù)號(hào)+-
10 FILTER_SANITIZE_NUMBER_FLOAT 僅保留合法的數(shù)字和正負(fù)號(hào)+- 以及指數(shù) .,eE
11 FILTER_SANITIZE_MAGIC_QUOTES 等價(jià)于函數(shù): addslashes()

示例:

  1. //顯示當(dāng)前PHP版本的預(yù)定義過濾器
  2. foreach (filter_list() as $filter_items){
  3. echo filter_id($filter_items). '->'.$filter_items.'<br>';
  4. }
  5. // 1.單個(gè)變量過濾filter_var(variable, filter, options)
  6. $num=5;
  7. $str='AAA';
  8. var_dump(filter_var($str,FILTER_VALIDATE_INT));//輸出bool(false)
  9. $options = ['options'=>['min_range'=> 18]];//規(guī)定一個(gè)包含標(biāo)志/選項(xiàng)的關(guān)聯(lián)數(shù)組或者一個(gè)單一的標(biāo)志/選項(xiàng)。檢查每個(gè)過濾器可能的標(biāo)志和選項(xiàng)。
  10. var_dump(filter_var($num, FILTER_VALIDATE_INT, $options));//輸出bool(false)
  11. //2.多個(gè)變量過濾:filter_var_array()
  12. $person = ['name' => '小剛', 'age' => 10, 'sex' => '男'];
  13. var_dump(filter_var_array($person, FILTER_VALIDATE_INT));//輸出array(3) { ["name"]=> bool(false) ["age"]=> int(10) ["sex"]=> bool(false) }
  14. //外部變量過濾:filter_input(輸入類型, 變量名, 過濾器, 可選參數(shù))
  15. //獲取瀏覽器地址中ID值
  16. echo 'id = ' .$_GET['id'];
  17. //設(shè)置過濾條件ID最小值為1
  18. $options = ['options'=>['min_range'=> 1]];
  19. var_dump(filter_input(INPUT_GET,'id',FILTER_VALIDATE_INT,$options));
  20. //同時(shí)驗(yàn)證多個(gè)外部變量
  21. //url=http://php.edu/0703/1.php?name=jack&email=abc@qq.com&age=33
  22. $data = [
  23. 'name'=> FILTER_SANITIZE_STRING,
  24. 'email'=>FILTER_VALIDATE_EMAIL,
  25. 'age'=> ['filter'=>FILTER_VALIDATE_INT, 'options'=>['min_range'=> 25, 'max_range'=> 55]],
  26. ];
  27. var_dump(filter_input_array(INPUT_GET, $data ));//輸出array(3) { ["name"]=> string(4) "jack" ["email"]=> string(10) "abc@qq.com" ["age"]=> int(33) }
批改老師:GuanhuiGuanhui

批改狀態(tài):合格

老師批語:寫的還行!盡量跟上老師講課的進(jìn)度!
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)