[Powered by Google Translate] [Alt 8 - Níos Compordach] [Rob Bowden - Ollscoil Harvard] Is é [seo CS50. - CS50.TV] Tá na nótaí na seachtaine ag dul a bheith deas gearr, mar sin tá mé ag dul ach a choinneáil ag caint, tá tú guys ag dul a choinneáil ar cheisteanna a chur, agus beidh muid iarracht a líonadh suas am an oiread agus is féidir. A lán daoine a cheapann nach bhfuil an pset gá deacair, ach tá sé an-fhada. Tá an spec pset féin Bíonn uair an chloig a léamh. Linn a thabhairt duit a lán de na SQL d'fhéadfadh gá duit b'fhéidir a úsáid. Siúl againn go bhfuil sibh trí go leor de sé, mar sin níor chóir é a bheith ró-olc. An bhfuil duine ar bith a thosaigh nó a chríochnaigh? Tá sé an pset seo caite. Ó, mo Dhia. De ghnáth, níl JavaScript amháin tar éis seo, ach rudaí a athrú féilire Déanann gach rud 1 seachtain níos giorra, agus táimid thuilleadh a bheith pset JavaScript. Níl a fhios agam conas a théann go cibé an bhfuil JavaScript ag dul a bheith ar an scrúdú nó Tráth na gCeist 1. Shamhlú agam go mbeidh sé a bheith rud éigin cosúil le theastaíonn uait a fháil ard-leibhéal rudaí faoi JavaScript, ach amhras orm gur mhaith linn a thabhairt ach tú díreach JavaScript cód ós rud é nach bhfuil tú raibh pset ann. Ach beidh an stuif le haghaidh athbhreithniú tráth na gceist an tseachtain seo chugainn. Alt de na ceisteanna. Tá a lán de stuif seo go dona fhoclaíocht beagán, ach beidh muid ag plé cén fáth. Murab ionann agus C, tá PHP ar "dinimiciúil-chlóscríobh" teanga. Cad a chiallaíonn seo, tá tú a iarraidh? Bhuel, a rá beannacht do gach ceann de na snámhphointe ruabhreac,, o, agus na heochairfhocail eile is gá duit a úsáid nuair a dhearbhú athróga agus feidhmeanna i C. I PHP, tá athróg ar chineál chinnfidh an luach a tá a bhfuil sé faoi láthair. Mar sin, sula cineál muid an cód i gcomhad ar a dtugtar dynamic.php, PHP Tá clóscríofa dinimiciúil. Is é sin fíor. Aontaím leis an bhfíric go Ciallaíonn sé sin go táimid ag rá slán a fhágáil ruabhreac, snámhphointe, slánuimhir, agus na heochairfhocail eile. An difríocht idir cruinn dinimiciúil clóscríofa agus an rogha, a chlóscríobh statically, go dinimiciúil clóscríofa, gach ceann de do sheiceáil chineál agus rudaí tharlaíonn ag am ar siúl, ach chlóscríobh statically a tharlaíonn sé ag am tiomsaithe. Dealraíonn sé go bhfuil focal statach go ginearálta go gciallaíonn rudaí am tiomsaithe. Buille faoi thuairim mé go bhfuil úsáidí eile le haghaidh sé, ach i C nuair a dhearbhú tú athróg statach, Is é a stóráil ar fáil ag am tiomsaithe. Anseo, ciallaíonn dinimiciúil chlóscríobh go díreach - I C má tá tú iarracht a chur ar shraith agus ina slánuimhir, nuair a dhéanann tú a thiomsú é, tá sé ag dul chun gearán a dhéanamh mar tá sé ag dul a rá nach féidir leat a chur ina slánuimhir agus pointeoir. Níl sé ach oibríocht bailí. Is é sin an rud eile go beidh orainn a fháil sa dara. Ach gur saghas a sheiceáil, an fíoras go gearán é ag am tiomsaithe, Tá seiceáil cineál statach. Tá teangacha i gcás nach gá duit a rá ruabhreac, snámhphointe, o, agus gach ceann de na rudaí sin, ach is féidir an teanga a insint ón gcomhthéacs an rud cén cineál tá sé ceaptha a bheith, ach tá sé fós clóscríofa statically. Mar sin, má tá tú 51, OCaml riamh, is gá duit a úsáid aon cheann de na cineálacha, ach beidh sé fós ag am tiomsaithe rá nach féidir leat é seo a dhéanamh toisc go bhfuil tú mheascadh le slánuimhir agus teaghrán. Dinimiciúil chlóscríobh Ciallaíonn sin go díreach éigin le linn am reáchtáil bhfuil tú ag dul a fháil ar ghearán. Má tá tú ag úsáid freisin Java roimh, i gcoitinne, beagnach aon teanga C-cineál ag dul a bheith clóscríofa statically, agus mar sin C, C + +, Java, gach ceann de na go ginearálta clóscríofa statically. I Java nuair a dhéanann tú rud éigin a thiomsú agus tú ag rá teaghrán s ionann rud éigin nua nach bhfuil ar shraith, go ag dul chun gearán a dhéanamh mar gheall ar na cineálacha ní a dhéanamh a mheaitseáil suas. Sin an dul chun gearán a dhéanamh ag am tiomsaithe. Ach tá sé chomh maith roinnt ama dinimiciúil rudaí is maith má tá tú iarracht rud éigin a chaitheamh maidir le cineál go bhfuil níos sainiúla ná mar a chineál atá ann faoi láthair, níl rud ar bith is féidir é a dhéanamh ag am tiomsaithe a sheiceáil cibé an bhfuil a caitheadh ​​ag dul chun cinn. Java Tá roinnt de chineál dinimiciúil a sheiceáil go chomh luath agus a fhaigheann sé leis an líne de chód nuair atá sé ag forghníomhaitheach sé i ndáiríre, tá sé ag dul a dhéanamh ar an arna gcaitheamh, seiceáil má bhí an teilgthe bailí sa chéad áit, agus más rud é nach raibh sé, ansin tá sé ag dul chun gearán a dhéanamh go bhfuil tú cineál neamhbhailí. Cineál Dinimiciúla a sheiceáil. Clóscríobh seo i gcomhad ar a dtugtar dynamic.php. Dynamic.php. Feicfidh mé unzip go formáidiú. Tá athróg, a leag muid é chuig an 7 slánuimhir, ansin tá muid ag dul i gcló é agus% s - Ó, tá muid ag phriontáil an cineál é, mar sin tá gettype ag dul ar ais an cineál an athróg. Táimid ag priontáil ach an cineál arís agus arís eile. Php.dynamic.php muid díreach. Feicfimid go bhfuil athruithe sé as slánuimhir go teaghrán Boole agus muid ag dul tríd. I C níl aon Boole sonraí cineál, nach bhfuil aon teaghrán sonraí de chineál. Níl * ruabhreac agus Boole claonadh ach a bheith slánuimhir nó ruabhric nó rud éigin. I PHP bhfuil na cineálacha ann, agus go bhfuil ceann de na buntáistí móra de PHP thar C - go bhfuil oibríochtaí teaghrán infinitely níos éasca i PHP ná C. siad ag obair go díreach. Mar sin, tháinig muid ar ais anseo. Ar siúl againn dynamic.php. Insíonn sé seo an ateangaire PHP, ar a dtugtar php, a reáchtáil an cód PHP i dynamic.php. Má tá aon earráidí sa chomhad, déanfar an t-ateangaire a insint duit! Tá an ateangaire, is é seo ceann eile difríocht mhór idir PHP agus C. I C tá tú rud éigin a chur le chéile agus ansin rith go comhad thiomsaigh tú. Riamh i PHP tú thiomsú rud ar bith. Mar sin, tá an ateangaire PHP go bunúsach a léamh ach an líne ar líne. Amas sé var = 7 ansin amas sé printf ansin amas sé var ansin amas sé printf agus mar sin de. Tá beagán de thiomsú a dhéanann sé, agus caches sé na torthaí mar sin má ritheann tú an script ina dhiaidh sin is féidir leat a dhéanamh ar roinnt, ach go bunúsach tá sé ina líne le saghas líne rud. Ciallaíonn sé sin go bhfuil a lán de na optimizations go bhfaigheann muid i C, cosúil le chéile, tá sé ach go ginearálta is féidir leis an tiomsaitheoir a dhéanamh a lán de na cleasanna ar do shon. Is féidir é a thógáil amach athróg nach bhfuil in úsáid, is féidir é a dhéanamh gach ceann de na cineál rudaí, féidir é a dhéanamh cuardach ar eireaball. I PHP nach bhfuil tú ag dul a fháil go bhfuil buntáiste mar tá sé ag dul ach a thosú forghníomhaitheach líne ar líne le líne, agus ní dhéanann sé i ndáiríre aitheantas a thabhairt do na rudaí seo chomh héasca ós rud é nach bhfuil sé 1 pas a thiomsú mór thar an rud agus ansin a fhorghníomhú; tá sé ach líne ar líne. Mar sin, go bhfuil an ateangaire. Ar ais go dtí ár clóscríobh dinimiciúil: deas fionnuar, eh? Tá tú nach bhféadfaí a dhéanamh cinnte go bhfuil i C! Anois, féach an féidir leat an figiúr amach an cineál gach ceann de na luachanna seo a leanas. Féach ar seo le haghaidh tagartha. Mar sin, 3.50. Cén cineál a cheapann tú go ag dul a bheith? Seo iad na cineálacha atá againn. Tá bools, slánuimhreacha, pointí snámh, strings, eagair, rudaí, agus ansin acmhainní, a bhfuil de chineál ar doiléir. I mo thuairimse, níl i ndáiríre, mar shampla anseo. Ansin, níl NULLComment. Is NULLComment le cineál speisialta. Murab ionann agus C ina bhfuil NULLComment ach pointeoir le seoladh 0, i PHP, tá NULLComment a chineál féin áit a bhfuil an rud amháin bailí den chineál sin NULLComment. Tá sé seo i bhfad níos mó úsáideach le haghaidh seiceáil earráid. I C i gcás a bhí againn an cheist seo i gcás má fhilleann tú NULLComment, a chiallaíonn go bhfuil tú ag filleadh ar pointeoir NULLComment nó ag baint úsáide as NULLComment earráid chun signify nó gach ceann de sin mearbhall a bhí againn ag pointe amháin. Anseo, ciallaíonn filleadh NULLComment go ginearálta earráid. A lán de na rudaí ar ais freisin bréagach earráid. Ach tá an pointe an cineál NULLComment, is é an rud amháin den chineál NULLComment NULLComment. Ansin tá callback mar is féidir leat a shainiú roinnt feidhmeanna gan ainm. Ní gá duit a thabhairt ar an fheidhm a ainm, ach ní bheidh ort chun déileáil leis an anseo. Ag Breathnú ar na cineálacha go bhfuil siad ag súil againn go mbeadh a fhios, cad a cheapann tú go bhfuil an cineál 3.50? >> [Mac léinn] Snámhphointe. Yeah. Mar sin, ansin anseo, cad a cheapann tú go bhfuil an cineál seo? >> [Mac léinn] Eagar. Yeah. An chéad cheann a bhí snámhphointe, is é an dara ceann eagar. Fógra nach bhfuil an eagar mar eagar C áit a bhfuil tú innéacs Tá 0 roinnt luach, tá innéacs 1 roinnt luach. Seo iad na hinnéacsanna a, b agus c agus na luachanna 1, 2, agus 3. I PHP níl aon difríocht idir eagar comhthiomsaitheach agus díreach le sraith rialta mar go mbeadh tú smaoineamh ar é i C. Níl ann ach seo, agus thíos an cochall Tá sraith rialta ach le sraith comhthiomsaitheach áit a bhfuil 0 léarscáileanna a roinnt luach ar an mbealach céanna a léarscáileanna a roinnt luach. Ar an gcúis sin, is féidir PHP a bheith deas olc do i ndáiríre go tapa cód / tagarmharcála rudaí ós rud é i C nuair a bhíonn tú ag baint úsáide as eagar a fhios agat go bhfuil rochtain a fháil ar ball am tairiseach. I PHP rochtain a fháil ar ball é a bhfuil aithne aige cé mhéad ama? Is dócha tairiseach, más rud é hashes i gceart. Cé a fhios cad atá á dhéanamh i ndáiríre thíos an cochall? Ní mór duit gur chun breathnú ar chur i bhfeidhm a fheiceáil conas tá sé ag dul chun déileáil leis sin. Mar sin, ansin fopen. I mo thuairimse, anseo a ligean ar fopen ach PHP láimhe chun breathnú ar an gcineál tuairisceán. Feicimid anseo is féidir leat breathnú suas go leor i bhfad aon fheidhm i lámhleabhar PHP agus is é an saghas an leathanach fear de PHP. Is é an cineál ar ais ag dul a bheith acmhainní. Sin an fáth a d'fhéach mé suas, toisc nach raibh againn a shainiú i ndáiríre acmhainní. An smaoineamh acmhainní, i C fuair tú de chineál ar * COMHAD ann, nó cibé; i PHP bhfuil an acmhainn do * COMHAD. Tá sé cad a bhfuil tú ag dul a bheith ag léamh as, tá sé cad a bhfuil tú ag dul a bheith ag scríobh chuig. Tá sé de ghnáth seachtracha, mar sin tá sé ina acmhainn is féidir leat rudaí a tharraingt as agus rudaí caith. Agus ar deireadh, cad é an cineál NULLComment? >> [Mac léinn] NULLComment. Yeah. Mar sin, is é an rud ach go bhfuil NULLComment NULLComment. NULLComment Tá NULLComment. Is gné amháin de chóras cineál PHP (ar feadh níos fearr nó níos measa) a chumas chun cineálacha juggle. Nuair a scríobhann tú ar líne de chód PHP go chéile luachanna de chineálacha éagsúla, Beidh PHP iarracht a dhéanamh ar an rud ciallmhar. Bain triail as gach ceann de na línte seo a leanas de chód PHP. Cad atá clóite amach? An bhfuil sé cad a bhí tú ag súil? Cén fáth nó cén fáth nach? Is é an bhfíric seo faoi PHP cad a dhéanann sé rud ar a dtugaimid weakly clóscríofa. Weakly clóscríofa agus go láidir clóscríofa, tá úsáidí éagsúla do na téarmaí sin, ach úsáid daoine is mó a weakly clóscríofa agus go láidir clóscríofa go gciallaíonn an saghas rud i gcás ("1" + 2); go n-oibríonn. I C ní a bheadh ​​ag obair. Is féidir leat a shamhlú seo nach bhfuil ag obair. A lán daoine mheascadh suas clóscríobh dinimiciúil agus clóscríobh lag agus clóscríobh statach agus clóscríobh láidir. Is Python sampla eile de teanga tá clóscríofa dinimiciúil. Is féidir leat a chaitheamh ar fud na cineálacha i athróg agus é ag dul a chinneadh ag an am a reáchtáil aon checkings earráid. I Python sé ag dul a fhorghníomhú seo agus beidh sé a fheiceáil ("1" + 2); agus beidh sé seo theipeann mar a deir sé nach féidir leat a chur ar shraith agus slánuimhir. I PHP, a bhfuil ach dinimiciúil mar atá clóscríofa, ní bheidh an theipeann. Tá clóscríobh Lag a dhéanamh leis an bhfíric go ndéanann sé rudaí le cineálacha nach bhfuil a dhéanamh i ndáiríre chiall gá. Mar sin, ("1" + 2); is féidir liom a shamhlú go a bheith ar an teaghrán 12, is féidir liom a shamhlú é a bheith an teaghrán 3, Is féidir liom a shamhlú é a bheith an 3 slánuimhir. Nach bhfuil sé gá go sainithe go maith, agus táimid ag dul is dócha a fheiceáil anseo nuair a chuirtear i gcló ("1" + 2); tá sé ag dul is dócha go deireadh suas a bheith difriúil ná priontáil (1 + "2"). Agus bíonn sé seo a bheith, i mo thuairim, le haghaidh an níos measa. Anseo, is féidir linn iarracht seo. Eile is ea an trick beag faoi PHP ní gá duit a scríobh i ndáiríre an comhad. Déanann sé a reáchtáil an modh ordaithe. Mar sin, php-r, ansin is féidir linn a chaitheamh i gceannas anseo: "Cló ('1 '+ 2);" agus beidh mé caith líne nua. Seo i gcló 3. Breathnaíonn sé cosúil le priontaí sé 3 agus tá sé an 3 slánuimhir. Mar sin a ligean anois ar iarracht an bealach eile thart: "Cló (1 + '2 '); Faighimid 3, agus tá sé ag dul freisin a bheith tslánuimhir 3? Tá mé go hionraic aon smaoineamh. Breathnaíonn sé cosúil go bhfuil comhsheasmhach. Ní bhíonn aon seans a bheith air an 12 teaghrán nó aon rud mar sin mar gheall ar PHP, murab ionann agus JavaScript agus Java freisin, Tá oibreoir ar leith do comhchaitéiniú. Tá comhchaitéiniú i PHP ponc. Mar sin, priontáil (1 '2 '.); Ag dul a thabhairt dúinn 12. Sé seo claonadh chun mar thoradh ar mearbhall nuair iarracht daoine rud éigin a dhéanamh cosúil le str + = rud éigin eile gur mian leo a chur ar aghaidh go dtí deireadh a téad, agus go dul a theipeann. Ní mór duit a dhéanamh str. = Ní sin a dhéanamh déan dearmad go bhfuil comhchaitéiniú i PHP ponc. Rudaí eile chun iarracht a dhéanamh: a phriontáil ("CS" + 50); Mé in iúl duit nach bhfuil aon dóchas seo mar thoradh CS50 ós rud é nach bhfuil comhchaitéiniú +. Cad a cheapann tú tá sé seo ag dul chun deireadh suas a bheith? Tá mé go hionraic fíor aon smaoineamh. Breathnaíonn sé cosúil tá sé ach 50. Feiceann sé an sreang, agus geall liom má chuir muid 123CS - Feiceann sé an teaghrán chéad, déanann sé a léamh slánuimhir as é nó roinnt as é. Sa chás seo mheasann sé 123CS. "Ní thugann sin ciall a bhaint as mar slánuimhir, mar sin tá mé ag dul go díreach chun smaoineamh ar 123." Mar sin, tá 123 + 50 ag dul a bheith 173. Agus anseo a thosaíonn sé seo a léamh mar slánuimhir. Ní chuireann sé aon rud a fheiceáil, mar sin déileálann sé ach sé mar 0. Mar sin, 0 Tá + 50 ag dul a bheith 50. Seo mé ag glacadh leis go bhfuil ag dul a dhéanamh rud éigin den chineál céanna. Tá mé ag smaoineamh 99. Yeah, mar atá sé ag dul a ghlacadh an chéad - Mar sin, 99. Anseo (10/7), más rud é go raibh an C, cad a bheadh ​​go ais? [Mac léinn] 1. >> Yeah, go mbeadh sé 1 toisc go bhfuil 10/7 tríd 2 slánuimhreacha. Tá slánuimhir roinnte slánuimhir ag dul ar ais slánuimhir. Ní féidir é ar ais 1 cibé pointe a bheadh, mar sin tá sé ag dul ach a thabhairt ar ais 1. Anseo priontáil (10/7); tá sé ag dul a léirmhíniú i ndáiríre go. Agus ciallaíonn sé seo go más mian leat i ndáiríre a dhéanamh shlánú slánuimhir agus rudaí mar sin, gá duit a dhéanamh cló (urlár (10/7)); I C is dócha aisteach gur féidir leat a bheith ag brath ar truncation slánuimhir go rialta, ach i PHP ní féidir leat mar gheall ar é beidh seal go huathoibríoch sé isteach ar snámh. Agus ansin (7 + fíor); cad a cheapann tú go ag dul a bheith? Tá mé ag guessing 8 má tá sé ag dul a léirmhíniú fíor mar 1. Breathnaíonn sé cosúil go bhfuil sé 8. Mar sin, rud ar bith atá déanta againn san am atá caite 10 nóiméad Ba chóir go riamh go bhfuil tú a dhéanamh go hiomlán. Feicfidh tú cód a mbaineann sé seo. Ní chuireann sé a bheith chomh simplí mar seo. D'fhéadfá a bheith 2 athróg, agus a tharlaíonn 1 athróg a bheith ina teaghrán agus a tharlaíonn an athróg eile a bheith ina slánuimhir, agus ansin cuir tú ar na hathróga le chéile. Ós rud é go PHP clóscríofa dinimiciúil agus ní bheidh sé déanamh aon seiceáil chineál ar do shon agus ó tá sé clóscríofa weakly agus toisc go mbeidh sé ach caith go huathoibríoch na rudaí seo le chéile agus beidh gach rud ag obair ach, tá sé deacair a fhios fiú go mór é seo athróg a bheith ina teaghrán anois, mar sin ní ba chóir dom é a chur leis an athróg, atá ina slánuimhir. Is é an cleachtas is fearr má tá athróg teaghrán, é a choimeád mar theaghrán go deo. Má tá athróg ina slánuimhir, é a choimeád mar slánuimhir go deo. Más mian leat chun déileáil le slánuimhreacha agus teaghráin, Is féidir leat úsáid a bhaint varsint - sin an JavaScript. Intval. Is féidir liom é seo am ar fad. PHP agus JavaScript mheascadh mé suas gach rud. Dá bhrí sin tá intval ag dul ar ais ar an luach slánuimhir de athróg. Má éiríonn linn i "cló (intval ('123 ')); gheobhaidh tú 123. Ní Intval féin ag dul a dhéanamh ar an seic dúinn go bhfuil sé go heisiach slánuimhir. An lámhleabhar PHP, tá feidhmeanna ach go leor ar fáil amhlaidh, mar sin smaoineamh anseo agam cad ba mhaith liom a úsáid go bhfuil is_numeric ar dtús. Tá mé ag guessing go ais bréagach. Sin rud eile ní mór dúinn dul thar é ===. Mar sin, is_numeric ('123df '), ní bheadh ​​a cheapann tú de sin is_numeric mar. I C bheadh ​​agat a iterate thar gach carachtair agus seiceáil a fheiceáil má tá gach carachtar dhigit nó cibé. Seo is_numeric ag dul a dhéanamh gur le haghaidh dúinn, agus tá a sheoladh ar ais bréagach. Mar sin, nuair a clóite mé, clóite sé rud ar bith, mar sin anseo tá mé i gcomparáid é a fheiceáil, raibh tú a tharlóidh a bheith bréagach? Agus mar sin anois tá a phriontáil sé 1. Cosúil priontaí sé 1 mar fíor ionad priontáil fíor mar fíor. N'fheadar má dhéanann mé print_r. Níl, a dhéanann sé fós ar 1. Ag dul ar ais go dtí ===, ann == go fóill, agus má labhraíonn tú le Tommy beidh sé a rá == Is breá breá. Tá mé ag dul a rá go bhfuil == uafásach agus ní ba chóir duit a úsáid ==. Is é an difríocht a dhéanann comparáid idir == rudaí nuair is féidir é a bheith fíor, fiú mura bhfuil siad den chineál céanna, ach i gcomparáid === rudaí agus an chéad go bhfuil sé seiceálacha siad den chineál céanna? Tá. Maith go leor, anois tá mé ag dul a fheiceáil má tá siad i gcomparáid iarbhír a bheith comhionann. A gheobhaidh tú rudaí aisteach cosúil le 10 ionann - ligean ar a fheiceáil cad a deir go bhfuil. Mar sin, ('10 '== '1 e1'); Sé seo ar ais fíor. An bhfuil aon duine ar bith buille faoi thuairim cén fáth ar ais sé seo fíor? Nach bhfuil sé ach faoi sin. B'fhéidir go bhfuil sé seo leid. Ach má athraíonn go dtí f - darn é! Coinneoidh mé ag baint úsáide as comharthaí athfhriotail dúbailte. Is é an chúis na comharthaí athfhriotail dúbailte ag liúirigh ag dom mar tá mé seo a chur idir comharthaí athfhriotail. Mar sin raibh mé in ann éalú na comharthaí athfhriotail dúbailte i anseo, ach comharthaí athfhriotail singil dhéanamh níos éasca. Mar sin, ('10 '== '1 F1'); Ní phriontáil fíor. ('10 '== '1 E1'); priontaí fíor. [Mac léinn] An bhfuil sé heicsidheachúlach? >> Níl sé heicsidheachúlach, ach tá sé gar go bhfuil sé cosúil le - 1e1, nodaireacht eolaíoch. Aithníonn sé 1e1 mar 1 * 10 ^ 1 nó cibé. Tá na slánuimhreacha comhionann. Má dhéanann muid === ansin tá sé ag dul a bheith bréagach. Tá mé i ndáiríre aon smaoineamh má dhéanann muid == cad mar gheall ar (10 agus '10abc ');? Gach ceart. Mar sin tá sin fíor. Mar sin, díreach cosúil nuair a rinne tú (10 + '10abc '); agus go mbeadh sé 20, anseo (10 == '10abc '); fíor. Tá níos measa fós rudaí cosúil le (bréagach == NULLComment); Is fíor nó (bréagach == 0); Is fíor, (bréagach == []); Tá cásanna aisteach de - Sin ceann de na cásanna sin aisteach. Fógra go (bréagach == []); fíor. ('0 '== Bréagach); fíor. ('0 '== []); Bréagach. Mar sin, == ar aon bhealach aistreacha. Is féidir a bheith comhionann le b agus is féidir a bheith comhionann le c, ach ní a d'fhéadfadh b comhionann le c. Sin an abomination dom, agus ba chóir duit a úsáid i gcónaí ===. [Mac léinn] An féidir linn a dhéanamh! == Chomh maith? >> [Bowden] Tá. Ba mhaith leis an comhionann a bheith! = Agus! ==. Tá sé seo a thabhairt iarbhír suas sa spec pset i gcás a lán ar ais feidhmeanna - Tá an lámhleabhar PHP maith faoi seo. Cuireann sé i mbosca mór dearg, "Cuirfidh sé seo ar ais bréagach má tá earráid." Ach tá 0 filleadh rud breá réasúnta a thabhairt ar ais. Smaoinigh ar aon fheidhm a bhfuiltear ag súil a thabhairt ar ais slánuimhir. Ligean le rá go bhfuil an fheidhm seo ceaptha chun comhaireamh an líon na línte i gcomhad nó rud éigin. Faoi imthosca gnáth, éiríonn leat an fheidhm seo comhad agus tá sé ag dul ar ais slánuimhir a léiríonn líon na línte. Mar sin, tá 0 roinnt breá réasúnta má tá an comhad ach folamh. Ach cad a tharlaíonn má éiríonn leat é comhad neamhbhailí agus an fheidhm a thabhairt ar ais bréagach má tá tú pas a fháil sé comhad neamhbhailí? Má dhéanann tú díreach == nach bhfuil tú ag idirdhealú idir an cás comhad neamhbhailí agus comhad folamh. A úsáid i gcónaí ===. Sin uile de na. I PHP, is é an cineál eagar éagsúil ó cad a bhfuil tú ag úsáid i C. Go deimhin, is féidir leat faoi deara cheana féin thuas nuair a chonaic tú go bhfuil sé seo de chineál eagar. Is é an chomhréir scriosaidh nua de PHP 5.4, a bhfuil an leagan is nua de PHP. Roimhe sin bhí tú i gcónaí eagar a scríobh ('a' -> 1, 'b' -> 2. Ba é sin an tógálaí le haghaidh sraith. Anois tá PHP teacht ar deireadh ar fud an chomhréir deas ach lúibíní cearnacha, a bhfuil ach i bhfad níos fearr ná mar a eagar. Ach tá smaoineamh PHP 5.4 an leagan is nua, féidir leat teacht ar áiteanna nach bhfuil fiú PHP 5.3. I rith an tsamhraidh ar siúl againn i an gceist seo nuair a bhí PHP 5.3 cad a bhí againn ar an fearas, ach an freastalaí a úsáid againn ar fad ár leabhar grád agus a chur isteach agus go léir rudaí a Ba PHP 5.4. Níl a fhios agam seo, d'fhorbair muid i 5.3, bhrúigh go 5.4, agus anois oibríonn ar fad ar aon cheann tobann ar ár chód toisc go tharla go raibh athruithe idir 5.3 agus 5.4 nach bhfuil luí siar, agus ní mór dúinn dul agus gach ceann dár rudaí nach bhfuil ag obair le haghaidh PHP 5.4 shocrú. Don aicme seo, ós rud é a dhéanann an fearas a bheith PHP 5.4, tá sé breá breá a úsáid lúibíní cearnacha. Ach má tá tú ag lorg suas rudaí thart ar an Idirlíon, má tá tú ag lorg suas roinnt de chineál ar rudaí eagar, is dócha go bhfuil tú ag dul a fheiceáil Rugadh an litrithe amach chomhréir cruthaitheoir sraith ós rud é go tá thart ó PHP agus tá comhréir scriosaidh cearnach bhí thart ar feadh na míonna beaga anuas nó aon uair a tháinig 5.4 timpeall. Seo é an chaoi innéacs tú. Díreach cosúil i C conas a bheadh ​​agat innéacs lúibíní cearnacha cosúil le $ eagar [0], $ eagar [1], $ eagar [2], innéacs tú ar an mbealach céanna má tharlaíonn tú go bhfuil do innéacsanna a bheith teaghráin. Mar sin, sraith $ eagar ['a'] agus $ ['b']. $ Eagar [b]. Cén fáth go mbeadh sé seo a bheith mícheart? Beidh sé a ghiniúint dócha go bhfuil rabhadh ach fós ag obair. PHP claonadh chun é sin a dhéanamh. Bíonn sé go dtí díreach, "Tá mé ag dul chun rabhadh duit faoi seo, ach tá mé ag dul díreach a choinneáil ag dul "A dhéanamh agus is cuma cad is féidir liom." Beidh sé seo is dócha a aistriú go teaghrán, ach is féidir go bhfuil ag pointe éigin san am atá caite a dúirt duine éigin shainiú b a bheith 'Dia duit ar domhan'. Mar sin anois d'fhéadfadh a bheith b sraith leanúnach agus $ [b] a bheidh i ndáiríre a bheith ag déanamh 'Dia duit ar domhan'. I mo thuairimse, ag an bpointe seo, nó ar a laghad ar ár suímh PHP, má tá tú iarracht innéacs isteach eagar agus nach bhfuil eochair ann, beidh sé theipeann. Ní dóigh liom go mbeidh sé rabhadh ach tú. Nó ar a laghad is féidir leat a leagtar sé sin nach ndéanann sé rabhadh ach tú, sé ach go mainneoidh suas díreach. Is é an bealach a sheiceáil leat a fheiceáil má tá i ndáiríre den sórt sin innéacs isset. Mar sin, beidh isset ($ eagar ['Dia duit ar domhan']) ar ais bréagach. isset ($ eagar ['b']) Cuirfear ar ais fíor. Is féidir leat a mheascadh leis na syntaxes. Tá mé cinnte go leor an méid a bheadh ​​an sraith deireadh a bheith suas é - Is féidir linn tástáil sé amach. Ó, is gá dom PHPWord. Tá sé seo a mheascadh leis an chomhréir i gcás tú a shonrú cad é an príomh- agus nach bhfuil tú a shonrú cad é an eochair. Mar sin, tá 3 ar dheis anseo ar luach. Tá tú nach bhfuil go sainráite an méid a dúradh go bhfuil an eochair ag dul a bheith. Cad a cheapann tú go bhfuil an eochair ag dul a bheith? [Mac léinn] 0. >> Tá mé ag guessing 0 amháin mar tá sé an chéad cheann ní mór dúinn sonraithe. Is féidir linn a dhéanamh i ndáiríre cúpla de na cásanna seo. Dá bhrí sin tá print_r phriontáil recursive. Beidh sé a phriontáil ar an eagar ar fad. Bheadh ​​sé a phriontáil subarrays an eagar má bhí aon. Mar sin, print_r ($ eagar); php.test.php. Déanann sé cuma mhaith thug sé sé 0. Níl i ndáiríre rud éigin a choinneáil i gcuimhne anseo, ach beidh orainn a fháil ar ais dó sa dara. Ach cad má tharlaíonn mé a dhéanamh an innéacs 1? Ní PHP idirdhealú a dhéanamh idir innéacsanna téad agus innéacsanna slánuimhir, mar sin ag an bpointe seo tá mé díreach tar éis a shainmhínítear innéacs 1 agus is féidir liom a dhéanamh dá sraith $ [1] agus $ eagar ['1 '] agus beidh sé an t-innéacs céanna agus an eochair céanna. Mar sin, anois cad a cheapann tú 3 ag dul a bheith? >> [Mac léinn] 2. >> [Bowden] Tá mé ag guessing 2. Yeah. Tá sé 2. Cad a tharlaíonn má rinne muid é seo 10, is é seo 4? Cad a cheapann tú go bhfuil an t-innéacs de 3 ag dul a bheith? Tá mé ag smaoineamh 11. Mo buille faoi thuairim maidir le cad a dhéanann PHP - agus sílim mé le feiceáil roimh seo - Tá coimeádann sé ach rian ar cad é an t-innéacs is airde uimhriúil tá sé in úsáid go dtí seo. Riamh tá sé ag dul go dtí innéacs teaghrán a shannadh do 3. Beidh sé i gcónaí innéacs uimhriúil. Mar sin, go gcoinníonn sé rian ar an ceann is airde é a shannadh go dtí seo, a tharlaíonn a bheith 10, agus tá sé ag dul go dtí 11 a thabhairt do 3. Cad a dúirt mé cheana, fógra an dóigh a bhfuil sé phriontáil seo a eagar. Priontaí sé 10 eochair, eochair 4, eochair 11, eochair d. Nó lig fiú ar a dhéanamh - Buille faoi thuairim mé nach raibh mé a chur 0, ach tá sé priontáil 1, 2, 3, 4. Cad a tharlaíonn má athrú mé anseo? Nó a ligean ar athrú iarbhír na 2. Anois, priontaí sé go 2, 1, 3, 4. Nach bhfuil arrays PHP ar díreach cosúil le do tábla hash rialta. Tá sé breá réasúnta chun smaoineamh acu mar táblaí hash 99% den am. Ach i do táblaí hash níl aon tuiscint ar an ord inar cuireadh isteach le rudaí. Mar sin, chomh luath agus is tú isteach é isteach i do tábla hash, glacadh níl aon liosta nasctha agus d'fhéadfaí tú a mheas laistigh de liosta nasctha a cuireadh isteach ar dtús. Ach anseo isteach againn 2 chéad agus a fhios sé nuair atá sé í a phriontáil amach an sraith go dtagann chéad 2. Ní chuireann sé é a phriontáil amach in ord ach aon. Tá an struchtúr sonraí teicniúla go s ag baint úsáide as sé léarscáil de réir, mar sin mhapálann sé eochracha luachanna agus is cuimhin sé an ord inar cuireadh isteach leis na heochracha. Go bunúsach tá sé le roinnt deacrachtaí nuair a tá sé annoying i ndáiríre - Ligean le rá agat le sraith 0, 1, 2, 3, 4, 5 agus is mian leat a thógáil amach innéacs 2. Bealach amháin chun é a dhéanamh, a ligean ar a fheiceáil cad Breathnaíonn go mhaith. 0, 2, 1, 3, 4. Unset a tharlaíonn do unset an dá athróg agus ar innéacsanna eagar. Mar sin, unset ($ eagar [2]); Anois, tá cad a seo ag dul chun breathnú cosúil le? 2 ach imithe, mar sin go breá breá. Níos mó annoying is é más mian leat rudaí a bheith i ndáiríre cosúil le eagar. Beidh mé uimhreacha randamacha. Anois, fógra mo innéacsanna. Ba mhaith liom é a bheith díreach cosúil le sraith C nuair a théann sé ó 0 go fad - 1 agus is féidir liom abair leo níos mó ná é mar sin. Ach ní chomh luath agus is unset mé an t-innéacs dara, cad a bhí i innéacs 3 anois innéacs 2. Ina áit sin go mbainfidh sé go díreach innéacs agus anois a théann tú 0, 1, 3, 4. Tá sé seo breá réasúnta. Tá sé díreach annoying agus bhfuil tú a dhéanamh rudaí cosúil le splice eagar. Yeah. [Mac léinn] Cad a tharlódh má bhí tú le haghaidh lúb agus a raibh tú chun dul thar gach na heilimintí? Nuair a bhuail sé 2 bheadh ​​sé teacht riamh? Iterating thar eagar. Tá 2 bealaí is féidir leat é a dhéanamh. Is féidir leat úsáid rialta le haghaidh lúb. Eile é seo intricacy de PHP. Teangacha is mó, ba mhaith liom a rá, tá roinnt de chineál ar fad nó LEN nó rud éigin léiríonn an fad eagar. I PHP tá sé count. Mar sin, líon ($ eagar); $ i + +) Let s ach a phriontáil ($ eagar [$ i]); Fógra: Neamhshainithe fhritháireamh: 2. Tá sé ag dul ach a theipeann. Is é seo an chúis go bhfuil, den chuid is mó riamh, is gá duit a iterate thar eagar mar seo. D'fhéadfadh sé a bheith ina exaggeration, ach tá tú riamh a iterate thar eagar mar seo toisc go dtugann PHP lena comhréir foreach áit foreach ($ eagar le $ mhír). Anois, má chuirtear i gcló ($ mír); - we'll é a phlé sa dara - go n-oibríonn breá breá. Is é an bealach go bhfuil foreach ag obair Is é an chéad argóint an sraith go bhfuil tú ag iterating os a chionn. Agus an dara hargóint, ítim, trí gach pas den haghaidh lúb tá sé ag dul a ghlacadh ar an rud eile sa eagar. Mar sin, cuimhnigh go bhfuil an eagar ordú. An chéad uair tríd an lúb le haghaidh, tá rud ag dul a bheith 123 ansin beidh sé 12 ansin beidh sé 13 ansin beidh sé 23 ansin beidh sé 213. Rudaí a fháil i ndáiríre aisteach nuair a dhéanann tú rud éigin cosúil le foreach. A ligean ar a fheiceáil cad a tharlaíonn mar ní ba chóir duit é seo a dhéanamh. Cad a tharlaíonn má táimid unset ($ eagar [1]); Go rabhthas ag súil is dócha. Tá tú ag iterating thar an eagar, agus gach uair a bhfuil tú ag unsetting an t-innéacs ar dtús. Mar sin, le haghaidh innéacs 0, glacann an rud, an chéad mhír ar luach 0, mar sin tá sé ag dul a bheith 123. Ach taobh istigh de na do lúb muid unset innéacs 1, ionas go ciallaíonn 12 atá imithe. Mar sin, a phriontáil. PHP_EOL. PHP_EOL bhfuil ach líne nua, ach tá sé go teicniúil níos iniompartha ós rud é línte nua in Windows difriúil ó línte nua ar Mac agus UNIX. Ar Windows Tá líne nua \ r \ n, ach i ngach áit eile bíonn sé ach a bheith \ n. PHP_EOL Tá cumraithe ionas go n-úsáideann sé cuma cad é an líne nua de do chóras. Mar sin, a phriontáil go. Ní Lig print_r ($ eagar) ag an deireadh. Bhí mé aon smaoineamh go mbeadh a bheith ar an iompar. Mír Bíonn fós ar an luach 12 cé unset dúinn 12 sula bhfuair muid riamh a sé as an eagar. Ná glac mo focal ar seo, ach tá sé cosúil gcruthaíonn foreach cóip den eagar agus ansin a thógann mhír ar na luachanna sin cóip. Mar sin, fiú má tá tú mhodhnú an eagar taobh istigh le haghaidh lúb, ní bheidh sé cúram. Beidh Mír a chur ar na luachanna bunaidh. A ligean ar iarracht unsetting é. Cad a tharlaíonn má tá sé seo $ eagar [1] = "hello"; Cé go chuir muid "hello" isteach sa sraith riamh, a thógann mír ar an luach. Níl eile chomhréir lúba foreach nuair a chuir tú 2 athróg scartha ag an arrow. Tá an athróg chéad dul a bheith ar an eochair sin a luach, agus tá an dara athróg ag dul a bheith an rud céanna cruinn. Tá sé seo uninteresting anseo, ach má théann muid ar ais go dtí ár gcás bunaidh 'a' -> 1, 'B' -> 1, anseo má táimid iterate díreach le haghaidh gach eagar mar mhír, is mír ag dul a bheith 1 gach uair amháin. Ach más mian linn freisin a fhios ag an eochair a bhaineann leis an mír ansin a dhéanann muid le $ eochair -> $ earra. Mar sin, anois is féidir linn a dhéanamh cló ($ eochair. ':'. Anois, tá iterating sé os cionn agus a phriontáil gach eochair agus a luach a bhaineann leo. Tá rud breise féidir linn a dhéanamh i foreach lúb dtiocfadh leat a fheiceáil seo chomhréir. Claonadh Ampersands roimh ainmneacha athróg a bheith conas a dhéanann PHP tagairtí. I gcás ina mbeidh tagairtí an-chosúil le leideanna, ní gá duit leideanna a bheith acu, mar sin tú riamh déileáil le cuimhne go díreach. Ach bhfuil tú tagairtí chás nuair a chuireann 1 athróg an rud céanna eile athraitheach. Taobh istigh de anseo a ligean ar a dhéanamh $ earra. A ligean ar dul ar ais go 1, 10. Déanaimis a dhéanamh $ mír + +; sin ann go fóill i PHP. Is féidir leat a dhéanamh fós + +. php.test.php. Caithfidh mé a phriontáil. print_r ($ eagar); Phriontáil muid 2, 11. Má bhí déanta agam ach foreach ($ eagar le $ mhír) ansin beidh mír ar an luach 1 an chéad uair tríd an lúb. Beidh sé 1 incrimint go dtí 2 agus ansin táimid ag déanamh. Mar sin, ansin beidh sé dul tríd an pas dara lúb agus tá go mír 10. Tá sé incrimintí mhír 11, agus ansin go tá thrown díreach amach. Ansin againn print_r ($ eagar), agus a ligean ar a fheiceáil go bhfuil sé seo ach 1, 10. Bhí caillte sin, an incrimint a rinne muid. Ach foreach ($ eagar mar & $ mhír) anois tá an mhír seo an mír chéanna seo ar dheis anseo. Tá sé an rud céanna. Mar sin, $ mír + + Is é a mhodhnú eagar 0. Go bunúsach, is féidir leat a dhéanamh freisin $ k - eagar> $ mír agus is féidir a dhéanamh $ leat [$ k] + +; Mar sin, ar bhealach eile sin a dhéanamh, tá muid saor in aisce ítim a mhodhnú, ach ní bheidh go mhodhnú ár sraith bunaidh. Ach má úsáidimid k, a bhfuil ár eochair, ansin is féidir linn ach innéacs isteach inár sraith úsáid a bhaint as eochair agus bhreisiú sin. Seo athraíonn níos dírí ar ár sraith bunaidh. Is féidir leat a dhéanamh fiú má ar chúis éigin a raibh tú an cumas a mhodhnú - I ndáiríre, tá sé seo breá réasúnta. Nach raibh tú ag iarraidh a bheith ag scríobh $ eagar [$ k] + +, a raibh tú díreach tar éis a scríobh $ mír + + ach bhí tú fós a rá más rud é ($ k === 'a') ansin incrimint mír agus ansin ar ár sraith phriontáil. Mar sin, anois cad a táimid ag súil print_r a dhéanamh? Cad ba chóir na luachanna a chló? [Mac léinn] 2 agus 10. >> [Bowden] I má bhí an eochair 'a' dhéanaimid phriontáil ndáiríre go. Tá tú is dócha go han-annamh, más rud é riamh, beidh gá le feidhmeanna a mhíniú i PHP, ach go dtiocfadh leat a fheiceáil rud éigin den chineál céanna áit a bhfuil tú a shainiú mar fheidhm cosúil le cibé feidhm. De ghnáth, ba mhaith leat a rá ($ foo, $ bar) agus ansin é a shainiú a bheith cibé. Ach má dhéanann mé é seo, ansin Ciallaíonn sé sin go bhfuil gá cibé ar bith, is cuma cad glaonna Baz, agus mar sin an chéad argóint ar aghaidh chuig Baz féidir a athrú. Déanaimis a dhéanamh $ foo + +; agus taobh istigh de anseo a ligean ar a dhéanamh Baz ($ ítim); Anois, tá muid ag glaoch feidhm. Tá an argóint déanta trí thagairt a dhéanamh, rud a chiallaíonn go má táimid mhodhnú táimid ag athrú ar an rud a ritheadh ​​go isteach Agus a phriontáil seo táimid ag súil - ach amháin má messed mé suas error - fuair muid 2, 11, mar sin bhí sé incrimintithe i ndáiríre. Fógra ag teastáil uainn tagairtí i 2 áiteanna. Cad a tharlaíonn má raibh mé é seo? Cad a chiallaíonn sé seo? [Mac léinn] Beidh sé athrú. >> Yeah. Mír ach cóip den luach sa eagar. Mar sin, beidh mír athrú go dtí 2, ach an sraith ['a'] a bheith fós 1. Nó cad má dhéanann mé é seo? Anois tá rud sheoladh mar chóip a Baz. Mar sin, beidh an chóip den argóint a incrimintithe go 2, ach ní rud é féin a bhí incrimintithe go 2. Agus is é rud an rud céanna mar scriosaidh eagar is cuma cén, sin riamh go raibh eagar incrimintithe. Mar sin, ní mór an dá na háiteanna sin é. PHP Tá go leor de ghnáth cliste faoi seo. D'fhéadfá smaoineamh Ba mhaith liom a pas a fháil trí thagairt a dhéanamh - Bhí sé seo i ndáiríre ceist ar cheann de na psets. B'iontach an rud questions.txt nuair a dúirt sé, Cén fáth gur mhaith leat chun pas a fháil seo a struct trí thagairt a dhéanamh? Cad é an freagra sin? [Mac léinn] Mar sin ní gá duit a chóipeáil rud éigin mór. >> Yeah. Is féidir le struct a bheith treallach mór, agus nuair a éiríonn leat an struct i mar argóint ní mór é a chóipeáil go struct ar fad a sé ar aghaidh leis an bhfeidhm, ach má tá tú pas a fháil ach an struct trí thagairt a dhéanamh ansin ní mór é ach a chóipeáil seoladh 4-beart mar an argóint leis an fheidhm. Tá PHP beagán níos cliste ná sin. Má tá mé roinnt fheidhm agus pas a fháil liom é le sraith de 1,000 rudaí, chiallaíonn go bhfuil sé ag dul a bheith acu a chóipeáil go léir 1,000 de na rudaí chun pas a fháil sé isteach ar fheidhm? Ní chuireann sé a dhéanamh go díreach. Má riamh taobh istigh de an fheidhm seo a mhodhnú sé i ndáiríre foo, mar sin más rud é ($ foo === 'hello') ar ais fíor. Fógra againn riamh mhodhnú i ndáiríre ar an taobh istigh argóint na feidhme seo, rud a chiallaíonn go raibh a rith cibé i riamh mar a riachtanais foo a chóipeáil toisc nach bhfuil athrú sé é. Mar sin, ar an mbealach PHP oibreacha na hargóintí ar aghaidh i gcónaí trí thagairt a dhéanamh go dtí go duit iarracht a iarbhír a mhodhnaithe. Anois, má rá liom $ foo + +; beidh sé a dhéanamh anois cóip den foo bunaidh agus an chóip a mhodhnú. Sábhálann seo roinnt ama. Má riamh tá tú ag touching an eagar ollmhór riamh, tá tú a mhodhnú i ndáiríre é, nach gá é a dhéanamh ar an chóip, ach má táimid a chur díreach seo COMHARTHA AGUIS ciallaíonn sin nach ndéanann sé a chóipeáil fiú é fiú má dhéanann tú mhodhnaithe. Is é seo an iompar ar a dtugtar cóip-ar-scríobh. Feicfidh tú é a fheiceáil in áiteanna eile, go háirithe má tá tú ar chúrsa córas oibriúcháin. Tá cóip-ar-scríobh patrún deas is gnách i gcás nach gá duit cóip a dhéanamh de rud éigin mura ag athrú sé i ndáiríre. Yeah. [Mac léinn] Cad a tharlaíonn má bhí tú an incrimint taobh istigh an tástáil, mar sin ba mhaith ach 1 eilimint as 1,000 gá iad a athrú? Níl mé cinnte. Sílim go mbeadh sé cóip an rud ar fad, ach tá sé indéanta go bhfuil sé cliste go leor go - I ndáiríre, cad mé ag smaoineamh a shamhlú a bhí againn le sraith go Breathnaíonn mar seo: $ eagar2 = [ Tá Ansin tá 'a' innéacs le sraith de [1 2 3 4], agus innéacs 'b' le sraith de cibé. Is gá dom camóga idir gach ceann de na. Samhlaigh go bhfuil camóga. Ansin tá 'c' an 3 luach. Maith go leor. Anois, a ligean ar rá a dhéanann muid $ Baz ($ eagar2); nuair nach Baz an deis seo a trí thagairt a dhéanamh. Mar sin, $ foo ['c'] + +; Is é seo den sórt sin mar shampla áit a bhfuil muid ag dul eagar2 mar argóint agus ansin tá athrú sé innéacs ar leith den eagar ag incriminteach a sé. Tá mé go hionraic aon smaoineamh cad atá PHP ag dul a dhéanamh. Is féidir é a dhéanamh go héasca cóip den rud ar fad, ach má tá sé cliste, déanfaidh sé cóip de na heochracha áit a bheidh aige seo ar a luach ar leith ach is féidir é seo pointe fós an eagar céanna 1,2,3,4 agus is féidir é seo pointe fós an eagar céanna. Beidh mé iPad é. Pas againn ar an sraith ina Guy seo pointí 3, an Guy pointí a [1,2,3,4], Guy seo pointí [34, ...] Anois go bhfuil muid ag dul i le Baz, tá muid ag athrú seo. Má tá PHP cliste, is féidir é a dhéanamh ach - Bhí orainn go fóill a chóipeáil roinnt chuimhne, ach má bhí na subarrays ollmhór neadaithe ní raibh muid gá a chóipeáil sin. Níl a fhios agam más rud é go cad a dhéanann sé, ach is féidir liom a shamhlú é a dhéanamh go. Tá sé seo freisin buntáiste mór go leor de C os cionn PHP. PHP a dhéanann an saol an oiread sin níos éasca do a lán rudaí, ach tú de chineál ar go bhfuil fíor aon smaoineamh cé chomh maith agus beidh sé a dhéanamh toisc go bhfuil mé aon smaoineamh thíos an cochall nuair atá a dhéanamh ar na cóipeanna de rudaí, OH, tá go bhfuil dul chun bheith ina chóip am tairiseach, tá sé ag dul ach a athrú 1 pointeoir, tá sé ag dul a bheith ina chóip ridiculously deacair líneach? Cad a tharlaíonn má ní féidir é a fháil spás? An bhfuil gá ansin a rith bailiú truflais a fháil ar spás roinnt níos mó? Agus is féidir a bhailiú truflais a ghlacadh treallach fada. I C ní gá duit a bheith buartha faoi na rudaí seo. Is féidir gach líne amháin a scríobh tú go bhfuil tú chúis go leor i bhfad faoi conas a tá sé ag dul a dhéanamh. A ligean ar breathnú siar ar na. Conas is deas go bhfuil sé nach bhfuil tú ag déileáil le feidhmeanna hash, liostaí nasctha, nó aon rud mar sin? Ós rud é ag obair le táblaí hash éasca sin anois, Tá anseo bhfreagra spraoi a bheith ag obair ar. Oscail comhad a dtugtar unique.php agus i sé a scríobh le clár PHP (Ar a dtugtar mar "script"). Claonadh a bhíonn againn chun glaoch orthu scripteanna má tá siad rudaí gearra a ritheann tú ag an líne orduithe. Go bunúsach, teanga ar bith nach mian leat go chéile ach go bhfuil tú ag dul a reáchtáil an inrite ag an líne orduithe, is féidir leat glaoch go script inrite. Raibh mé in ann díreach chomh maith a scríobh le clár C go mbaineann sé seo, ach ní féidir liom a ghlaoch air script ó mé a thiomsú ar dtús é agus ansin an dénártha a reáchtáil. Ach an clár PHP táimid ag dul chun glaoch ar script. Nó má scríobh muid é i Python nó Perl nó Node.js nó aon cheann de na rudaí sin, ba mhaith linn glaoch orthu na scripteanna go léir mar gheall tú iad a reáchtáil ag an líne orduithe ach ní féidir linn a thiomsú iad. D'fhéadfadh muid a dhéanamh go tapa go leor. Nach bhfuil muid ag dul a úsáid argv. Let s ach buille tríd an. Glaoigh ar leith é, a scríobh le clár. Is féidir leat glacadh leis go mbeidh an t-ionchur bhfuil focal amháin in aghaidh an líne. I ndáiríre, beidh argv bheith deas fánach a úsáid. unique.php. An chéad rud ar dtús, ba mhaith linn a sheiceáil má táimid bheith rite 1 orduithe-líne argóint. Díreach mar a bheadh ​​súil agat argc agus argv i C, tá muid fós iad siúd i PHP. Mar sin, más rud é ($ argc! == 2) ansin ní bheidh mé ag déileáil le priontáil teachtaireacht nó rud ar bith. Feicfidh mé scoir díreach, cód earráid 1. Raibh mé in ann filleadh chomh maith 1. Is annamh i PHP go bhfuil tú ag an stát ina bhfuil muid ar - De ghnáth, tá tú i feidhm ar a dtugtar ag feidhm ar a dtugtar ag feidhm ar a dtugtar ag feidhmiú. Agus má tharlaíonn rud éigin mícheart agus is mian leat ach gach rud a scoir go hiomlán, scoir chríochnaíonn díreach ar an gclár. Seo ann chomh maith i C. Má tá tú i bhfeidhm i feidhm a chomhcheangal i bhfeidhm a chomhcheangal i bhfeidhm agus is mian leat a mharú go díreach leis an gclár, is féidir leat glaoch amach agus beidh sé imeacht go díreach. Ach i PHP tá sé fiú níos mó annamh go bhfuil muid ag an leibhéal is airde. De ghnáth, tá muid taobh istigh de chineál éigin fheidhm, agus mar sin tugaimid scoir ionas nach bhfuil againn a thabhairt ar ais suas 1 rud a realizes ansin níl earráid mar sin ar ais go suas má aithníonn go raibh earráid. Nílimid ag iarraidh chun déileáil leis an, agus mar sin scoir (1); ar ais (1); bheadh ​​sa chás seo a bheith comhionann. Ansin, cad ba mhaith linn a oscailt ba mhaith linn a fopen. Na hargóintí ag dul chun breathnú go leor den chineál céanna. Is mian linn a fopen ($ argv [1], agus ba mhaith linn a oscailt chun é a léamh. Go bhfilleann an acmhainn a táimid ag dul f a ghlaoch. Breathnaíonn sé seo go leor cosúil leis an gcaoi a dhéanann sé ach amháin C nach bhfuil againn a rá * COMHAD. Ina áit sin deirimid díreach $ f. Maith go leor. I ndáiríre, I mo thuairimse, tugann sé seo fiú dúinn leid maidir le PHP fheidhm a dtugtar comhad. PHP Comhad. Cad é seo ag dul a dhéanamh ná léamh an comhad ar fad i eagar. Ní gá duit fiú a fopen é. Tá sé seo ag dul a dhéanamh ar do shon. Mar sin, $ lines = comhad ($ argv [1]); Anois go bhfuil gach ceann de na línte an comhad i línte. Anois, ba mhaith linn a shórtáil na línte. Conas is féidir linn a shórtáil na línte? Táimid ag sórtáil na línte. Agus anois is féidir linn iad a phriontáil nó cibé. Is dócha an bealach is éasca foreach ($ línte le $ líne) macalla $ líne; [Mac léinn] ní mhaith linn a thrasnú fiú línte ag tagairt rud éigin i saghas? Tá sé seo i gcás ina mbeadh saghas a shainmhíniú mar chineál fheidhm ($ & eagar). Nuair a ghlaonn tú ar an fheidhm nach bhfuil tú pas a fháil air trí thagairt a dhéanamh. Tá sé an fheidhm a shainmhíníonn sé mar cur sé mar thagairt. Tá sé seo i ndáiríre go díreach cad a chuaigh mícheart nuair a chuir muid gach rud go dtí ár freastalaithe nuair a chuaigh muid 5.3-5.4. Suas go dtí 5.4, ba é seo breá réasúnta. Ní feidhm ag súil chun é a chur mar thagairt, ach is féidir pas a fháil sé leat mar thagairt mar sin má dhéanann an fheidhm a tharlaíonn a mhodhnú air, tá sé mhodhnú go fóill. Mar de 5.4, nach bhfuil tú ag ceaptha a dhéanamh. Mar sin, anois tá an t-aon bhealach a théann tú trí thagairt a dhéanamh má dhéanann an fheidhm go follasach é. Mura bhfuil tú ag iarraidh é a mhodhnú, ansin is gá duit a dhéanamh $ cóip = $ línte agus cóip pas a fháil. Mar sin anois beidh línte a chaomhnú agus beidh cóip a athrú. php.unique.php. D'fhéadfadh mé messed rud éigin ar bun. Gan choinne 'saghas'. Tá ag dul a bheith rud éigin go mbaineann sé seo dúinn. Níl sé ann fiú. Fógra nuair a léifidh tú an lámhleabhar go bhfuil an chéad argóint ag súil go mbeidh eagar agus tá sé déanta trí thagairt a dhéanamh. Cén fáth go bhfuil sé seo gearán a dhéanamh dom? Toisc go bhfuil mé an saghas fheidhm fós i anseo nach bhfuil mé ag iarraidh. Maith go leor, php.unique.php. Ní raibh mé pas a fháil sé argóint toisc nach dóigh liom go bhfuil comhad. Tá sé php.unique.php ar test.php. Seo test.php gach clóite amach in ord deas in eagar. Fógra go bhfuil ord sórtáilte de chineál ar aisteach le haghaidh comhad cód mar go bhfuil i ngach ceann dár línte folmha ag dul chun teacht ar dtús ansin tá dul chun teacht i ngach ceann dár 1 indentations leibhéal ansin teacht i ngach ceann dár indentations uimh. Yeah. >> [Mac léinn] sin, le haghaidh an cód foinse nach raibh a rith trí thagairt a dhéanamh? An bhfuil a ritheadh ​​i gcoitinne de réir luacha? [Bowden] Nuair a ghlaonn tú feidhm riamh, go gcinnfidh sé cibé acu a ritheadh ​​é trí thagairt a dhéanamh. Tá sé an sainmhíniú fheidhm a chinneann cibé an raibh a rith sé trí thagairt a dhéanamh. Agus ag féachaint ar an sainmhíniú ar fheidhm saghas nó díreach ag féachaint ar seo, a thógann sé an argóint trí thagairt a dhéanamh. Mar sin, is cuma cé acu is mian leat é a thógáil trí thagairt a dhéanamh, a dhéanann sé é a ghlacadh trí thagairt a dhéanamh. Athraíonn sé an sraith i bhfeidhm. Tá sé seo nach bhfuil ceadaithe amháin. Níl tú cead é sin a dhéanamh. >> [Mac léinn] Oh, maith go leor. [Bowden] seo, tá saghas dul chun línte a thógáil trí thagairt a dhéanamh agus é a mhodhnú. Agus arís, más rud é nach raibh tú ag iarraidh é sin a dhéanamh, d'fhéadfaí tú cóip a dhéanamh de chineál. Fiú sa chás seo, nach bhfuil cóip iarbhír cóip de línte. Léiríonn sé ach an rud céanna go dtí go bhfaigheann an chéad mhodhnú, nuair a tá sé ag dul ar dtús chun a fháil mhodhnú i bhfeidhm saghas, más rud é, mar tá sé cóip-ar-scríobh, anois tá cóip de cóip ag dul a dhéanamh. Is féidir leat é seo chomh maith. Sin an áit eile, is féidir leat a fheiceáil COMHARTHA AGUIS. Féach leat é i lúb foreach, tá tú é a fheiceáil i bhfógraí feidhme, agus tú é a fheiceáil nuair a shannadh ach athróg. Anois, tá muid i gcrích aon rud trí é seo a dhéanamh mar go bhfuil a chóipeáil agus a línte a literally an rud céanna. Is féidir leat línte a úsáid agus a chóipeáil hidirmhalartaithe. Is féidir leat é unset ($ cóip); agus nach bhfuil línte unset, chailleann tú díreach tar éis do tagairt don rud céanna. Mar sin, mar an phointe seo, anois tá línte t-aon bhealach is féidir leat rochtain a fháil ar línte. Ceisteanna? Yeah. [Mac léinn] Go hiomlán as ábhar, ach ní gá duit a dhúnadh PHP leis an rogha - >> Ní gá duit. Maith go leor. [Bowden] Ba mhaith liom dul chomh fada agus a rá go bhfuil sé droch-chleachtas a dhúnadh leo. Sin dócha áibhéil, go háirithe i script, ach ligean ar a fheiceáil cad a tharlaíonn má dhéanann mé é seo. Go raibh rud ar bith. Cad a tharlaíonn má bhí mé - [sighs] Is gá dom chun pas a argóint. Shoot. D'iarr mé mícheart é. Mar sin, php.unique.php le argóint. Anois, ní féidir liom gá fiú seo. Feicfidh mé pas a fháil sé argóint bailí. Seo i gcló cuma cad tá sé phriontáil. Tá mé ag priontáil cóip agus nach cóip ann. Mar sin, línte. Clóite sé gach rud, agus ansin faoi deara go léir junk síos anseo, mar gheall ar rud ar bith PHP is é sin lasmuigh de clibeanna PHP tá sé ag dul ach a chló literally. Sin é an fáth HTML, tá sé chomh deas gur féidir liom a dhéanamh div blah, blah, blah aicme nó pé rud, blah, blah, blah agus ansin a dhéanamh ar roinnt cód PHP agus ansin div deireadh a dhéanamh. Agus a phriontáil anois ar seo a fháil mé mo div deas suas barr, gach rud go PHP clóite, div ag bun an leathanaigh. Tubaisteach nuair a tharlaíonn rud éigin mar seo, a bhfuil go leor coitianta, ach líne nua fáin ag bun an comhad. Níor mhaith leat smaoineamh go mbeadh sé go mór le déileáil go dtí go mheasann tú ar an bhfíric go bhfuil brabhsálaithe - Conas a athsheolaidh obair nó go bunúsach aon obair ceanntásca, nuair a dhéanann tú do nasc chuig suíomh idirlín agus cuireann sé ar ais go léir na ceanntásca agus rudaí cosúil le freagra 200 nó freagra atreorú nó ar bith, Ceanntásca amháin go bailí go dtí go bhfuil an chéad bheart na sonraí sheoladh. Is féidir leat a atreorú na mílte na n-amanna, ach chomh luath agus is é an chéad bheart na sonraí chuig nach bhfuil tú ag ceaptha a atreorú arís. Má tá tú ag líne nua fáin ag bun an comhad agus a ligean ar rá go n-úsáideann tú an fheidhm agus ansin ba mhaith leat - Ligean le rá tá sé comhad eile go bhfuil index.php agus require_once tú rud éigin - Ní féidir liom smaoineamh ar dea-shampla é. Tharlaíonn an cheist nuair a fhaigheann an líne ag bun an macalla. Ní mian leat rud ar bith a bheith echoed go fóill. Cé nach raibh tú intinn ar rud ar bith ag fáil macalla, rud a raibh a fháil macalla agus mar sin anois nach bhfuil tú ag ceaptha a sheoladh ceanntásca ar bith níos mó agus tá tú ag dul chun gearáin a fháil. Tá tú ní hamháin bhfuil gá na clibeanna deiridh. Má tá plean agat ar rud éigin a dhéanamh leis an HTML - agus tá sé breá réasúnach déanamh síos anseo div cibé agus ansin ag an bpointe seo is féidir leat nó nach féidir leat iad a áireamh. Ní chuireann sé ábhar i ndáiríre. Ach i scripteanna PHP tá sé annamh a dhúnadh. Nuair a bhíonn gach rud PHP, go hiomlán gach rud, ní gá duit i ndáiríre é a dhúnadh / níor chóir dhúnadh sé leat. Déileáil le teaghráin i bhfad níos deise ná i C. I PHP is féidir leat a shonrú theaghrán le comharthaí athfhriotail singil nó dúbailte. Le Sleachta amháin nach féidir leat é a úsáid "éalaithe" sraitheanna. Shíor éalú, blah, blah, blah. Mar sin, printf an-annamh i PHP. Buille faoi thuairim mé Ba mhaith liom a úsáid printf má bhí mé a dhéanamh ar an saghas rud - i pset 5 d'úsáid tú sprintf nó cibé. Ach ba mhaith leat a dhéanamh 001.jpg agus 002.jpg. Mar sin, gur saghas rud áit ar mhaith liom i ndáiríre go formáid an téacs ba mhaith liom a úsáid printf. Ach ar shlí eile ba mhaith liom a úsáid ach comhchaitéiniú teaghrán. Mé riamh a úsáid i ndáiríre printf. Táimid ag idirdhealú díreach na sonraí idir comharthaí athfhriotail singil agus Sleachta dúbailte. Is é an difríocht is mó a Sleachta aonair, beidh sé a chló literally. Níl aon ruabhric sonraí cineál i PHP, murab ionann agus C, agus mar sin tá sé seo comhionann le seo. Tá siad an dá teaghráin. Agus is é an rud deas faoi teaghráin ceanglófar amháin a d'fhéadfadh liom a rá 'Dia duit ar domhan!' blah, blah, blah, $ $ Wooo. Cad a tharlaíonn nuair a phriontáil mé é seo a bheidh sé é a phriontáil literally. Ligean ar a fháil haitheantas coibhneasta de gach ceann dár rudaí. Mar sin, macalla $ str1; Clóite sé literally gach ceann de na rudaí: comharthaí dollar, cúlslais n, a bheadh ​​a cheapann tú a bheadh ​​línte nua - gach ceann de na rudaí priontaí sé literally. Is iad an rud amháin gá duit a éalú Sleachta aonair mar gheall ar shlí eile a bheadh ​​sé smaoineamh é ag dúnadh an Sleachta aonair. Sleachta Double, go hiomlán difriúil. Linn a fheiceáil cheana féin ar an aird a dhíriú ar chomhréir atá cluing dúinn ar cad faoi dul terribly mícheart. php.unique. Undefined athróg: wooo toisc go bhfuil sé seo léiriú mar athróg ar a dtugtar wooo. Ligean Sleachta dúbailte tú athróg chur isteach i - Ligean le rá $ ainm = "Rob"; Mar sin, macalla "Dia duit, tá mo ainm $ ainm!"; Aithníonn sé seo mar athróg. Nuair a rith liom go - agus beidh mé a chur isteach líne nua - Hi, is é mo ainm Rob! agus Dia duit ar domhan! Tá sé seo riamh mar bhain mé an priontáil wooo thuas. Tá 1 céim eile is féidir leat a dhéanamh. $ Eagar = [1, 2, 3]; Cad a tharlaíonn má ba mhaith liom a phriontáil an t-innéacs chéad eagar? Dhéanann tú $ eagar [0]. Is é an aird a dhíriú ar chomhréir a clue. Cad é seo ag dul a dhéanamh? php.unique. Dia duit, tá mo ainm 1! nach bhfuil cad a bhí mé. Gearr lied dom. Déanaimis iarracht 'a' -> 1, 'b' -> 2. Sin é an chaoi ba mhaith liom a scríobh sé. Ceanglófar singil gan choinne (T_ENCAPSED blah, blah, blah, blah, blah). Is é an smaoineamh go nach bhfuil aitheantas a thabhairt dó seo mar chuid den eagar. Níl aithníonn sé seo mar eagar innéacsú trí litir a. Ba mhaith leat a dhéanamh go timpeallaithe ag braces gcuach, agus anois beidh cuma cad é ar an brace curly a interpolated, a bhfuil an focal a úsáid againn le haghaidh magically isteach na n-athróg i an áit ceart. Anois seo a dhéanamh, php.unique, agus Hi, tá mo ainm 1! mar súil nó Hi, is é mo ainm Rob! Rud amháin go bhfuil de chineál ar deas mar gheall ar Sleachta amháin go - Níl roinnt costas a interpolating. Má úsáideann tú comharthaí athfhriotail dúbailte, tá an ateangaire chun dul thar an teaghrán, a dhéanamh cinnte go bhfuil, "Oh, tá anseo athraitheach. Anois, ní mór dom dul a fháil go athraitheach agus é a chur isteach anseo." Fiú mura bhfuil tú ag úsáid aon athróg, gá aon rud taobh istigh de na comharthaí athfhriotail dúbailte a interpolated, ach beidh sé fós níos moille mar gheall ar riachtanais sé chun dul thar na comharthaí athfhriotail dúbailte ag lorg le haghaidh rudaí gur gá iad a interpolated. Is féidir le comharthaí athfhriotail sin amháin a bheith ina beagán níos tapúla má gá aon rud a interpolated, agus claonadh agam fiú úsáid a bhaint as comharthaí athfhriotail aonair, 'Dia duit, tá mo ainm'. $ Eagar ['a'] ar aon nós. Sin ag dul a bheith comhionann leis an méid a bhí againn roimhe seo. Ach tá sé ar ábhar de rogha. Má tá tú ag baint úsáide as PHP, tú dócha nach bhfuil faoi chúram an difríocht luas. Níl go leor le réasún iad a chur amach chun tús a chur leis. Ceisteanna ar bith deiridh? Táimid i ndáiríre ní raibh a fháil fiú trí gach ceann de é, ach an stuif a bhí leadránach. Is é an rud deireanach go de chineál ar deas i PHP nuair a bhíonn tú ag déileáil le HTML, go mbainfidh tú é a úsáid le beagán, sin an chomhréir aicearra deas le haghaidh priontála athróg. Gan a chur PHP anseo, tá sé seo ar a dtugtar clibeanna gearra. Hoifigiúil mar de PHP 5.4, ní mholtar é. Tá tú ag moladh a chur php. Tugtar tacaíocht go fóill, tags chomh gearr leis an