摘要:老師沒(méi)教過(guò)你的那些知識(shí)點(diǎn)另類(lèi)的寫(xiě)法有驚喜我們?cè)陂喿x某些源代碼的時(shí)候會(huì)發(fā)現(xiàn)有一種另類(lèi)的寫(xiě)法,比如異常寫(xiě)法正常寫(xiě)法其實(shí)這是一種很聰明的寫(xiě)法,它可以很大程度上杜絕手誤造成的嚴(yán)重。同理前的空行也會(huì)存在同樣的問(wèn)題。
PHP老師沒(méi)教過(guò)你的那些知識(shí)點(diǎn) 另類(lèi)的寫(xiě)法有驚喜
我們?cè)陂喿x某些源代碼的時(shí)候會(huì)發(fā)現(xiàn)有一種另類(lèi)的寫(xiě)法,比如
//異常寫(xiě)法 if(false == $result) //正常寫(xiě)法 if($result == false)
其實(shí)這是一種很聰明的寫(xiě)法,它可以很大程度上杜絕手誤造成的嚴(yán)重bug。
假如我們?cè)谡7椒ㄖ邪?== 誤寫(xiě)成 = ,那么 if($result = false) 就會(huì)返回未知結(jié)果,導(dǎo)致在實(shí)際運(yùn)行中產(chǎn)生未知的Bug,如果使用異常的寫(xiě)法出現(xiàn)手誤變成時(shí) if(false = $false) ,編輯器會(huì)拋出一個(gè)error,我們就可以及時(shí)發(fā)現(xiàn)并修復(fù)問(wèn)題。
假如有一個(gè)文件在 ?> 后有一個(gè)空白行,那么你在使用 session_start() 等方法時(shí),會(huì)返回一個(gè)警告 headers already sent by xxx ,這是因?yàn)?session_start() 要求使用前不能有任何輸出。
同理 前的空行也會(huì)存在同樣的問(wèn)題。
var_dump("a".0); //返回error,語(yǔ)法錯(cuò)誤
解決的方案比較簡(jiǎn)單,只要在.連接左右加上空格就可以防止語(yǔ)法錯(cuò)誤。
var_dump ("abc" == 0); //輸出true var_dump ("1abc" == 0); //輸出false
這個(gè)例子中輸出true是不是讓你大吃一驚,其實(shí)php中將字符串和數(shù)字做比較時(shí),會(huì)把字符串強(qiáng)制轉(zhuǎn)換為int性,轉(zhuǎn)換規(guī)則為 如果字符串是數(shù)字開(kāi)頭,那么取開(kāi)頭數(shù)字作為轉(zhuǎn)換結(jié)果,如果開(kāi)頭不是數(shù)字那么就為0
字符串的運(yùn)算,你惹不起for ($i = "a"; $i <= "z"; ++$i) { echo "$i "; }
你以為會(huì)輸出從a到z?那你就錯(cuò)了,亮瞎你的輸出結(jié)果如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz時(shí)刻小心精度丟失的情況
$f = 0.58; echo intval($f * 100); // 輸出57 sprintf("%.2f",$f * 100); //輸出58.00
精度丟失的問(wèn)題在其他語(yǔ)言中有會(huì)有,但是在PHP這種弱類(lèi)型的語(yǔ)言中更加需要注意。
其實(shí)上述說(shuō)到的問(wèn)題在PHP手冊(cè)中都已經(jīng)提及到了,手冊(cè)翻百遍打碼如有神,一定的細(xì)心加一定的經(jīng)驗(yàn),你就能夠在開(kāi)發(fā)的路上一路填坑一路前行。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/30320.html
摘要:假如是在同一個(gè)域名下,例如與,因?yàn)樵试S設(shè)置到二級(jí)域名下,所以和是可以共享的,用戶的信息可以通過(guò)可逆加密放在二級(jí)域名下的,并且設(shè)置,就可以一站登錄,站站登錄。 原文鏈接:BlueSun | 登錄那些事兒 也不知道是什么原因,剛開(kāi)始不久的職業(yè)生涯,在技術(shù)這條路走著走著,和「登錄」總是有著一個(gè)不解之緣。還記得當(dāng)初學(xué)習(xí)Web編程的時(shí)候么?不管是Java、.Net、PHP,繼經(jīng)典「Hello W...
摘要:今年歲,目前在某行業(yè)頭部企業(yè)任職測(cè)試負(fù)責(zé)人,管理人的測(cè)試團(tuán)隊(duì)。渾渾噩噩的年我年出生,年二本畢業(yè),專(zhuān)業(yè)是電子信息工程專(zhuān)業(yè)。轉(zhuǎn)行這年截止此時(shí)此刻,我已入坑近年時(shí)間,經(jīng)歷家互聯(lián)網(wǎng)公司,最近一份工作已有年之多,目前任職測(cè)試負(fù)責(zé)人。 ...
摘要:大家好,我是一行之前一行分享過(guò)好用的幾種編輯器,測(cè)試有沒(méi)有下載成功,用來(lái)做數(shù)據(jù)分析,開(kāi)發(fā)的大殺器,等等,小眾猿群使用那在用這個(gè)開(kāi)發(fā)大殺器的同時(shí),一行也來(lái)分享幾個(gè)它很好用的插件,來(lái)給你的搬磚提提速可以作為摸魚(yú)好助手次下載 ...
摘要:被洗腦裸辭學(xué)大專(zhuān)學(xué)的是數(shù)控技術(shù),畢業(yè)后進(jìn)了一家公司,從事跟數(shù)控相關(guān)的工作,收入太低了一直想要換工作。裸辭學(xué)習(xí),上海的高消費(fèi)讓我負(fù)債累累,然而這種孤注一擲并沒(méi)有獲得好的結(jié)果。 ...
閱讀 1530·2021-09-10 11:27
閱讀 2558·2019-08-30 15:53
閱讀 1439·2019-08-30 13:10
閱讀 3046·2019-08-30 11:09
閱讀 1198·2019-08-29 17:23
閱讀 727·2019-08-29 17:05
閱讀 3006·2019-08-29 15:10
閱讀 2411·2019-08-29 13:22