Teacher PHP hasn't taught you those knowledge points.

Keywords: PHP IE Qt

Another way of writing is surprising.

When we read some source code, we find an alternative way of writing, such as

//Abnormal writing
if(false == $result)
//Normal writing
if($result == false)

In fact, this is a very clever way of writing, it can largely eliminate the serious bug s caused by hand errors.
If we miswrite = as = in the normal method, then if($result) = false) returns an unknown result, resulting in an unknown Bug in actual operation. If an abnormal writing occurs and the editor throws an error, we can find and fix the problem in time.

'<? php'Don't have empty lines before you start, and the'?>' at the end of the php script should be omitted as much as possible.

If a file has a blank line after?>, you will return a warning headers when using session_start() and other methods. already sent by xxx, because session_start() requires no output before use.
Similarly, unprecedented lines of <? PHP have the same problem.

Be careful when strings and numbers are together

var_dump('a'.0); //Return error, grammatical error

The solution is relatively simple, as long as the left and right joins with spaces can prevent grammatical errors.

var_dump ('abc' == 0); //outputtrue
var_dump ('1abc' == 0); //outputfalse

Does the output true surprise you in this example? In fact, when comparing strings and numbers in php, the string will be forced to convert to int, and the conversion rule is: if the string is the beginning of a number, then take the beginning number as the conversion result, if the beginning is not a number, then 0?

The operation of strings, you can't provoke

for ($i = 'a'; $i <= 'z'; ++$i) {
    echo "$i ";
}

Do you think it will output from a to z? Then you are wrong. Blind your output as follows:

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 

Beware of loss of accuracy at all times

$f = 0.58;
echo intval($f * 100); // Output 57
sprintf("%.2f",$f * 100); //Output 58

Accuracy loss can occur in other languages, but it's more important to pay attention to PHP, a weak type of language.

In fact, the above mentioned problems have been mentioned in the PHP handbook. If the handbook is pronounced a hundred times, with a certain degree of care and experience, you will be able to fill holes along the way of development.

Posted by dmcke5 on Sun, 02 Jun 2019 11:20:22 -0700