php開發(fā)之變量類型轉(zhuǎn)換和運(yùn)算符

php數(shù)據(jù)類型轉(zhuǎn)換

例: $a=10;

$b="20px";

$c=$a+$b;// "+"要求左右兩個操作數(shù)必須是數(shù)值型健盒,如果有一個不是的話先口,要轉(zhuǎn)成數(shù)值型再運(yùn)行

echo $c;----------------->輸出結(jié)果為:30

變量之間的運(yùn)算,必須是同類型的森逮,如果類型不同艾岂,則必須轉(zhuǎn)成同類型合陵,然后再運(yùn)行沼填。

變量類型的轉(zhuǎn)換:系統(tǒng)自動轉(zhuǎn)換桅咆,強(qiáng)制轉(zhuǎn)換(手動轉(zhuǎn)換)

1.其它類型轉(zhuǎn)成布爾型

實例:

$a=100;-------------------->true

$a=0;-------------------->false

$a=0.98;-------------------->true

$a="";-------------------->false

$a="10px";-------------------->true

$a="120";-------------------->true

$a=null;-------------------->false

$result= (bool)$a;//使用運(yùn)算符(bool)強(qiáng)制轉(zhuǎn)換

var_dump($result);//打印變量的類型和值

總結(jié):這些數(shù)值將轉(zhuǎn)成false:0,0.0坞笙,""岩饼,''0'',array(),null;資源類型永遠(yuǎn)為true薛夜。

2.其它類型轉(zhuǎn)為整型

$a="";----------------------->0

$a="10px";----------------------->10

$a="120";----------------------->120

$a=null;----------------------->0

$a=true;----------------------->1

$a=false;----------------------->0

$a="abc";----------------------->0

$a=10.98;----------------------->10

$result= (int)$a;//使用運(yùn)算符(int)強(qiáng)制轉(zhuǎn)換

var_dump($result);//打印變量的類型和值

總結(jié):

(1)如果以數(shù)值開頭的字符串籍茧,可以轉(zhuǎn)成整型并去掉后面字符;

(2)開頭不含數(shù)值的字符串梯澜,將轉(zhuǎn)成0硕糊;

3.其它類型轉(zhuǎn)成字符串(了解)

$a=100;----------------------->"100"

$a=0;----------------------->"0"

$a=null;----------------------->""

$a=true;----------------------->"1"

$a=false;----------------------->""

$a=10.98;----------------------->"10.98"

$result= (string)$a;//使用運(yùn)算符(string)強(qiáng)制轉(zhuǎn)換

var_dump($result);//打印變量的類型和值

總結(jié):

(1)null和false轉(zhuǎn)成空字符串;

(2)整數(shù)0轉(zhuǎn)成 “0”腊徙;

php運(yùn)算符

1.算術(shù)運(yùn)算符:+,-檬某,*撬腾,/,%恢恼,++民傻,--

"%":取余,兩數(shù)相除取余數(shù)场斑,余數(shù)為0漓踢,說明能除盡。

如:輸出1-100之間所有偶數(shù)

for($i=0;$i<=100;$i++){
if($i%2==0){
echo $i."";

}

}

"++":自加1漏隐,有兩種用法:做前綴:++$i;做后綴:$i++

(1)如果單獨(dú)使用喧半,$i++和++$i結(jié)果一樣

如:$a=10;

$a++;//$a=$a+1

var_dump($a);------------------------>int(11)

++$a;//$a=$a+1

var_dump($a);------------------------>int(11)

(2)如果將$i++和++$i混在其他表達(dá)式當(dāng)中,則結(jié)果不一樣

如:$a=10;

$b=$a++;//先復(fù)制再加1青责,即先將變量$a的值賦值給$b,然后挺据,再將$a+1

var_dump($a,$b);------------------------>int(11) int(10)

$b=++$a;//先加1再賦值,即先將$a+1,再將結(jié)果賦給變量$b

var_dump($a,$b);------------------------>int(11) int(11)

//$c=$a+++10;

//var_dump($a,$c);------------------------>int(12) int(21)

$c=++$a+10;

var_dump($a,$c);------------------------>int(12) int(22)

2.字符串運(yùn)算符: ?.(字符串連接符)或.=

$a="abc";

$b=$a."100";

$a.=100;//$a=$a.100 ="abc"."100"="abc100"

echo $b;------------------------->"abc100"

3.賦值運(yùn)算符:=脖隶,+=扁耐,-=,*=产阱,/=婉称,%=

"=":將右邊運(yùn)算結(jié)果賦給左邊變量

“+=”:先加后等,如$a+=10;展開后,$a=$a+10;

如:將一個<img>的寬度(400px)王暗,變?yōu)樵瓉淼?倍

//(1)定義變量

$width="400px";

//(2)運(yùn)算過程

$width*=2;//$width=$width*2;$width="400px"*2=400*2=800;

$width.="px";//$width=$width."px"="800px"

//(3)輸出結(jié)果

echo "圖片寬度為:$width";----------------------->輸出結(jié)果為:圖片寬度為:800px

4.比較運(yùn)算符:>,<,>=,<=,==,!=,===,!==

注意:比較運(yùn)算符的運(yùn)算結(jié)果就是一個布爾值

“=”:賦值號悔据;

“==”:判斷值是否相等,不管類型瘫筐,如:10==“10”為真蜜暑,10==“10px”為真;

“===”:全等于策肝,判斷類型是否一致肛捍,還要判斷值是否相等铃肯,如:10==“10”為假耳高,10==“10px”為假;

5.邏輯運(yùn)算符:&&迟杂,||棺禾,缀蹄!

“&&”:邏輯與(并且關(guān)系),如果左右兩個操作數(shù)的結(jié)果都為true膘婶,則總結(jié)果為true缺前;

“||”:邏輯或(或者關(guān)系),如果左右兩個操作數(shù)有一個為true悬襟,則結(jié)果為true衅码;

“!”:邏輯非(取反)脊岳!true=false逝段;!100=false割捅,將奶躯!后面的表達(dá)式先轉(zhuǎn)成布爾值,再進(jìn)行取反操作亿驾。

如:判斷用戶輸入的年份是不是閏年

(1)能被4整除嘹黔,且不能被100整除

(2)能被400整除

(3)條件(1)和條件(2)是或的關(guān)系

$year=$_GET["year"];

if($year%4==0 && $year%100!=0 || $year%400==0){
echo "$year 是閏年";

}else{

echo “$year 是平年”;

}
6.三元運(yùn)算符(條件運(yùn)算符)

二元運(yùn)算符:左右有兩個操作數(shù)颊乘,如:+参淹,-,*乏悄,/

三元運(yùn)算符:是三個操作數(shù)或者表達(dá)式

條件判斷浙值?結(jié)果1:結(jié)果2 ?或 ?表達(dá)式1?表達(dá)式2:表達(dá)式3

如果條件為true檩小,則執(zhí)行結(jié)果1的代碼开呐;如果結(jié)果為false,則執(zhí)行結(jié)果2的代碼。

如:求兩個數(shù)的最大值

$a=10;

$b=20;

//使用if條件判斷

if($a>$b){
$max=$a;

}else{
$max=$b;

}

//使用三元運(yùn)算符判斷

$max=$a>$b?$a:$b;

運(yùn)算符優(yōu)先級:特殊運(yùn)算符》算數(shù)運(yùn)算符》比較運(yùn)算符》邏輯運(yùn)算符》賦值運(yùn)算符

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末筐付,一起剝皮案震驚了整個濱河市卵惦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瓦戚,老刑警劉巖沮尿,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異较解,居然都是意外死亡畜疾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門印衔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啡捶,“玉大人,你說我怎么就攤上這事奸焙∠故睿” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵与帆,是天一觀的道長了赌。 經(jīng)常有香客問我,道長玄糟,這世上最難降的妖魔是什么揍拆? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮茶凳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘播揪。我一直安慰自己贮喧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布猪狈。 她就那樣靜靜地躺著箱沦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雇庙。 梳的紋絲不亂的頭發(fā)上谓形,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機(jī)與錄音疆前,去河邊找鬼寒跳。 笑死,一個胖子當(dāng)著我的面吹牛竹椒,可吹牛的內(nèi)容都是我干的童太。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼书释!你這毒婦竟也來了翘贮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤爆惧,失蹤者是張志新(化名)和其女友劉穎狸页,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扯再,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芍耘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了叔收。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片齿穗。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖饺律,靈堂內(nèi)的尸體忽然破棺而出窃页,到底是詐尸還是另有隱情,我是刑警寧澤复濒,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布脖卖,位于F島的核電站,受9級特大地震影響巧颈,放射性物質(zhì)發(fā)生泄漏畦木。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一砸泛、第九天 我趴在偏房一處隱蔽的房頂上張望十籍。 院中可真熱鬧,春花似錦唇礁、人聲如沸勾栗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽围俘。三九已至,卻和暖如春琢融,著一層夾襖步出監(jiān)牢的瞬間界牡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工漾抬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宿亡,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓纳令,卻偏偏與公主長得像她混,于是被迫代替她去往敵國和親烈钞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程坤按,因...
    小菜c閱讀 6,449評論 0 17
  • 《裕語言》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 27,068評論 5 19
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理毯欣,服務(wù)發(fā)現(xiàn),斷路器臭脓,智...
    卡卡羅2017閱讀 134,715評論 18 139
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,845評論 0 6
  • 這世界還有很多美好的事物值得我們?yōu)橹畩^斗来累! 當(dāng)微信砚作、微博、陌陌等社交軟件如日中天嘹锁,附近的人葫录、漂流瓶等功能如火如荼,...
    童說人生閱讀 612評論 0 1