常量用define()聲明 一旦聲明 值就不能再改了 使用的時候直接用名就行不用加 $
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),巫山企業(yè)網(wǎng)站建設(shè),巫山品牌網(wǎng)站建設(shè),網(wǎng)站定制,巫山網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,巫山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
你應(yīng)該說字符串替換,而不是常量,完全兩碼事
用正則preg_replace()函數(shù)可以替換
?php
preg_replace('/\[size=[0-9]+?pt\]/','[size=14pt]',$str);
?
常量是一個簡單值的標(biāo)識符(名字)。如同其名稱所暗示的,在腳本執(zhí)行期間該值不能改變(除了所謂的魔術(shù)常量,它們其實不是常量)。常量默認(rèn)為大小寫敏感。按照慣例常量標(biāo)識符總是大寫的。
define("haha","hello!");
echo haha;
輸出hello!
變量總是傳值賦值。那也就是說,當(dāng)將一個表達(dá)式的值賦予一個變量時,整個原始表達(dá)式的值被賦值到目標(biāo)變量。
$haha=hoho;
echo $haha;
會輸出hoho
靜態(tài)變量僅在局部函數(shù)域中存在,但當(dāng)程序執(zhí)行離開此作用域時,其值并不丟失。
給你看個例子:
這個沒用靜態(tài)變量?PHP
function Test()
{
$haha= 0;
echo $haha;
$haha++;
}
?
這里邊的變量加一是沒用的,在調(diào)用這個函數(shù)時會輸出“0”,但這個變量在函數(shù)外是不存在的,在看看下邊的
function Test()
{
static $haha= 0;
echo $haha;
$haha++;
}
?
現(xiàn)在,每次調(diào)用 Test() 函數(shù)都會輸出 $haha 的值并加一。
不知道我說的對你有用沒
定義常量和定義變量的區(qū)別:
1. 常量前面沒有美元符號($)
2. 常量只能用 define() 函數(shù)定義,而不能通過賦值語句
3. 常量可以不用理會變量范圍的規(guī)則而在任何地方定義和訪問
4. 常量一旦定義就不能被重新定義或者取消定義
5. 常量的值只能是標(biāo)量
更詳細(xì)的關(guān)于變量和常量的知識請參見參考資料。
在PHP中,我們不能用const直接定義數(shù)組常量,但是const可以定義字符串常量,結(jié)合eval()函數(shù)使字符串常量能執(zhí)行。所以,我們可以用定義字符串常量的方式來返回一個數(shù)組常量。
?php
class?Test
{
const?MY_ARR="return?array(\"a\",\"b\",\"c\",\"d\");";
public?function?getConstArray()
{
return?eval(Test::MY_ARR);//eval()函數(shù)把字符串作為PHP代碼執(zhí)行
}
}
$t=new?Test();
print_r($t-getConstArray());
?
上面代碼中,getConstArray()函數(shù),就相當(dāng)于一個數(shù)組常量。