php模擬紅綠燈,php之常量

2021-10-25 21:51:11 字數 2709 閱讀 8801

定義常量

常量是乙個簡單值的識別符號。如同其名稱所暗示的,在指令碼執行期間乙個常量一旦被定義,就不能再改變或取消定義。常量預設為大小寫敏感。按照慣例常量識別符號總是大寫的

常量名和其它任何php標籤遵循同樣的命名規則。合法的常量名以字母或下劃線開始,後面跟著任何字母,數字或下劃線

和超全域性變數一樣,常量的範圍是全域性的。不用管作用區域就可以在指令碼的任何地方訪問常量

常量只能包含標量資料(boolean、integer、float和string)。可以定義resource常量,但應盡量避免,因為會造成不可預料的結果

define()函式

定義常量使用define()函式,它使用三個引數:首個引數定義常量的名稱,第二個引數定義常量的值,可選的第三個引數規定常量名是否對大小寫敏感,預設是falsebool define ( string name, mixed value [, bool case_insensitive] )

<?php $p = 'pi0';define('pi',3.14);define('pi',3.15);//無效,因為常量無法被修改定義define($p,3.14);echo pi; "

";echo pi0;>

const

在php5.3.0以後,可以使用const關鍵字在類定義之外定義常量

使用const關鍵字定義常量必須處於最頂端的作用區域,因為用此方法是在編譯時定義的。這就意味著不能在函式內,迴圈內以及if語句之內用const來定義常量<?php // 以下**在 php 5.3.0 後可以正常工作const constant = 'hello world';echo constant;?>

常量檢測

對於常量來說,通常要檢測常量是否定義或檢測常量的值,涉及到defined()函式和constant()函式

defined()函式

defined()函式用來判斷乙個常量是否已經定義,其語法格式為:bool defined(string constants_name)

若存在則返回true,否則返回false

如果常量被重複定義後,php解析器會發出"constant *** already defined"的警告,提醒該常量已被定義過

<?php  

define("pi1",3.14);$p = "pi1";$is1 = defined($p);$is2 = defined("pi2");var_dump($is1);//bool(true)var_dump($is2);//bool(false)?>

constant()函式

constant()函式用來返回乙個常量的值,語法格式為:mixed constant(string constant_name)

<?php $p;define("pi1",3.14);define("pi2",3.142);$height = "中";if($height == "中")else$r = 1;$area = constant("pi") * $r * $r;echo $area;?>

系統常量

在php中,除了可以自己定義常量外,還預定義了一系列系統常量,可以在程式中直接使用來完成一些特殊功能。下面是一些在系統中常見的預定義常量

php_os        unix或winnt等     執行php解析的作業系統名稱php_version   5.2.6等          當前php的版本號e_error       1                錯誤,導致php指令碼執行停止e_warning     2                警告,不會導致php指令碼執行停止e_parse       4                解析錯誤,帽程式解析器報告e_notice      8                非關鍵的錯誤,例如變數未初始化

m_pi          3.1415926535898  數學中的pi值

完整的系統常量列表移步至此

; "" ; "

"?>

魔術常量

php中有8個系統常量會根據它們使用的位置改變而改變,這樣的常量被稱為魔術常量

__line__        檔案中的當前行號。__file__        檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。自php 4.0.2起,__file__ 總是包含乙個絕對路徑(如果是符號連線,則是解析後的絕對路徑),而在此之前的版本有時會包含乙個相對路徑

__dir__         檔案所在的目錄。如果用在被包括檔案中,則返回被包括的檔案所在的目錄。除非是根目錄,否則目錄中名不包括末尾的斜槓。(php 5.3.0新增)__function__    函式名稱(php 4.3.0新加)。自php5起本常量返回該函式被定義時的名字(區分大小寫)。在php4中該值總是小寫字母。__class__       類的名稱(php 4.3.0新加)。自php5起本常量返回該類被定義時的名字(區分大小寫)。在php4中該值總是小寫字母。類名包括其被宣告的作用區域(例如 foo\bar)__trait__       trait 的名字(php 5.4.0新加)。自php 5.4起此常量返回 trait 被定義時的名字(區分大小寫)。trait 名包括其被宣告的作用區域(例如 foo\bar)__method__      類的方法名(php 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)

__namespace__   當前命名空間的名稱(區分大小寫)。此常量是在編譯時定義的(php 5.3.0 新增)

<?phpecho  __file__;//d:\wamp\www\1.phpecho "

";echo __line__;//11?>

WF4 0實戰(十六) 模擬紅綠燈

概述 在我眼裡,每天馬路上的紅綠燈閃呀閃的,也是乙個流程,這個流程是乙個反覆的流程。這個流程算從紅燈開始吧,然後是黃燈,然後是綠燈,然後又是黃燈,接著回到紅燈。這個流程是反覆的。黃燈是個過度,時間相對較短,紅燈和綠燈時間較長,所以,很多人稱交通燈為紅綠燈,而不是紅黃綠燈。這個例子使用wpf和wf模擬...

Python通過類的組合模擬街道紅綠燈

一,紅綠燈揭示板案例思路 1.建立traffic light紅綠燈類 1 靜態屬性 1 綠燈時間,2 黃燈時間 3 紅燈時間,4 兩塊顯示時間的電子屏 2 動態屬性 1 輸入紅黃綠時間函式 靜態函式 2 紅黃綠時間倒計時函式 3 構造電子屏數字的顯示函式,4 顯示兩塊電子屏繫結兩位數的顯示函式 5 ...

PHP學習之常量

常量值被定義後,在指令碼的其他任何地方都不能被改變。php 常量 常量是乙個簡單值的識別符號。該值在指令碼中不能改變。乙個常量由英文本母 下劃線 和數字組成,但數字不能作為首字母出現。常量名不需要加 修飾符 注意 常量在整個指令碼中都可以使用。設定 php 常量 設定常量,使用 define 函式,...