php 常量、變量用法詳細(xì)介紹
Jun 13, 2016 am 10:14 AM以前很少這么詳細(xì)的給大家介紹php中的變量、常量以及魔術(shù)常量的用法以及參考表,這文章對(duì)于初學(xué)者有不小的幫助有需要了解的朋友可以參考一下。
變量:
變量用于存儲(chǔ)值,比如數(shù)字、文本字符串或數(shù)組。
一旦設(shè)置了某個(gè)變量,我們就可以在腳本中重復(fù)地使用它。
PHP 中的所有變量都是以 $ 符號(hào)開始的。
在 PHP 中設(shè)置變量的正確方法是:
?代碼如下 | 復(fù)制代碼 |
$var_name = value; |
PHP 的入門者往往會(huì)忘記在變量的前面的 $ 符號(hào)。如果那樣做的話,變量將是無效的。
讓我們?cè)囍鴦?chuàng)建一個(gè)存有字符串的變量,和一個(gè)存有數(shù)值的變量:
?代碼如下 | 復(fù)制代碼 |
$txt = "Hello World!"; $number = 16; ?> |
?
1.如何定義變量,它和C# 等語言有什么不同呢?
?? PHP 中的變量用一個(gè)美元符號(hào)后面跟變量名來表示。變量名是區(qū)分大小寫的。例如:
?代碼如下 | 復(fù)制代碼 |
?$var='Jim'; ? $VAR='Kimi; ? echo "$var,$VAR";//輸出“Jim,Kimi" |
??>你可能還關(guān)心變量的命名,其實(shí)和大多數(shù)語言一樣。
2. 變量區(qū)分大小寫嗎?
?? 如 1里說的,區(qū)分大小寫。
? 注意,需要說明的一點(diǎn)是自PHP4以來,引入了引用賦值的概念,其實(shí)和多數(shù)語言的引用類似,不過我覺得最類似的是C/C++.因?yàn)樗灿玫搅?&"符號(hào)。例如:?
?代碼如下 | 復(fù)制代碼 |
1
2 $foo = 'Bob';????????????? // 賦值'Bob'給foo 3 $bar = &$foo;????????????? // 通過$bar引用.注意&符號(hào) 4 $bar = "My name is $bar";? // 修改 $bar 5 echo $bar; 6 echo $foo;??????????????? // $foo 也修改了. 7 ?> |
和其他語言一樣,只能對(duì)有變量名的變量才可以引用。
好了現(xiàn)在大家對(duì)變量應(yīng)該有一個(gè)大概的了解了,現(xiàn)在我們看看變量的間接引用和字符串連接。
①變量的間接引用: 先看個(gè)例子吧
?代碼如下 | 復(fù)制代碼 |
?$a = "b"; ?$$a = "123"; ?echo $b; ?> |
?
上面的輸出結(jié)果是123
我們可以看到在第二行代碼中多了一個(gè)$,并通過指定的名稱訪問變量,指定的名字存儲(chǔ)在$a("b")中,并把這個(gè)變量$b的值更改為123。因此,這樣的$b的變量被創(chuàng)建和賦值。
通過在變量的前面增加附加的$標(biāo)記,你可以任意增加引用的次數(shù)。
?②字符串連接: 先看個(gè)例子吧
?代碼如下 | 復(fù)制代碼 |
$a = "PHP 4" ; $b = "功能強(qiáng)大" ; echo $a.$b; ?> |
?
需要注意的是 在PHP 4.2.0 以及后續(xù)版本中,PHP 指令 register_globals 的默認(rèn)值為 off。這是 PHP 的一個(gè)主要變化。讓 register_globals 的值為 off 將影響到預(yù)定義變量集在全局范圍內(nèi)的有效性。例如,為了得到 DOCUMENT_ROOT 的值,將必須使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 來代替 $id 從 URL http://www.example.com/test.php?id=3 中獲取 id 值,亦或使用 $_ENV['HOME'] 來代替 $HOME 獲取環(huán)境變量 HOME 的值
我們看到代碼的第三行,英文的(句)號(hào),它可以將字符串連接起來,變成合并的新字符串。
?
超全局變量 | 描述 |
$GLOBALS | 包含一個(gè)引用指向每個(gè)當(dāng)前腳本的全局范圍內(nèi)有效的變量。該數(shù)組的鍵名為全局變量的名稱。從 PHP 3 開始存在 $GLOBALS 數(shù)組。 |
$_SERVER | 變量由 web 服務(wù)器設(shè)定或者直接與當(dāng)前腳本的執(zhí)行環(huán)境相關(guān)聯(lián)。類似于舊數(shù)組 $HTTP_SERVER_VARS 數(shù)組(依然有效,但反對(duì)使用)。 |
$_GET | 經(jīng)由 URL 請(qǐng)求提交至腳本的變量。類似于舊數(shù)組 $HTTP_GET_VARS 數(shù)組(依然有效,但反對(duì)使用)。 |
$_POST | 經(jīng)由 HTTP POST 方法提交至腳本的變量。類似于舊數(shù)組 $HTTP_POST_VARS 數(shù)組(依然有效,但反對(duì)使用)。 |
$_COOKIE | 經(jīng)由 HTTP Cookies 方法提交至腳本的變量。類似于舊數(shù)組 $HTTP_COOKIE_VARS 數(shù)組(依然有效,但反對(duì)使用)。 |
$_FILES | 經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量。類似于舊數(shù)組 $HTTP_POST_FILES 數(shù)組(依然有效,但反對(duì)使用) |
$_ENV | 執(zhí)行環(huán)境提交至腳本的變量。類似于舊數(shù)組 $HTTP_ENV_VARS 數(shù)組(依然有效,但反對(duì)使用)。 |
$_REQUEST | ?經(jīng)由 GET,POST 和 COOKIE 機(jī)制提交至腳本的變量,因此該數(shù)組并不值得信任。所有包含在該數(shù)組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來定義。此數(shù)組在 PHP 4.1.0 之前沒有直接對(duì)應(yīng)的版本。參見 import_request_variables()。 |
$_SESSION | 當(dāng)前注冊(cè)給腳本會(huì)話的變量。類似于舊數(shù)組 $HTTP_SESSION_VARS 數(shù)組(依然有效,但反對(duì)使用) |
常量:
常量是一個(gè)簡(jiǎn)單值的標(biāo)識(shí)符(名字)。如同其名稱所暗示的,在腳本執(zhí)行期間該值不能改變(除了所謂的魔術(shù)常量,它們其實(shí)不是常量)。常量默認(rèn)為大小寫敏感。通常常量標(biāo)識(shí)符總是大寫的。
常量名和其它任何 PHP 標(biāo)簽遵循同樣的命名規(guī)則。合法的常量名以字母或下劃線開始,后面跟著任何字母,數(shù)字或下劃線。用正則表達(dá)式是這樣表達(dá)的:[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*
?
①是在程序執(zhí)行期間無法改變的數(shù)據(jù),常量的作用域是全局的。
②常量的命名與與變量相似,只是不帶美元符號(hào)“$”。一個(gè)有效的常量名由字母或者下劃線開頭,后面跟報(bào)上任意數(shù)量的字母、數(shù)字或者下劃線。
③一般在PHP中常量都為大寫字母而且又分為系統(tǒng)常量和自定義常量。
?
系統(tǒng)常量我們就大概說了 ,這個(gè)在后面的知識(shí)會(huì)介紹到。
1、__FILE__??? 默認(rèn)常量,是指PHP程序文件名及路徑;
2、__LINE__??? 默認(rèn)常量,是指PHP程序的行數(shù);
3、__CLASS__??? 類的名稱;
自定義常量:通過define()函數(shù)來定義一個(gè)常量的,
其語法格式為:bool define ( string $name, mixed $value [, bool case_$insensitive] )
name:指定常量的名稱。
value:指定常量的值。
insensitive:指定常量名稱是否區(qū)分大小寫。如果設(shè)置為true則不區(qū)分大小寫;如果設(shè)置為false則區(qū)分大小寫。如果沒有設(shè)置該參數(shù),則取默認(rèn)值false。
// 合法的常量名
define("FOO",???? "something");
define("FOO2",??? "something else");
define("FOO_BAR", "something more");
// 非法的常量名
define("2FOO",??? "something");
// 下面的定義是合法的,但應(yīng)該避免這樣做:(自定義常量不要以__開頭)
// 也許將來有一天PHP會(huì)定義一個(gè)__FOO__的魔術(shù)常量
// 這樣就會(huì)與你的代碼相沖突
define("__FOO__", "something");
?>
名稱 | 說明 |
---|---|
__LINE__ | 文件中的當(dāng)前行號(hào)。 |
__FILE__ | 文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個(gè)絕對(duì)路徑(如果是符號(hào)連接,則是解析后的絕對(duì)路徑),而在此之前的版本有時(shí)會(huì)包含一個(gè)相對(duì)路徑。 |
__DIR__ | 文件所在的目錄。如果用在被包括文件中,則返回被包括的文件所在的目錄。它等價(jià)于 dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜杠。(PHP 5.3.0中新增) = |
__FUNCTION__ | 函數(shù)名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數(shù)被定義時(shí)的名字(區(qū)分大小寫)。在 PHP 4 中該值總是小寫字母的。 |
__CLASS__ | 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時(shí)的名字(區(qū)分大小寫)。在 PHP 4 中該值總是小寫字母的。 |
__METHOD__ | 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時(shí)的名字(區(qū)分大小寫)。 |
__NAMESPACE__ | 當(dāng)前命名空間的名稱(大小寫敏感)。這個(gè)常量是在編譯時(shí)定義的(PHP 5.3.0 新增) |

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

用戶語音輸入通過前端JavaScript的MediaRecorderAPI捕獲並發(fā)送至PHP後端;2.PHP將音頻保存為臨時(shí)文件後調(diào)用STTAPI(如Google或百度語音識(shí)別)轉(zhuǎn)換為文本;3.PHP將文本發(fā)送至AI服務(wù)(如OpenAIGPT)獲取智能回復(fù);4.PHP再調(diào)用TTSAPI(如百度或Google語音合成)將回復(fù)轉(zhuǎn)為語音文件;5.PHP將語音文件流式返回前端播放,完成交互。整個(gè)流程由PHP主導(dǎo)數(shù)據(jù)流轉(zhuǎn)與錯(cuò)誤處理,確保各環(huán)節(jié)無縫銜接。

在PHP中搭建社交分享功能的核心方法是通過動(dòng)態(tài)生成符合各平臺(tái)要求的分享鏈接。 1.首先獲取當(dāng)前頁面或指定的URL及文章信息;2.使用urlencode對(duì)參數(shù)進(jìn)行編碼;3.根據(jù)各平臺(tái)協(xié)議拼接生成分享鏈接;4.在前端展示鏈接供用戶點(diǎn)擊分享;5.動(dòng)態(tài)生成頁面OG標(biāo)籤優(yōu)化分享內(nèi)容展示;6.務(wù)必對(duì)用戶輸入進(jìn)行轉(zhuǎn)義以防止XSS攻擊。該方法無需複雜認(rèn)證,維護(hù)成本低,適用於大多數(shù)內(nèi)容分享需求。

要實(shí)現(xiàn)PHP結(jié)合AI進(jìn)行文本糾錯(cuò)與語法優(yōu)化,需按以下步驟操作:1.選擇適合的AI模型或API,如百度、騰訊API或開源NLP庫;2.通過PHP的curl或Guzzle調(diào)用API並處理返回結(jié)果;3.在應(yīng)用中展示糾錯(cuò)信息並允許用戶選擇是否採納;4.使用php-l和PHP_CodeSniffer進(jìn)行語法檢測(cè)與代碼優(yōu)化;5.持續(xù)收集反饋並更新模型或規(guī)則以提升效果。選擇AIAPI時(shí)應(yīng)重點(diǎn)評(píng)估準(zhǔn)確率、響應(yīng)速度、價(jià)格及對(duì)PHP的支持。代碼優(yōu)化應(yīng)遵循PSR規(guī)範(fàn)、合理使用緩存、避免循環(huán)查詢、定期審查代碼,並藉助X

1.評(píng)論系統(tǒng)商業(yè)價(jià)值最大化需結(jié)合原生廣告精準(zhǔn)投放、用戶付費(fèi)增值服務(wù)(如上傳圖片、評(píng)論置頂)、基於評(píng)論質(zhì)量的影響力激勵(lì)機(jī)制及合規(guī)匿名數(shù)據(jù)洞察變現(xiàn);2.審核策略應(yīng)採用前置審核 動(dòng)態(tài)關(guān)鍵詞過濾 用戶舉報(bào)機(jī)制組合,輔以評(píng)論質(zhì)量評(píng)分實(shí)現(xiàn)內(nèi)容分級(jí)曝光;3.防刷需構(gòu)建多層防禦:reCAPTCHAv3無感驗(yàn)證、Honeypot蜜罐字段識(shí)別機(jī)器人、IP與時(shí)間戳頻率限制阻止灌水、內(nèi)容模式識(shí)別標(biāo)記可疑評(píng)論,持續(xù)迭代應(yīng)對(duì)攻擊。

PHP不直接進(jìn)行AI圖像處理,而是通過API集成,因?yàn)樗瞄LWeb開發(fā)而非計(jì)算密集型任務(wù),API集成能實(shí)現(xiàn)專業(yè)分工、降低成本、提升效率;2.整合關(guān)鍵技術(shù)包括使用Guzzle或cURL發(fā)送HTTP請(qǐng)求、JSON數(shù)據(jù)編解碼、API密鑰安全認(rèn)證、異步隊(duì)列處理耗時(shí)任務(wù)、健壯錯(cuò)誤處理與重試機(jī)制、圖像存儲(chǔ)與展示;3.常見挑戰(zhàn)有API成本失控、生成結(jié)果不可控、用戶體驗(yàn)差、安全風(fēng)險(xiǎn)和數(shù)據(jù)管理難,應(yīng)對(duì)策略分別為設(shè)置用戶配額與緩存、提供prompt指導(dǎo)與多圖選擇、異步通知與進(jìn)度提示、密鑰環(huán)境變量存儲(chǔ)與內(nèi)容審核、雲(yún)存

PHP通過數(shù)據(jù)庫事務(wù)與FORUPDATE行鎖確保庫存扣減原子性,防止高並發(fā)超賣;2.多平臺(tái)庫存一致性需依賴中心化管理與事件驅(qū)動(dòng)同步,結(jié)合API/Webhook通知及消息隊(duì)列保障數(shù)據(jù)可靠傳遞;3.報(bào)警機(jī)制應(yīng)分場(chǎng)景設(shè)置低庫存、零/負(fù)庫存、滯銷、補(bǔ)貨週期和異常波動(dòng)策略,並按緊急程度選擇釘釘、短信或郵件通知責(zé)任人,且報(bào)警信息需完整明確,以實(shí)現(xiàn)業(yè)務(wù)適配與快速響應(yīng)。

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway

選擇合適AI語音識(shí)別服務(wù)並集成PHPSDK;2.用PHP調(diào)用ffmpeg將錄音轉(zhuǎn)為API要求格式(如wav);3.上傳文件至雲(yún)存儲(chǔ)並調(diào)用API異步識(shí)別;4.解析JSON結(jié)果並用NLP技術(shù)整理文本;5.生成Word或Markdown文檔完成會(huì)議記錄自動(dòng)化,全過程需確保數(shù)據(jù)加密、訪問控制與合規(guī)性以保障隱私安全。
