PHP const定義常量及global定義全局常量實例解析

 更新時間:2020-06-14 00:02:51   作者:佚名   我要評論(0)

const 常量



1.在定義時必須被初始值,
2.前面不加任何修飾符
3.變量名字母一般都大寫
4.常量可以被子類繼承
5.一個常量是屬于一個類的,而不是某個對

const 常量

  • 1.在定義時必須被初始值,
  • 2.前面不加任何修飾符
  • 3.變量名字母一般都大寫
  • 4.常量可以被子類繼承
  • 5.一個常量是屬于一個類的,而不是某個對象的

作用:當某些值是固定不變的,就用const

1.const 定義的常量和define()定義的常量的區別?

希望一個成員變量不被修改 例如圓周率 3.1415926

定義:const 常量名=值; 沒有$符

訪問:類名 ::常量名 或 接口名::常量名

<?php
defined('TEXT'); //檢查一個名稱的常量是否存在
class A
{
    const TAX_RATE = 0.08;
    public function payTax($var)
    {
        return $var * A::TAX_RATE;
    }
}
$a = new A();
echo $a->payTax(200);
  • 用法一:const用于類成員變量,一經定義不可修改,define用于全局常量,不可用于類成員變量的定義,const可在類中使用,define不能。
  • 用法二:const定義的常量大小寫敏感,而define可通過第三個參數(為TRUE表示大小寫不敏感)來指定大小寫是否敏感。在運行時定義一個常量。define('TXE',100,TRUE);
  • 用法三:const不能在條件語句中定義常量,而define函數可以。if($a>10){define('LE','hello');}

2.global定義的全局常量和$GLOBALS的區別?

$GLOBALS(超全局變量) — 引用全局作用域中可用的全部變量, 一個包含了全部變量的全局組合數組。變量的名字就是數組的鍵。

<?php
function test()
{
  $foo = "local variable";
  echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
  echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();

Global的作用是定義全局變量,但是這個全局變量不是應用于整個網站,而是應用于當前頁面,包括include或require的所有文件

代碼如下:

<?PHP
$a = 123;
function aa()
{
  global $a; //如果不把$a定義為global變量,函數體內是不能訪問函數體外部的$a的,但是可以定義一個相同的名字$a,此時這個變量是局部echo

  $a; //變量,只能在函數體內部使用。
}
aa();

總結:在函數體內定義的global變量,函數體外可以使用,在函數體外定義的global變量不能在函數體內使用,

代碼如下:

<?php
global $a;
$a = 123; //必須分開賦值
function f()
{
  echo $a; //錯誤,
}
//再看看下面一例
function f()
{
  global $a;
  $a = 123;
}
f();
echo $a; //正確,可以使用

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

  • 淺談ThinkPHP中initialize和construct的區別
  • ThinkPHP中類的構造函數_construct()與_initialize()的區別詳解
  • PHP正則替換函數preg_replace()報錯:Notice Use of undefined constant的解決方法分析
  • php類中的$this,static,final,const,self這幾個關鍵字使用方法
  • ThinkPHP中__initialize()和類的構造函數__construct()用法分析
  • 解析php中static,const與define的使用區別
  • PHP運行出現Notice : Use of undefined constant 的完美解決方案分享
  • php面向對象全攻略 (十) final static const關鍵字的使用

相關文章

  • PHP const定義常量及global定義全局常量實例解析

    PHP const定義常量及global定義全局常量實例解析

    const 常量 1.在定義時必須被初始值, 2.前面不加任何修飾符 3.變量名字母一般都大寫 4.常量可以被子類繼承 5.一個常量是屬于一個類的,而不是某個對
    2020-06-14
  • php生成短網址/短鏈接原理和用法實例分析

    php生成短網址/短鏈接原理和用法實例分析

    本文實例講述了php生成短網址/短鏈接原理和用法。分享給大家供大家參考,具體如下: 需求 在我們的項目當中,如果需要更好傳播我們的活動鏈接,但是鏈接太長1來是不
    2020-06-14
  • php實現的證件照換底色功能示例【人像摳圖/換背景圖】

    php實現的證件照換底色功能示例【人像摳圖/換背景圖】

    本文實例講述了php實現的證件照換底色功能。分享給大家供大家參考,具體如下: <&#63;php //背景圖和原圖需要保持寬高要保持一樣,這里的示例原圖用的是藍色背景
    2020-06-14
  • PHP實現本地圖片轉base64格式并上傳

    PHP實現本地圖片轉base64格式并上傳

    我們在開發系統時,處理圖片上傳是不可避免的,例如使用thinkphp的肯定很熟悉import("@.ORG.UploadFile");的上傳方式,今天我們來講一個使用html5 base64上傳圖片的
    2020-06-14
  • php使用自帶dom擴展進行元素匹配的原理解析

    php使用自帶dom擴展進行元素匹配的原理解析

    DOMDocument php提供了非常好用的解析html和xml文檔的擴展庫DOM,使用這個庫可以非常高效的進行html和xml文檔的解析,它的原理就是通過尋找首尾匹配對來進行文檔的解
    2020-06-14
  • PHP實現圖片防盜鏈破解操作示例【解決圖片防盜鏈問題/反向代理】

    PHP實現圖片防盜鏈破解操作示例【解決圖片防盜鏈問題/反向代理】

    本文實例講述了PHP實現圖片防盜鏈破解操作。分享給大家供大家參考,具體如下: 很多小伙伴的博客,網站都是用圖床來實現的,那么現在很多穩定的圖床接口都被做了防盜
    2020-06-14
  • PHP論壇實現積分系統的思路代碼詳解

    PHP論壇實現積分系統的思路代碼詳解

    首先在用戶表定義一個積分字段; 然后創建一個等級表,主要字段有等級名,上限積分和下限積分; 再根據用戶的行為進行積分累加; 最后根據判斷用戶積分在哪個等級范
    2020-06-14
  • PHP Web表單生成器案例分析

    PHP Web表單生成器案例分析

    本文實例講述了PHP Web表單生成器。分享給大家供大家參考,具體如下: 1.實例: 2. 需求分析 在項目的實際開發中,經常需要設計各種各樣表單。直接編寫HTML表單雖然
    2020-06-14
  • 一文看懂PHP進程管理器php-fpm

    一文看懂PHP進程管理器php-fpm

    php-fpm是什么 php-fpm是PHP的一個進程管理器。php下面的眾多work進程皆有php-fpm進程管理器管理。 php-fpm的工作原理 php-fpm全名是PHP FastCGI進程管理器。php
    2020-06-14
  • PHP與Web頁面交互操作實例分析

    PHP與Web頁面交互操作實例分析

    本文實例講述了PHP與Web頁面交互操作。分享給大家供大家參考,具體如下: Web交互 1.Web表單交互 當表單的method屬性提交方式為POST時,瀏覽器發送POST請求 當
    2020-06-14

最新評論

买宝宝用品赚钱吗 黑龙江体彩6 1开奖结果 博彩现金网 广西快三实时开奖 黑龙江22选5奖池现在多少钱 pk10极速赛车彩票开奖 独平一码公式计算法 湖南福利彩票快乐十分遗漏 3d预测今天 好的p2p投资理财平台 广西快3是合法彩票吗 浙江11选五走势图 浙江体彩6 1开奖结果查询 安徽快3遗漏分析 甘肃省十一选五遗漏 12119期博彩老头 股票行情电脑软件