[Powered by Google Translate] [Taqsima 8] [Inqas Komdu] [Nate Hardison] [Università ta 'Harvard] [Dan huwa CS50.] [CS50.TV] Merħba għall tieni tagħna għal sezzjoni aħħar. F'dan il-ġimgħa aħna qed tmur biex jitkellmu dwar PHP, u mbagħad ġimgħa d-dieħla aħna ser tagħmel reviżjoni ftit għall Quiz 1. Aħna ser tibda fil-paġna 3 tal-problema settijiet pakkett, u aħna ser jaħdmu permezz tas-sezzjoni ta 'mistoqsijiet pjuttost malajr. F'paġna 3, nibdew nitkellmu dwar din id-differenza bejn C u PHP fis-sens li PHP hija lingwa dinamikament ittajpjat, billi C huwa statikament ittajpjat, u xi ħadd verament malajr isir xi kodifikazzjoni fil xi ħaġa bħal PHP jew Python jew Ruby qabel, JavaScript? Totalment ġdid? Okay. Kollha ta 'dawn il-lingwi li I biss imsemmija huma differenti ħafna minn lingwi bħal C u C + + u Java fis-sens li meta inti tiddikjara varjabbli inti ma għandekx li jiddikjara liema tip ta 'varjabbli huwa, hekk C konna mwaħħla ma jkollhom dejjem ngħid dan se jkun fattur varjabbli int, jew dan se jkun fattur varjabbli * char, billi ma PHP, bil Python, Ruby ma ', bil-lott ta 'dawn il-lingwi aktar moderni inti ma għandek tagħmel dan fil-livelli kollha. Inti sempliċiment tiddikjara varjabbli tiegħek, u fil-każ ta 'PHP inti tiddikjara li din hija varjabbli billi jiġi prefiss huwa b'sinjal $, u mbagħad it-tip tal-varjabbli huwa determinat permezz ta 'kwalunkwe valur huwa azjenda, li huwa tip ta 'kessaħ. Li tilgħab madwar ma din id-daqsxejn ftit, aħna għandna kampjun PHP Kodiċi dritt hawn fl bejn il-tags bidu u tat-tmiem. Aħna qed tuża dan it-tip ta 'prodotti simili HTML fis-sens li konna ltqajna dawn parentesi angolu hawn biex tinfetaħ u tingħalaq. Int ser ikollok tara dan ma HTML. Int ser ikollok tara l-istess tip ta 'sintassi XML mal wisq. Dan jindika l-bidu ta 'blokka PHP. Dan PHP? Hija speċifika għall PHP. Aħna qrib kollox ma '?> Ukoll. Ejja tiftaħ fajl fil appliance tagħna bl-użu tkun xi tkun tixtieq. F'dan pakkett jgħid li sejħa dynamic.php. Fil-verità, inti tista 'sejħa hija tkun xi tkun tixtieq, iżda l-isem fajl se toħroġ u tkun importanti aktar tard, hekk biss ftakar x'ikun inti sejħa hija. Jien ser jisswiċċja għall-appliance, u jien ser tagħmel direttorju ta sezzjoni 9 Nemmen li għandna qed fuq issa. U aħna ser imorru fis-sezzjoni 9, u jien ser tuża gedit. Ejja ara, gedit, u jien ser sejħa dynamic.php minjiera. Boom. Fi ħdan dynamic.php, peress li dan il-fajl huwa PHP u nixtieq li jiddekorri dan permezz tal-interpretu PHP I bżonn biex tibda kollox off ma 'dawk tags miftuħa, hekk jien ser tibda 'dawk dritt bogħod, jagħtu myself ftit spazju bejn il-tags, u allura l-punt ta 'dan l-eżerċizzju kien li jilagħbu mal-madwar din il-funzjoni tissejjaħ gettype, hekk gettype, din il-funzjoni dritt hawn. Avviż li hemm no jenfasizzaw jew spazju jew sing jew xi ħaġa bħal dik tissepara l-kliem 2, nikseb u t-tip, biss kelma waħda għal kollox. Imma dak li dan se tagħmel hija jekk I jgħaddu minn varjabbli li gettype, jiġifieri $ var jew $ x, dan se tgħidli tip ta f'format debugging dak l-isem ta 'dik it-tip huwa. Aħna ser esperiment hawn. B'mod partikolari, jekk inti tħares lura lejn il-spec pset konna ltqajna linji differenti ta 'ftit kodiċi hawn. Fl-ewwel linja tal-kodiċi aħna initialize dan il-varjabbli, $ var, tkun ugwali għal 7, u allura għandna din il-linja printf li tgħid ħej, var printf huwa vojt. Printf huwa wieħed mill-ħafna modi nistgħu jistampaw affarijiet fil-PHP. Spiss tkun taf tara l-funzjoni eku użata minflok printf, imma printf aħna qed kollha familjari ma ġiet kodifikazzjoni C għal waqt. Liema inti tista 'attwalment tagħmel huwa ejja ara jekk xogħlijiet kopja u paste. Jien ser jagħti dan jipprova. Aħna ser tmur lura fuq l-appliance. Okay, u hemm immorru. U l-ispazjar huwa funky ftit, imma here we go. Imxejna ltqajna dan il-kodiċi fil hawn. [Student] Huwa stil mhux tajjeb biex tab dan? Jiddispjacini? [Student] Huwa konvenzjonali li tab dan? Dritt, hekk Sam tistaqsi jekk huwa konvenzjoni li tab jew le. Tipikament iva. F'dan il-każ I għażlu li ma. Onestament, tkun taf tara affarijiet differenti fost programmaturi differenti. PHP tipikament jintuża ta 'spiss flimkien ma' HTML u lingwi oħra, u għalhekk xi kultant l-istampar se tħares funky ftit jekk inti inċiż fi ħdan bidu PHP u tikketti finali. Huwa verament jiddependi. F'dan il-każ il-kopja u paste ma paste tal-Korpi għal Valutazzjoni Teknika fil għalija, iżda definittivament ma, bħalek qal, jagħmlu aktar ċar. Kull dritt, jekk inti tiffranka din il-kodiċi fil-dynamic.php allura dak li inti tista 'tagħmel huwa tinżel għal tieqa terminal tiegħek fejn I am dritt isfel hawn fil gedit, u li jagħmlu l-ekwivalenti ta 'jikkompilaw jużaw tagħmel u mbagħad running kodiċi tiegħek fis-C kull ma għandek tagħmel il-fajl PHP huwa jibdew l-interpretu PHP, li huwa programm ftit imsejjaħ PHP, u l-argument inti tagħti lill-interpretu huwa l-fajl li inti tixtieq li tinterpreta. F'dan il-każ, dynamic.php. Whoops, fejn ma nressaq dan? Oh, I poġġih fis-sezzjoni 9, u hawn I am. C'est pourquoi. Issa jekk I run dan mill-ġdid naraw li fis-sejħa funzjoni tiegħi ewwel gettype var huwa integer. Fil-li jmiss 1 var hija sekwenza, u mbagħad fit-terz var huwa Boolean. X'hemm interessanti dwar dan hija jekk aħna iscroll back up naraw li dawn huma tipi simili għal dawk li kellna fl C. Kellna ints fl C. Aħna tip ta kellha kordi fl-C, hekk kordi ma kinux ta 'tip totalment leġittimu fis-sens li string CS50 tagħna kien verament dak? Jiddispjacini? Missy? [Missy] Char *. Yeah, kien dan * char aħna użati. Fil-bidu nett tas-semestru li aħna kienu qed jużaw it-tip sekwenza, iżda kienet verament * char taħt il-barnuża. Aħna biss tip definit li, filwaqt li fil-PHP dawn il-kordi huma tip attwali. M'hemm l-ebda aktar ta 'dan il-għalf it-tip char *. Int ser ikollok tara li nistgħu nagħmlu ħafna affarijiet aktar bil-kordi ħafna aktar faċilment fil-PHP milli nistgħu fis-C, u mbagħad finalment, aħna għandna dan it-tip Boolean, u d-differenza kbira hawnhekk hija li jekk aħna iscroll lura naraw li l-isem ta 'dawn it-tipi issa huma numru sħiħ, spag, u Boolean minflok, int u bool u kif inti pick up ipprogrammar ta 'lingwi differenti, jekk wieħed jassumi li f'xi punt fil-ħajja tiegħek inti se jiġu f'kuntatt ma ' dawk differenti inti ser ikollok avviż quirks ftit bħal dan fejn C sejħiet ints interi. Xi sejħa hija interi. Jeżistu termini oħra li inti ser jimxu fis. Int Big rajna llum fil SQL. Hemm ukoll numru u mbagħad bool, Boolean, kull xorta ta 'differenzi hemmhekk. Dan mhux terriblement interessanti iżda issa jien ser jagħtuk xi ftit ta 'żmien jekk irridu zoom lura out-għax-xogħol permezz ta 'dan l-eżerċizzju fil-qiegħ tal-paġna 3 fejn hija tistaqsi liema tipi jikkorrispondu għal dawn il-valuri hawn fil-qiegħ. Aħna 3.50. Għandna din ħaġa dritt hawn, li huwa interessanti. Aħna ma bbenefikawx dan qabel, għalkemm jekk inti ħadthom ġiet wara tul fil lecture inti probabilment diġà taf dak li hu. Imbagħad aħna għandna dan, li dan huwa tip ta 'funky. Inti jirrikonoxxu dan. X'inhu dan fis-C? Sam? What would dan jagħtik fis-C? Ikun jiftaħ fajl imsejjaħ dynamic.php u jagħmilha tinqara. Yeah, u dak li jkun it-tip ta 'varjabbli li aħna tassenja dan? Istilla File >>. Eżattament, aħna se tassenja dan stilla fajl. Dan huwa PHP leġittimu wisq. Mexxi l. Ara x'jiġri meta inti tgħaddi dik fis gettype. U allura wkoll check out hija nulla dak, dak li jista 'jkun fil-PHP. I ser jagħtuk ftit minuti. Tista 'litteralment kopja u paste dawn il-valuri fi, u allura aħna ser nagħmlu sejħa każwali ftit fuqek u ara dak li ltqajna. [Student] ikolli mistoqsija. << Yeah. F'wieħed mill-lectures David qal hemm xi ħaġa inti tista 'tpoġġi fil-quċċata tal-fajl tiegħek sabiex inti ma għandekx it-tip fil-PHP kull darba. Liema kienet li? Huwa kien probabbilment jitkellem dwar l-bang lira, il-bang hash. Huwa direttiva li jekk inti trade mark fajl tiegħek bħala eżekutibbli allura dak li tagħmel huwa meta inti tesegwixxi l-fajl dan se jirrakkontaw l-programm qoxra li tuża l-interpretu PHP li tinterpreta l-kontenut tal-fajl. Il-kwistjoni hija liema kienet din il-linja speċjali li aħna jista 'jinkludi fil-quċċata ta' fajls PHP tagħna li ma jkollhom jinkludu din il-linja PHP jew dan il-kmand PHP kull meta rridu biex tesegwixxi l-fajl? U inti tista 'attwalment jagħmlu dan bil-mazz ta' fajls differenti. Nemmen li jiddependi fuq fejn il-binarju PHP huwa maħżun, iżda ħafna drabi usr / bin / php huwa post tajjeb fejn tibda. Tista 'figura dan eżattament billi tmur lura għall-apparat tiegħek u t-tajping liema PHP. Il-kmand li ċifri meta int esekuzzjoni binarju jew kmand fejn il-fajl korrispondenti. Dan jgħidlekx me li l-PHP huwa verament aliasing dan il-fajl binarju li l-maħżuna usr / bin, li huwa fejn ħafna mill-binaries sistema huma installati. Per eżempju, jekk I iscroll sal-quċċata, issa li stajt tpoġġi dan #! Linja fil hawn I tista iscroll, u I tista 'tipprova jiddekorri dynamic.php, imma jien nikseb dan l-iżball dwar il-permess jiġu miċħuda, u dak li tfisser hija li dan il-fajl mhuwiex bħalissa tagħti permessi eżekutibbli. Huwa ma jkunx immarkat bħala fajl li xi ħadd tista 'taħdem. Meta inti dam Għamla jew clang u inti ltqajna eżekutibbli minnha l-kumpilatur kien intelliġenti biżżejjed li tkun taf li ħej, jien bini ta 'eżekutibbli. Inti probabilment tixtieq li tesegwixxi dan, hekk ikun awtomatikament kkonfigurat l-permessi għalik. Dan mhuwiex il-każ, għalkemm, meta inti toħloq fajl normali mill-bidunett, r-raġuni li qed tipikament inti ma tridx li jkollhom kwalunkwe fajl fis-sistema tiegħek tkun eżegwibbli, sabiex inti attwalment ikollhom imorru fi u manwalment tagħmel dan. L-eħfef mod biex tagħmel dan huwa ma 'l-kmand chmod, u chmod + x jgħid żid il-bit eżegwibbli għaliex hemm il-bit jinqara, il-bit jiktbu u l-ftit eżekutibbli, r, w u x- u qal chmod + x ser idur fuq il-ftit eżekutibbli għall allura l-fajl li aħna jispeċifikaw, li f'dan il-każ se jkun dynamic.php. [Student] Hija li jinxtegħel għal kulħadd? Ejja jivverifikaw dan, hekk kif inkun tikkontrolla biex tara l-permessi? Taf kif I d tikkontrolla biex tara l-permessi ta 'fajl? [Rispons istudent inaudible] Jiddispjacini? >> [Student] XSD. XSD tagħtina l-fajl fil hacks. Jelenka l-fajls,-l, se urini kollha tal-fajls fil-direttorju tiegħi tip ta 'fil-lista twila tagħhom verbose,, u għalhekk hawn naraw li dan dynamic.php fajl L-aħħar modifika fuq 5 Novembru PM 04:21. Is-sid ta 'dan il-fajl huwa jharvard. Dik hija l-utent li qed logged pulzieri Dik hija l-utent I am xogħol bħala, u jekk int ukoll fil-appliance int taħdem ukoll bħala jharvard utent. Int fil-grupp istudenti, u dawn huma affarijiet li inti ser tara spiss biżżejjed. Aħna tista 'tmur fil-lott ta' dettall hawnhekk, iżda għall-parti l-kbira dak li trid tħares lejn meta inti qed tfittex biex tara jekk jew le fajl huwa eżekutibbli huwa primarjament l-utent li tippossjedi l-fajl, is-sid, għalhekk dan jharvard, u allura għandna l-bits permessi minn hawn fuq ix-xellug, u l-mod biex jaqraw dan hija li l-aħħar ftit tipikament jintuża għall-immarkar jew le-inqas f'dan il-każ dan bit-aħħar ta 'spiss jiġu ffissati għal ad li tindika li l-fajl huwa direttorju u mhux biss fajl normali. Imbagħad dawn li ġejjin 3 bits dritt hawn jiddetermina l-permessi li s-sid tal-fajl għandha, hekk f'dan il-każ jharvard, bħala s-sid tal-fajl, jistgħu jaqraw u jiktbu dan il-fajl, iżda hemm sing tgħid li jharvard ma tista 'tesegwixxi dan il-fajl. Il-li jmiss 3 bits huma għall-grupp, għalhekk dan huwa l-grupp l-istudenti, hekk jekk kien hemm utenti multipli fuq appliance tiegħi, u kellna l-utenti multipli bħala parti mill-grupp istudenti, allura dawn kollha jistgħu jaqraw dan il-fajl, iżda dawn ma jistgħux jiktbu dan, u l-istess ħaddieħor, id-dinja jistgħu biss jaqraw dan il-fajl kif ukoll. Hemm tajba, writeup twila dwar dan, sabiex inti tista 'taqra online. Fil-spec sett problema immorru fis dan f'aktar dettall. [Student] Huwa l-218 jirreferu għad-dinja? Il-218 huwa 'l-quċċata tar-ras tiegħi jien jinsa, iżda l-ebda. Ejja naraw. I am lilhom infushom fuq dan id-dritt issa. Lura għal dak li aħna kienu waslu biex jagħmlu ma 'dan chmod + x fejn ridna li tagħti permessi eżekutibbli dynamic.php, u l-kwistjoni kienet jekk jew le dan jagħti permessi eżekutibbli għal kulħadd jew għal ftit jharvard, u nistgħu naraw dan billi jmexxu l-kmandi u t-tajping Ls-l, u issa naraw li huwa mmarkat bħala eżekutibbli. Inti tara li kien hemm bidla fil-kulur. Issa dynamic.php hija elenkata fl-aħdar, u jidher qisu ir-risposta għad-domanda huwa dak, Charlotte? [Charlotte]. Jharvard Biss >> Biss jharvard, yeah. Jekk ridna biex inbiddlu l-ftit eżekutibbli fuq għal kulħadd kif jista 'nagħmlu dan? Kwalunkwe ħsibijiet? >> A + x? Yeah, eżattament. Charlotte qal nistgħu nagħmlu chmod ta 'x + ta dynamic.php, u issa jekk aħna run ls-l naraw li l-bits eżekutibbli huma tabilħaqq mixgħula għal kulħadd. U inti tista 'tagħmel il-maqlub ta' dan, sabiex inti tista 'mbagħad jiġi mitfi għal kulħadd użu nieqes. Issa huwa mitfi, u issa nistgħu jduru lura fuq għall jharvard sabiex inkunu nistgħu tmexxi effettivament issa, u issa tara meta we run-kodiċi dan speċjali #! linja fil-quċċata, #! linja, qal lill-qoxra, qal terminal tagħna ħej, meta dan il-fajl huwa mmexxi, użu / usr / bin / php li tinterpreta dan il-fajl u mbagħad jistampaw l-output. [Kwistjoni student inaudible] Sure, let me iscroll back up. Eżatt bħal din. Int ser ikollok tara kollha ta 'dawn id-direttivi tibda ma' dan lira u allura l-punt exclamation, kultant imsejjaħ shebang, bang hash. [Student] Kif nistgħu run ma 'dynamic.php PHP qabel we jagħmlu eżegwibbli? Il-kwistjoni kienet kif nistgħu run din tuża l-binarju PHP filwaqt dynamic.php mhix eżegwibbli? Dan huwa super importanti għaliex dan huwa eżattament kif li għaddej biex jaħdmu meta tikteb sett problema 7. Ħafna mill-fajls ħin PHP mhumiex direttament eżekutibbli. Il-mod li jaħdem huwa għaliex dan huwa l-binarju PHP li l-eżekutibbli. L-interpretu huwa l-ħaġa li l-jiġu esegwiti, u għalhekk dak li qed jagħmel huwa litteralment slurping fil-kontenut kollu tal-fajl dynamic.php tagħna u l-linja li jmorru mill-linja u l-eżekuzzjoni dawk kmandi, u għalhekk huwa bl-użu fajl PHP tagħna bħala lista ta 'struzzjonijiet. Huwa mhux direttament eżekuzzjoni tagħha. Li meta aħna ngħidu li dawn il-fajls huma interpretati fil-ħin run. Huwa lingwa run time minflok xi ħaġa li ddeterminat fil-ħin jikkompilaw, ma tkunx lingwa miġbura bħal C. Hemm xi mod biex jiksbu lingwa run time biex jaġixxu bħala jekk huwa lingwa żmien jikkumpilaw, bħal jekk inti għandek l-running jsir fil-server pjuttost milli 'inti taf dak li jfisser I? Iva, sabiex il-kwistjoni hija hemm mod biex jiksbu ilsna ħin run biex jaġixxu aktar bħal tipi waqt jiġbor tal-lingwi? U hemm, I jfisser, li hija żona attiva ta 'riċerka għal ħafna ta' dawn il-kumpaniji. Nemmen Facebook għamel ħafna xogħol ma PHP u l-kumpilazzjoni l-isfel, li jagħmilha aktar mgħaġġla, ottimizzat huwa peress sit tagħhom hija mibnija fuq PHP. Jekk inti ħadthom ġiet wara node.js-livelli kollha, li huwa tip ta 'interpretu JavaScript li tkun kapaċi tmexxi JavaScript barra tal-browser, barra ta 'web browser tiegħek, għaliex tradizzjonalment JavaScript kien biss run ġewwa tal Firefox jew Chrome, u dan se jintuża biex jagħmel animazzjonijiet jibred jiġri fuq paġna web u jagħmlu web page tiegħek dinamiku. Li kienet mibnija fuq ħafna xogħol li Google għamlet jagħmlu JavaScript u C + + torbot flimkien, hekk hemm ħafna riċerka attiva li jiksbu dawn il-lingwi li jinteraġixxu u jottimizzaw minnhom, primarjament minħabba daqstant nies jistgħu kodiċi fil-PHP u JavaScript għaliex dan huwa ħafna aktar faċli. Huwa ħafna nicer. Inti ma għandekx pointers. Inti ma għandekx tipi floating madwar. Huma riedu li jiksbu l-benefiċċji ta 'dawn il-lingwi waqt jiġbor ma 'l-iċċekkjar tip u l-veloċità u l-użu tal-memorja aktar baxxi u kollha ta' dak filwaqt li xorta jżommu l-flessibilità u l-faċilità ta 'użu ta' dawn dawk ġodda. Lura għall-pjan oriġinali tagħna ta 'attakk. Imxejna ltqajna ftit ta 'dawn il-mistoqsijiet hawn fil spec tagħna sett problema. Ejja jgħaddu minnhom verament malajr, u aħna ser imorru madwar il-kamra. Charlotte, liema tip hija 3.50? [Charlotte] Li l-doppju. >> Huwa doppja. Jimmy, dak li huwa dan wieħed li jmiss? >> Firxa. Firxa, biża ', u Jared, liema huwa l fopen? [Jared] Huwa riżorsa. >> Huwa riżorsa. Dak it-tip ta 'waħda ġdida, ma stilla fajl, mhuwiex fajl. Huwa riżorsa hija t-tip fil-PHP, u jien sorry, Ella, il null aħħar huwa dak? Null. Null, kif huwa spjegat fil-PHP? >> L-istess mod. Il-mod istess, b'ittri? >> Yeah. Yeah, id-dritt. Here we go, konna ltqajna doppja, konna ltqajna firxa, konna ltqajna riżors, u allura konna ltqajna null. Ejja naraw issa għandhom you raw- ejja ara, hekk issa I raden dak I wkoll tixtieq tagħmel hu li pull up din il-paġna web dritt hawn, dan php.net / manwali, hekk jekk inti guys kopja li u tiftaħ web browser. Jien ser pull up Chrome, iqiegħed dak pulzieri Irrid biex turi li inti dan mhux biss għaliex nistgħu nitkellmu ġurnata kollha dwar it-tipi u dak kollu li Jittieħed gost iżda għaliex dan huwa l-manwal PHP, u hemm ħafna ta 'programmaturi PHP hemmhekk. Hemm ħafna ta 'websajts PHP hemmhekk, u bħala riżultat, hemm ħafna ta 'dokumentazzjoni dwar PHP, u l-manwal, dan php.net, huwa post verament tajba biex tmur kull meta int wara mistoqsijiet dwar x'inhu l-aħjar mod biex isir X fil-PHP jew dak li ma funzjoni look like? Just tip ta 'jkollna familjari ma' dak li dan Dehra għaliex inti ser tkun li ġejjin hawn spiss, daqsxejn ta 'problema stabbiliti 7. Jekk inti tispiċċa tagħmel proġett finali li juża PHP dan se jkun hemm post inti ser isiru ħafna familjari sew ma '. Spiss il-mod in-nies jagħmlu dan huwa huma jużaw Google biex tfittex għas-sit, u ma jużawx il-kaxxa tat-tfittxija thats up hawn fil-kantuniera, li huwa tip ta 'ċkejkna. Jekk int Googling madwar għal xi ħaġa li tagħmel ma PHP u tara waħda mill-links manwali pop up inti tista 'tipikament tistrieħ fuq dik bħala riżors pjuttost tajba. Tal-biża ', hekk barra ta' dawn it-tipi, biss mill-kurżità, dawk li ma jkunux rajna? Xejn ma rajniex hawn? [Student] Riżorsi. >> Rajna riżors mas-sejħa fopen. [Student] anijiet. Oġġetti >> aħna ma bbenefikawx għal dubju. Callbacks ma rajniex. Hemm xi wħud minn dawn psewdo-tipi. We definitely biss raw numru sħiħ u doppju. Aħna ma tara xi wħud mill-oħrajn, hekk jekk aħna ikklikkja fuq interi nistgħu naraw hemm xi interi oħra li huma għandhom hawn? Dawn huma kollha hekk numru sħiħ, numru sħiħ, numru sħiħ. Xi lingwi għandhom tipi akbar numru sħiħ, bħal rajna fuq MySQL illum ma kien hemm int u mbagħad int kbar. Kessaħ. Allura, manwali PHP. Ejja ħa mmorru lura għall-spec tagħna sett problema, u aħna ser issa iscroll għall-paġna 4. Waħda mill-affarijiet li jiġri meta ikollok dawn il-lingwi li ma jkollhomx dan ittajpjar statika, sabiex dawn il-lingwi fejn inti għandek tiddikjara it-tip ta 'quddiem up varjabbli huwa ikollok każijiet fejn inti tista 'tibda wara varjabbli ta' tipi differenti interazzjoni ma 'xulxin, u PHP ma dan ħaġa fejn jipprova jagħmel dak huwa jqis li huma l-aktar ħaġa sensibbli li tagħmel meta jkollok 2 tipi differenti jinteraġixxu ma 'xulxin. Per eżempju, jekk inħarsu lejn dawn il-linji ta 'kodiċi dritt hawn tara li konna ltqajna dak li jiġri meta nippruvaw u żid l-sekwenza 1 għall-2 numru sħiħ. X'jiġri jekk aħna tipprova u żid string li mhuwiex valur numeriku iżda karattri pjuttost attwali, CS għan-numru 50? Imbagħad aħna ser tara hemm xi ħaġa differenti li jiġri meta minflok ma żżid string għal numru aħna qed żżid numru li string, u hekk u ibqa 'sejjer hekk sal-punt fejn aħna jkollna xi tip ta 'għalf stramb dritt hawn fejn konna ltqajna 7 + veru. X'inhu l-Heck jfisser? Jekk inti guys tmur quddiem u paste xi wħud minn dan il-kodiċi fil-appliance tiegħek. Inti tista 'żżommu fil-dynamic.php. Ser naraw x'jiġri. [Student] Just użu istampar, mhux printf? Yeah, sabiex inti ser issib li l-istampar hija wkoll funzjoni valida għall-istampar fil-PHP. Hemm ħafna modi differenti ta 'kif isir dan. Ser naraw ma 'koppja ta' l-eżempji aktar tard ladarba nibdew nitkellmu dwar il-problema unika li aħna qed tmur biex jiktbu u allura l-problema konċentrazzjonijiet li aħna qed tmur biex jiktbu li anke jekk aħna għandna fopen u fclose li ta 'spiss ma l-eħfef mod biex taqra fil-kontenut ta' fajl. PHP għandha ħafna ta 'dawn il-holdovers C-simili. [Student] Meta nressaq fil kollha 6 ta 'dawk l-affarijiet I biss jiksbu numru wieħed bħala output. [Nate H.] Meta inti tpoġġi fil kollha 6 ta 'dawn l-affarijiet. Ejja naraw huwa għaliex dan huwa possibilment- ħaġa waħda hija li dawn is-sejħiet istampar mhumiex tterminati fit-tmiem mal-linji l-ġodda. M'hemm l-ebda linja ġdida separazzjoni kull waħda minn dawn is-sejħiet istampar, hekk forsi int jkollna numru wieħed kbir, u huwa verament ftit amalgama ta 'karattri linja ġodda. [Student] Okay, kif nista 'tagħmel ċert- Ukoll, hemm mazz ta 'modi differenti. Inti tista 'manwalment tpoġġi fil-istampar ta' karattru linja ġdida, eku ta 'karattru linja ġdida, print ta 'linja ġdida. [Student] Għalhekk eku huwa l-istess ħaġa bħat printf? Printf huwa simili C printf fejn int istampar string formattjati. Int jfornu dan il-sekwenza format u allura l-varjabbli placeholder. Huwa spiss xi ħaġa li ma jintużax- ejja ara, bħala dikjarazzjoni ta 'ċaħda, I am inqas familjari ma PHP minn I am ma 'lingwi oħra web, u meta jien programmati fil-PHP I tipikament ma jużawx printf minħabba I jsibuha aktar mgħaġġla biex jużaw il-kapaċitajiet interpolazzjoni string li hija għandha, li aħna ser imorru lejn u jien ser nuruk fi ftit tieni, billi C għandna tip ta 'għandek tagħmel dan ħaġa hacky biex tiksbu biex jistampa suppost. Inti tista 'attwalment tqiegħed varjabbli direttament fil kordi fil-PHP. Printf huwa tip ta 'wisq twil għal dak I normalment tagħmel. Iva, Ella. [Ella] Ġeneralment jekk ikollok żball parse jfisser ' simili fuq C ma jgħidlek eżattament fejn l-iżball u għalxiex hi, hekk ma jfissirx li tfittex permezz ta 'kodiċi tiegħek kollu u figura hija out? Huwa tipikament aktar immirat minn dak. Naħseb f'dak il-każ dan kien ftit off, hekk naħseb f'dak il-każ konna nieqsa punto virgola. Huwa kien qed jipprova jagħmel sens ta 'kollox, hekk bħall dawn il-lingwi interpretati, l-interpretu se tipprova u nagħmlu l-almu tagħha biex tagħmel ix-xogħol kollu b'mod xieraq. Int ser ikollok ara, pereżempju, fl JavaScript inti ser spiss il-linja dikjarazzjonijiet end ma 'punto virgola bħalma jagħmlu fil-PHP, bħalma jagħmlu fil C. Fil JavaScript wħud mill-interpreti JavaScript fil-lott ta 'l-browsers se twaqqaf semicolons għalik jekk jiġri li tkun nieqsa minnhom. Huma ser jippruvaw u jakkomoda għal xi sloppiness min-naħa tiegħek. Li fejn jista 'jkun jippruvaw u jippruvaw u tipprova tagħmel affarijiet xogħol, u mbagħad finalment se tikseb sa punt fejn jgħid okay, I ma tista 'tagħmel affarijiet xogħol fuq bailing, u li fejn int ser tingħata numru linja li jista 'jidher ftit off mill-post eżatt. Okay, so ejja jgħaddu din verament malajr. Aħna jitħalla 'off ma' Ella, so ejja jmorru fuq l Missy, u Missy, dak ma print ta 'spag 1 flimkien mal-numru 2 jagħtuk? [Missy] 3. >> 3. Does li jagħmel sens? Sort ta '? Ma jagħtuk numru? Ma jagħtuk string? [Missy] Numru. >> Huwa numru. Iżda huwa istampar hija, hekk li għaddej biex jagħtuk xi tip ta 'sekwenza. Ħaġa waħda li nistgħu nagħmlu biex tivverifika din l huwa jekk nagħmlu $ var = 1 + 2 u allura nistgħu ngħidu eku tal gettype, hekk aħna qed tuża tielet tip ta 'l-istampar hawn. Issa nistgħu naraw x'jiġri hawn. Hawnhekk dak li konna ltqajna hija sirna integer minn dan. Anki jekk konna żżid din is-sekwenza ta 'numru, aħna ma jiksbu sensiela barra minnu, bħad Missy qal. Konna jkollna numru sħiħ. Okay, so ejja ara, jmiss up, Kevin. CS + 50? >> [Kevin] 50. [Nate H.] 50. Does li jagħmel sens? [Kevin] Yeah. [Nate H.] Għaliex? Għaliex ma jagħmilx sens li inti? [Kevin] Għaliex dan huwa biss wara li l-sekwenza, wara żero valur numru. Yeah, kbir. Tip ta 'sitwazzjonijiet ambigwi, iżda dan huwa tajjeb li tkun taf x'jiġri. Stella, dak li jiġri li jmiss bin-numru 1 + string 2? [Stella] 3. >> 3 ġdid. U f'dan il-każ, se nilħqu string jew numru? Ejja tagħti dan jipprova. Kulmin aktar mgħaġġla minn lili jiksbu l-risposta? Charlotte? Oh, I didn't-okay, ejja ara, aħna qed tmur biex jagħmlu l-istess tip ta 'ħaġa fejn konna ltqajna numru flimkien ma 'spag, u aħna qed tmur biex eku-tip, tara dak li nagħmlu. Aħna wkoll tikseb numru sħiħ. Ma jimpurtax liema waħda hija l-sekwenza, liema waħda hija n-numru. Aħna xorta se tikseb numru sħiħ. Huwa għadu għaddej biex jagħmlu dak li nistgħu nistennew. Kull dritt, hekk Sam, liema madwar 90 + 9 fliexken tal-birra fuq il-ħajt? [Sam] 99. >> 99. L-ebda fliexken tal-birra fuq il-ħajt, għalkemm. Din tagħtina informazzjoni ftit aktar dwar dak li qed jiġri. [Sam] Jekk kellek miktub b'ittri 9 allura inti jkollok 90, id-dritt? [Nate H.] Yeah. Il-kwistjoni kienet jekk aħna'd miktub 9 minn kif N-I-N E kieku aħna gotten 99 jew 90? Aħna tixtieq tikseb 90. Huwa litteralment biss tfittex għall-karattri ċifri. Mhuwiex intelliġenti biżżejjed biex jirrikonoxxu kliem numru u l-għalf. Iva. [Student] Hemm tali ħaġa bħala typecasting fil-PHP? Hemm, u huwa eżattament il-mod inti se tagħmel dan fil C. What madwar 10/7, Charlotte? [Charlotte] 1.4285. [Nate H.] Yeah, sabiex dak li jista 'jkun sorprendenti dwar dan? X'jiġri jekk inti għamilt dan istess tip ta 'ħaġa C, jekk inti ma 10/7 fis-C? [Charlotte] Ikun biss jagħtik-jiddependi fuq kif inti typecasted I raden ikun jagħtuk biss numru limitat ta 'ċifri wara l-punt deċimali. Yeah, hekk numru limitat ta 'ċifri wara l-punt deċimali. X'aktar jista 'jkun' kieku dan jagħtik xi ċifri wara l-punt deċimali? Spiss le, hekk għal darb'oħra, jiddependi fuq kif int typecasting dan li tista 'jew ma jistax jikkonverti dan għal numru b'punt li jvarja. Hawnhekk kien tip ta 'sbieħ li għamlet. Kieku aħna wrew inti dan lura meta bdejna nagħmlu dan it-tip ta 'għalf fis-C huwa probabbilment kien jagħmel sens ftit aktar li ma jmurx biss għal 1. U mbagħad finalment, Jamie, dak dwar 7 + vera? [Jamie] 8. >> 8. X'ifisser dan? I raden hija biss tagħti veru l-valur ta '1. Yeah. X'jiġri jekk irridu bidla li sa falza? [Student] 7. Yeah, sabiex tiftakar fejn nitkellmu dwar dawn il-valuri ta 'żewġ fibri, 1 qegħdin fuq, 0 jkunu off? Issa għandna vera hija l-1, 0 hija falza, u inti tista 'ma raw dan fil-eżempji C li aħna ghamilt dan is-semestru passat, iżda storikament it-tip bool fis-C ma kienx tip reali, sabiex in-nies użaw 0 u 1 fil-post ta 'vera u falza. Dan huwa manifestazzjoni ta 'dak. Okay, sabiex il-parti l-waħda importanti dwar dan kollu hija li għandna dawn it-tipi differenti. Huma jistgħu jinteraġixxu ma 'xulxin. Huma jistgħu spiss jinteraġixxu ma 'xulxin fil-modi li huma sbieħ, kif aħna stajt tidher hawn. Huwa sbieħ li jkunu kapaċi li jkollhom string 1 u n-numru 2, żid flimkien u jiksbu 3. Li jagħmel sens. Madankollu, meta int bil-miktub websajts, u speċjalment meta int l-ipproċessar input utent, hekk ngħidu li inti stajt bil-miktub f'forma web li jiġbor informazzjoni mill-utent u mbagħad tmur biex tiġi pproċessata fuq l-aħħar lura, fuq in-naħa server fil-kodiċi PHP tiegħek jekk inti qed jistennew li l-valur li l-utent ttajpjata u sottomessi għall-formola tiegħek li tkun numru sħiħ jew li jkun hemm numru b'punt li jvarja jew xi ħaġa bħal dik għandek bżonn biex espliċitament mitfugħa u mbagħad jagħmlu xi kontroll tat-tip. Inti ma tridx li sempliċement tibbaża ruħha fuq din is-sistema juggling tip biex tagħmel affarijiet taħdem, speċjalment għal raġunijiet ta 'sigurtà u biss għall-robustezza tal-website tiegħek. Just xi ħaġa li wieħed iżomm f'moħħu li kull meta inti qed timmaniġġja data forma, xi ħaġa li taqa 'fil-post jew il-superglobals tikseb kun żgur li inti dejjem jivvalida dan u jinqaleb u typecast dan. U bħad konna nitkellmu dwar mument ilu li typecasting fil-PHP huwa eżattament l-istess bħal fis-C fejn inti għandek l-parentesi u mbagħad it-tip. Iżommu dan f'moħħhom. Wieħed funzjoni li se jidħlu fil handy meta inti qed tagħmel dan huwa aħna kont qed tuża u dan huwa tip ta 'bħala twarrib' aħna kont qed tuża din il-funzjoni gettype dritt hawn biex insemmu it-tip ta 'varjabbli, u filwaqt li dan huwa handy għall-debugging u biex tara liema tip ta 'varjabbli huwa inti ma tridx li jużaw dan, per eżempju, fil-kundizzjoni fejn int verifika biex jaraw jekk gettype ta '$ numru sħiħ = var tagħmel xi ħaġa. Dan huwa ħażin, ħażin, ħażin. Minflok hemm dawn il-funzjonijiet imsejħa huwa numru sħiħ, hija sekwenza, huwa array li inti tixtieq li tuża minflok, hekk f'dan il-każ dak I trid tagħmel minflok dan Guy dritt hawn huwa juża l-var huwa numru sħiħ. U dawn qed spiss imsejjaħ huwa * is_ fis-sens li inti tista 'tissostitwixxi l-* ma numru sħiħ, , spag eċċetera, u biss biex tiżgura verament malajr huwa dan huwa int PHP. Id-Dehra inti tista 'tagħmel jew tkun int jew ikun hemm numru sħiħ kif ukoll? Iva, alias, psewdonomi hekk int numru sħiħ. Kessaħ. Kif sejrin? Ejja jħaffef il-pass ftit. Issa aħna qed tmur biex jitkellmu dwar arrays, sabiex inti tista 'tara fil-parti li jmiss tal-spec nitkellmu dwar kif arrays fil-PHP huma kemmxejn differenti milli huma fl C. Fil-verità, dawn qed tip ta 'amalgama ta' l-matriċi li inti stajt tiġu biex issiru tafu u imħabba fis-C fejn kollox huwa l-istess tip maħżuna konsekuttivament u contiguously fil-memorja, u inti għandek dawn l-indiċi numeriċi. Inti għandek indiċi 0, indiċi 1, indiċi 2, u inti żżomm il-valuri f'dawk indiċi. Inti wkoll fis-C, meta inti kiteb speller, lott ta 'inti ma 'l-approċċ tabella hash, u inti raw li hemmhekk kellna tip differenti ta 'ħażna fejn konna immappjar ewlieni għal valur, hekk meta inti ppruvaw biex jaħżnu xi ħaġa fit-tabella hash kellek jiġi speċifikat li int riedu li jaħżnuh ma 'ċavetta speċifika, u li l ċavetta determinat il-post tal-valur u fejn ikun maħżun. You ħadthom tip ta 'ltqajna kemm ta' dawk il-kunċetti jiġri fl-istess ħin fil-firxa PHP, u bħala riżultat, aħna sikwit sejħa dawn arrays ta 'assoċjazzjoni fejn aħna jassoċjaw ewlieni fil-valur. F'din il-parti li jmiss nitkellmu dwar firxa PHP sempliċi fejn għandna ċwievet a, u ċ- kollha kordi, immappjar għall-interi 1, 2, u 3. U inti jista 'jkollhom ċwievet ta' tipi differenti. Inti jista 'jkollhom xi ċwievet li huma kordi, xi ċwievet li huma interi. Inti jista 'jkollhom valuri ta' tipi differenti. Inti jista 'jkollhom valur li l-string, valur li l-integer, valur li l-oġġett jew ieħor array, per eżempju, kollha fl-oġġett array istess, li huwa tip ta 'stramb. Inti ma għandekx li jkollhom firxa li jinsab biss ltqajna tip wieħed ta 'element fiha. Inti jista 'jkollhom affarijiet differenti ħafna għaddejjin fil hemmhekk. Il-ħaġa oħra li wieħed jinnota hu li meta inti tara xi ħaġa bħal din fil-kodiċi tiegħek, li huwa PHP validu li jiddikjara firxa biss bħal dan, 0, 1, 2, 3, 4, 5, li se tiddikjara $ initialized arr li jkun dan array. Imma dak li int attwalment jkollna taħt il-barnuża huwa dan it-tip ta impliċitu ġenerazzjoni ta 'ċwievet fejn konna ltqajna 0-0, 1 sa 1, 2-2, 3 sa 3. U jirriżulta li anki jekk inti ma jkollhom firxa bħal dan Guy up here fejn ikollok b, u ċ bħala l-ċwievet u mbagħad tibda tuża l-metodu push array biex tibda tuża din array bħal munzell, sabiex inti tista 'tara li dan l-oġġett array, din array huwa verament jitgħabba żżejjed. Aħna jistgħu jużaw bħala firxa. Aħna jistgħu jużawh bħala tabella hash. Aħna jistgħu jużaw bħala munzell. Meta tibda timbotta l-affarijiet fuq din il-firxa l-ewwel ħaġa li għandek timbotta fuq dan se jkun indiċi 0 u mbagħad indiċi 1 u indiċi 2. Tista 'tikseb dan it-tip ta' ġenerazzjoni impliċitu ta 'ċwievet sakemm inti tispeċifika espliċitament. Il-mod inti tispeċifika ċwievet espliċitament, naturalment, huwa bl-użu din il notazzjoni parentesi, li huwa simili għal arrays ħlief minflok biss jippermettu indiċijiet numru sħiħ fil hawn, issa aħna jippermettu xejn. Jekk inti tixtieq prinċipali tiegħek li tkun string, youd tispeċifika dan bħal dan. Jekk inti tixtieq li tkun int, inti tispeċifika dan il-int trid tuża. Mistoqsijiet dwar li s'issa? Waħda mill-affarijiet sbieħ dwar din l-idea hija li inti tista 'biss qatt jkollhom waħda valur maħżun ma' ċavetta partikolari. Jekk immorru lura fuq tagħna appliance-let me tħassar xi wħud minn dan il-għalf. U ejja ngħidu I initialize firxa li tkun 0, 1, 2, isir. Jekk I issa jkunu jafu li, per eżempju, jekk I eku $ arr [0] Jien ser tikseb il-valur 0 stampata, u peress li hemm biss qatt tkun valur wieħed maħżun għal ewlieni partikolari jekk I taħżen xi ħaġa għal $ arr [0], jiġifieri, imbagħad I know I meta eku $ arr [0] mill-ġdid Jien mhux se tikseb 0 stampata bħal qabel. Jien biss se tikseb. Allura dan huwa bażikament tgħid li ma nistax jkollhom $ arr [0] ħażna 2 valuri differenti. Ma jista 'jaħżen kemm 0 u l-sekwenza ta', bħal f'dan litteralment jieħu post dak li kien ta '$ arr [0] qabel. Ir-raġuni I iġibu dan up huwa run, tara x'jiġri. Ara hawn li sibt 0 stampata u mbagħad stabbiliti hawn. M'hemm l-ebda linja ġdida hemmhekk minħabba I kien għażżien u ma poġġiex dik pulzieri X'hemm jibred dwar dan hija li aħna jistgħu jużaw dan bħala mod biex jaqbdu din l-idea ta 'sett fejn ma jistax ikollna ċwievet multipli fi ħdan firxa. Aħna ma jistax ikollu ċwievet identiċi fi ħdan firxa. I ma jistax ikollu 0 ewlieni u l-valur 1 u 0 ewlieni u l-valur ta ' jew 0 ewlieni u l-valur veru. L-imfietaħ huma kollha hemm biss 1 prinċipali fil-firxa. Anki jekk inti jista 'jkollhom l-istess valur maħżun darbiet multipli fil-firxa taħt il-ċwievet differenti mhuwiex possibbli li jkun hemm ċwievet identiċi multipli darbiet fil array PHP tiegħek. Jekk inħarsu lejn din il-problema li jmiss, unique.php, fejn irridu li tiftaħ fajl PHP fih lista ta 'kordi, wieħed string għal kull linja, u rridu li jsibu kollha tal-kordi unika f'dak il-fajl kollha għandna tagħmel hu li tuża wieħed minn dawn arrays PHP u jużaw l-kordi fil-fajl bħala l-imfietaħ għal dan il-firxa u żżomm aġġornament firxa tagħna kif aħna jaħżen dawn iċ-ċwievet ġodda. Kif naqraw kull linja mill-fajl nistgħu jaħżnuh fil-firxa, u fl-aħħar aħna se jkollhom bħala ċwievet tagħna fil firxa tagħna kollha tal-kordi uniku fi ħdan il-fajl. Does li jagħmel sens? Ejja naraw kif taħdem din. Aħna ser jiftħu, skond il-spec, fajl ġdida msejħa unique.php. Open. Oops, sorry, fajl ġdid. Aħna ser tibda off ma tags l-bidu u t-tmiem istess. Aħna ser jiffrankaw fis-sezzjoni 9, u aħna qed tmur biex sejħa hija unique.php. Okay, issa zoom pulzieri L-idea hija tiftaħ fajl, jinqraw f'konformità fajl mill-linja. Għal kull linja fil-fajl aħna ser ikollhom firxa fejn għandna  il-linja kif ewlenin tagħna. U allura meta irridu jiksbu l-aħħar hawn Ċwievet $ arr huma l-linji uniċi Mill-proċess peress li nafu li jekk nressaq linja fis dan array darbiet multipli se biss iżommu sorpassata l-valur qodma, u nistgħu fil-fatt imqiegħda linja array fl bħala innifsu biss bħal dik. Dan huwa tip ta 'stramb. Aħna qed ħażna l-istess ċavetta valur par aktar u aktar u aktar mill-ġdid, iżda peress li aħna huma garantiti li se jkun hemm biss 1 prinċipali imsejħa linja hekk jekk għandna file li tgħid-fajl ta 'ħsejjes tal-annimali u għandu woof, woof, , meow meow, Moo, Moo, u kull darba naqraw l-istorbju annimali li bħal woof u aħna jaħżen fil firxa tagħna nikbru woof, u mbagħad it-tieni darba aħna jaħżnu woof se jissostitwixxu l-ewwel darba li aħna maħżuna dan. Fl-aħħar aħna ser biss dħul wieħed fil-firxa għal kull wieħed mill-ħsejjes tal-annimali fil-fajl tagħna ħsejjes annimali. Do you guys jħossuhom kunfidenti li inti tista 'tindirizza l-ftuħ ta' fajl fil-PHP? Mod wieħed biex tagħmel it-ejja jmorru fuq dan il-mod malajr 'wieħed biex tagħmel dan huwa ma fopen, bħal rajna qabel. Tista some_file.txt fopen tista. Tista 'tiftaħ lilha fil-modalità jinqara, bħal fil C. Li mod wieħed perfettament tajjeb biex tagħmel dan. Inti wkoll mbagħad għall-qari fil-linja fajl linja jkollhom l-istess funzjonijiet, li ħafna minnhom, li għamilt fil C. Inti għandek fgets. Inti għandek feof, għalkemm aħna ma bħall-użu li għaliex, ftakar, li ma kienx kbir fil C. Tista 'tagħmel dan bl-istess mod, iżda hawnhekk hija ħaġa verament jibred. Skużani jien ma trid tagħmel $ fajl, iżda hemm funzjoni msejħa fajl fil-PHP, u din il-funzjoni dritt hawn huwa jibred minħabba li taqra l-kontenut kollu tal-fajl li inti tispeċifika, hekk some_file.txt, taqra l-kontenut kollu ta 'dan il-fajl fil-firxa u mbagħad ihallik jtenni fuqha, li huwa pjuttost nifty. Jekk immorru, per eżempju, lill-browser web tagħna u aħna nħarsu lejn Google għal fajl PHP tista 'tara hawn li manwal tagħna jgħid li l-fajl jaqra fajl kollu fi array, u nistgħu file_get_contents li jirritornaw il-kontenut ta 'fajl bħala string, imma tipikament biss jkollna bħala firxa huwa tassew sbieħ għaliex dak li ma huwa pawżi it up hekk li kull element fil-firxa hija linja waħda tal-fajl, hekk jekk inħarsu lejn file 0, dak l-ewwel linja tal-fajl. File 1, tieni linja, fajl 2, linja 3, u hekk u hekk. Ma Ikun sbieħ jekk dan kien kull ma kellu jagħmel fl-C? Pretty nifty. David wera dan b'mod lecture, u l-idjoma hu wera kien li minbarra l-istandard tagħna għall loop fil PHP kellna li għal ($ i = 0; i <10; i + +), u inti tista 'tagħmel dan fil-PHP wisq, l-istess ħaġa irridu wkoll din tibni jibred imsejħa foreach. Foreach huwa verament handy meta iterazzjoni fuq matriċi jew dawn l-istrutturi tad-data għaliex din tippermetti li inti iġbed kull element tal-firxa mingħajr ma jkollhom manwalment jagħmlu l-indiċjar lilek innifsek, mingħajr ma jkollhom manwalment joħolqu varjabbli indiċi, inkrement dan, iġbed il-valur fil-firxa f'dak il-punt, minħabba li l-ħaġa komuni ħafna li tagħmel. Inti probabilment għamlu dan tunnellata ta 'drabi meta inti kienu qed jagħmlu Jittieħed C fuq il-semestru, sabiex dan il foreach nistgħu loop fuq dan array fajl, u l-sintassi hija li aħna rridu li issa jiffurmaw ingassa din array u jispeċifikaw li l-varjabbli aħna qed tmur għall-użu taħżen l-element ta 'din array lokalment, lokali għall-iskop ta' dan loop foreach, huwa aħna qed tmur biex sejħa hija linja. Jekk huwa fajl ta 'kliem biss u hemm kelma waħda fil-linja nistgħu sejħa hija kelma kif ukoll, verament ftit inti tagħti din l-isem, tkun xi tkun tixtieq li hija sejħa, u mbagħad ġewwa l-linja inti tista 'tagħmel xi trid ma' din il-linja varjabbli. Jekk mhuwiex biżżejjed biex jiksbu l-valur tal-firxa u inti wkoll tixtieq li tikseb l-indiċi flimkien magħha inti tista 'tispeċifika l-isem għall-indiċi kif ukoll il-valur, u issa għandek aċċess għal 2 varjabbli. Inti għandek $ i u l-linja fejn $ i huwa l-indiċi fil-firxa, u l-linja huwa l-linja li inti miksuba mill-fajl. Per eżempju, jekk ridna li jistampa eku linja 0 tal-fajl kif dan, stajna nagħmlu dan biss bħal dan, "Linja $ i tal-fajl huwa $ linja," u hawnhekk hija xi ħaġa li aħna wkoll ma bbenefikawx s'issa la fejn Stajt biss totalment skipped fuq in-negozju din% kollu% s d li kellna biex jittrattaw fis-C, u minflok stajt marret dritti għal miktub l-varjabbli fil-linja fil-sekwenza tiegħi. Din tissejjaħ 'interpolazzjoni varjabbli, spag interpolazzjoni fejn int mili l-varjabbli fl-dritt, u l-interpretu PHP huwa intelliġenti biżżejjed meta huwa qari permezz string li jibda bil doppja kwotazzjonijiet- mhux kwotazzjonijiet uniku, bil-kordi wieħed kkwotati inti ma tistax tagħmel dan- iżda bil-kordi doppja ikkwotati kif taqra permezz ta 'dan l-tfittex għal varjabbli. Huwa kaċċa them down, u jekk jara varjabbli se tieħu l-valur tal-varjabbli u Jittieħed fis-sekwenza jekk jista jissarfu fi rappreżentazzjoni string, li huwa pjuttost nifty. Għal issa, ejja kumment mill-bqija ta 'kollox, jiffranka dan, u dak li nistgħu nagħmlu issa hu nistgħu tiftaħ fajl li nistgħu sejħa some_file.txt-ejja toħloq ġdid file- u aħna tista 'tpoġġi fil-mazz ta' għalf nonsense fil hawn biss biex tittestja kollox barra, isalvawh, sejħa hija some_file.txt, kif qed nagħmel up here fil-quċċata, u issa jekk I zoom out biss biex tiżgura kollox huwa fl-istess direttorju- jidher qisu jien unique.php u some_file.txt fid-direttorju istess. Jekk I run unique.php PHP tara kif tistampa kull linja fil-fajl tiegħi u dak li l-linja hija? Li pretty qawwija, id-dritt? Ħares, hija ħadet 3 linji ta 'kodiċi biex jiftħu fajl. Ukoll, 4 linji ta 'kodiċi. I ma jista 'joqgħod illum, b'mod ċar. Imma verament biss 2 linji interessanti ta 'kodiċi, minħabba l-2 oħra kienu l-ċineg kaboċċi, imma f'dan il-kodiċi ħafna konna kapaċi li jiftaħ fajl, jtenni permezz ta 'dan, iġbed in-numru linja u l-linja innifsu u ipprintjaha. Kessaħ Jittieħed. Charlotte. [Charlotte] Għandi mistoqsija dwar il-sintassi. Allura foreach jittratta ma 'kull linja waħda tal-fajl li inti tiftaħ, u mbagħad meta inti tixtieq li tagħmel affarijiet ma 'kull linja waħda inti biss tagħmel dan bħala u mbagħad jassoċjaw il-valur. [Nate H.] X'tista 'tagħmel dritt hawn' il-kwistjoni kienet l foreach għandha x'taqsam ma 'l-array, dan il-foreach sintassi huwa verament foreach, u avviż li hemm l-ebda spazju jew xejn bejn il għal u l-kull. Huma għandhom imorru dritt ħdejn xulxin, u mbagħad li tieħu fil-firxa, u allura inti għandek dan il-keyword ieħor jissejjaħ bħala li għandu jkun hemm, u mbagħad wara l-kif inti tista 'jew tpoġġi isem wieħed varjabbli, f'liema każ int ser tkun billi jiġbed l-valuri ta 'l-array, mhux l-indiċi, jew jekk inti tagħmel dan kif aħna stajt bil-miktub hawn taħt ikollok l-ċwievet u l-valuri. Inti għandek l-element foreach tal-firxa jew par ta 'l-array li keyed għal valur jew biss bħala valur. Jiddependi fuq dak li għandek bżonn, jekk inti m'għandekx bżonn l-ċwievet, allura inti tista 'tmur mal-valur. Jekk inti tixtieq l-imfietaħ inti tista 'tmur magħhom wisq. [Charlotte] I wkoll induna li aħna qatt ma ddikjarat li l-i jew linja. Kif ma anki taf liema huma? [Nate H.] X'tifhem bil tiddikjara? [Charlotte] Aħna qatt ma qaltilhom dak i jew linja mezzi. [Nate H.] Aħna qatt ma qal lill-kompjuter dak i jew linja ifisser f'termini ta ' [Charlotte] Li dawn qed indiċjati jew li they're- [Nate H.] Aħna qatt ma qal li dan suppost tkun l-indiċi jew iċ-ċavetta u l-valur, u dan għaliex dan huwa l-interpretu PHP. Dan iservi bħala d-dikjarazzjoni u jgħid okay, il-muftieħ se tkun varjabbli imsejjaħ i maħżuna varjabbli imsejjaħ i. Il-valur li jkun ser jiġi maħżun fil-linja varjabbli imsejħa, sabiex dan iservi bħala d-dikjarazzjoni ta 'dawn il-varjabbli u jgħid $ i huwa ċentrali, u $ line huwa valur. Yeah, Ella. [Ella] Jekk il-keys mhumiex isir numerikament kif ma tiddeċiedi f'liema ordni li għaddej biex jistampaw kollox? Huwa biss bħall-ordni huwa daħal fil-? [Nate H.] Ejja jipprova hu. Ejja toħloq varjabbli imsejjaħ arr, u nistgħu nagħmlu tmur sa 7. Ejja ngħidu 0 tmur fi array ma '1, 2, jew tat-tuffieħ. Ejja ngħidu 7 tmur għal 1, b tmur għal 2, u 3 tmur sa 4. Dan huwa tip ta 'eżempju crazy tfittex għaliex aħna qed taħlit up kordi u interi kollha fuq il-post. M'hemm l-ebda ordni reali għal din array. I mean, nistgħu ordni kollox fl-ordni alfabetiku bl-ċwievet. Aħna jista 'jordna dak kollu alfabetikament mill-valur. Aħna tista 'tipprova u jieħdu kont li xi wħud huma kordi, xi wħud huma ints, u aħna tista 'tipprova u jaqilbuhom kollha għall-istess tip u tara x'jiġri, jew nistgħu jikkunsidraw lilhom fil-valur li aħna diġà daħlu għalihom fejn npoġġux dan Guy fl-ewwel, dan Guy fit-tieni, dan Guy fil terz, dan Guy fil-raba ', eċċetera. Ejja naraw x'jiġri meta aħna run dan il-kodiċi. Jekk aħna iscroll isfel u jagħmlu l-istess tip ta 'ħaġa, u hawn mhuwiex istampar l-linji l-ġodda. Meta taqra l-affarijiet mill-fajl kien jinkludi l-linji l-ġodda fil-valuri, li kien għalhekk li stampati nicely, filwaqt li hawnhekk hija ma, b'tali mod li għalhekk kollox huwa smushed flimkien. Ejja żid f'dik il-linja l-ġdida biss biex jagħmlu l-affarijiet sbieħ. Ejja terġa 'ssir, u għalhekk hawn tħares lejn dak li ġara. Hija stampati kollox fl-ordni li aħna poġġih fil-firxa. Hija ma tippreserva l-ordni f'dan is-sens. Li jmorru lura għal din il-problema ta 'uniques fejn irridu nkunu kapaċi li jtenni fuq fajl, u aħna ser jagħtuh some_file.txt, u aħna qed tmur biex jtenni fuqha bħal dan. Aħna qal li ridna li jużaw firxa biex niżguraw li d ltqajna kollha ta 'l- Linji uniċi barra mill hemmhekk, u aħna tista 'tagħmel li verament faċilment bi ftit ħażna fil-firxa li aħna naturalment tiddikjara barra mill-ambitu ta 'linja, u aħna qal li jekk aħna użati l-linji fil-fajl bħala l-ċwievet fil-firxa tagħna jekk dħalna linja duplikat aħna'd ikunu prevalenti l-valur ta 'qabel. Mhuwiex dejjem possibbli li jkun 2 ċwievet li huma identiċi fil-firxa istess. Nistgħu nagħmlu dan. Aħna ser teħles minn din id-dikjarazzjoni eku dritt hawn. Hawnhekk aħna qed jaħżnu l-linja fil-fajl firxa tagħna jużaw lilha nnifisha bħala ċ-ċavetta. Xejn lilha, u jirriżulta li aħna lanqas biss bżonn din ċavetta. M'għandniex bżonn li i varjabbli. Fuq dan il-punt jekk konna li tagħmel ieħor loop foreach u konna għal-linja fuq kull arr u l-linja issa jekk aħna eku-Oops, sorry. Aħna ma tistax tuża l-virgola. Għandna biex jużaw dan bħala kelma prinċipali. Issa jekk aħna eku-linja għandna tikseb kollha tal-kliem uniku fil-fajl. Jekk immorru sa some_file.txt, u ejja ngħidu li nagħmlu tuffieħ, banana, tuffieħ, tuffieħ, banana, jekk aħna qed istampar kollha tal-kliem unika f'dan il-fajl għandna biss jiksbu tuffieħ u tal-banana li jistampa. Jekk aħna jiffranka dan, issa hawn aħna ser zoom lura fi, PHP unique.php, u ta-da. Imxejna b'suċċess uniqued-fajl. Il-parti finali ta 'din il-problema huwa inti titlob biex issolvi din array qabel ma stampati dan jitwettaq għaliex f'dan l-eżempju sempliċi li aħna stajt biss isir konna xxurtjati fis-sens li l-fajl għamilna dan l-eżempju artifiċjali ma tuffieħ u l-banana. Kien diġà magħżula. Iżda tuża l-funzjoni tip sempliċi inti tista sort firxa, li huwa pjuttost nifty. Il-ħaġa finali jien ridt li nitkellmu miegħek guys dwar verament malajr hija li dan it-tip ta 'PHP huwa kollu tajjeb u tajba, u huwa super handy biex tkun taf kif għandek tagħmel jekk inti qatt bżonn tagħmel ftit, l-affarijiet malajr programmatically. Per eżempju, jekk I-ħtieġa li jikteb programm li, ngħidu aħna, tpoġġi kulħadd fis-sezzjonijiet jien ma se jmorru u jiktbu fil C. Huwa ser ikunu twal. Huwa ser tkun it-tip ta 'uġigħ, speċjalment jekk ikun hemm fajls involuti, daqstant inti guys raw. Huwa hekk sbieħ li biss ma dan il-kodiċi ħafna dritt hawn konna kapaċi li RIP permezz ta 'fajl, iġbed lura l-valuri uniċi u tipprintjahom lura out. Madankollu, għal assenjazzjonijiet tiegħek, għall-proġetti tiegħek, jekk int bini websajts ma PHP l-enerġija hija li aħna qed taħdem fajls PHP tagħna permezz ta 'dan interpretu, u l-interpretu huwa l-ipproċessar kollox fi ħdan il-tags PHP, jħallu kollox mhux mittiefsa u jobżoq ir-riżultati. Nistgħu nagħmlu dan biex jibnu HTML programmatically. Issa, jekk immorru lura għall-spec, il-problema aħħar fil-spec taħdidiet dwar din l-idea ta 'konċentrazzjonijiet u l-ħolqien ta 'menu drop-down, li inti tista 'jew ma tista' tixtieq li tagħmel, jiddependi fuq liema proġett finali tiegħek qed tagħmel, li tippermetti lill-utent li jagħżel minn lista ta 'konċentrazzjonijiet kollha possibbli 1 konċentrazzjoni tagħhom. Issa, dan huwa tip ta 'uġigħ-tip dan out u għandek tagħmel dan kollu manwalment, speċjalment meta int wara li tagħmel ċert li inti għandek l-parentesi angolu fil-post it-tajjeb u l-kwotazzjonijiet l-fil-post it-tajjeb, hekk ma PHP inti tista 'tagħmel dan programmatically, u inti tista' tagħmel dan verament malajr. Ejja naraw kif għandek tagħmel dan. Aħna ser tiftaħ fajl ġdid. Aħna ser jitqiegħdu fil tags PHP tagħna. Aħna ser sejħa hija concentrations.php, u issa meta int tagħmel dan, it-tip ta 'ħaġa tajba li wieħed jaħseb dwar meta inti qed tipprova ħawwad u jaqblu PHP tiegħek u HTML tiegħek huwa li jidhru fl, okay, liema hija l-parti li nixtieq li programmatically jiġġeneraw? X'inhu l-parti li nista programmatically tiġġenera? Huwa veru li inti tista 'tagħmel kollha ta' HTML tiegħek ġewwa ta 'blokki PHP. Tista 'eku kollha ta' l-HTML bħala kordi. Per eżempju, jekk irrid li jibdew jagħmlu l-tags tagħżel ġewwa tal PHP Nista 'ngħid eku, jiġifieri tagħżel = isem konċentrazzjoni, u mbagħad stabbiliti hawn taħt I jista 'jkollhom ieħor tag eku jew ieħor eku jissejjaħ mill-qrib l-tagħżel. Dan huwa mod wieħed biex tagħmel dan minħabba dak li dan huwa litteralment se jagħmlu huwa jistampa din is-sekwenza meta huwa jgħaddi mill-interpretu PHP, għalhekk ir-riżultat se jkun HTML. Jekk I ħlief dan il-fajl kif huwa dritt issa u I run concentrations.php PHP tħares lejn dak li sibt. Sibt din tag miftuħa tagħżel mill-qrib. I Jekk kellhom jagħmlu dan u jien kienu biex isalva dan ir-riżultat għall-fajl, jiġifieri, concentrations.html-stenna, jidher qisu l-l marret fuq għall-oħra ġenb issa jekk I jiftħu hawn concentrations.html tara I jkollhom fajl HTML validu. Huwa dan it-tip ta 'stramb? Aħna qed tuża PHP biex joħolqu HTML, joħolqu HTML validu. Il-mod kif aħna qed tagħmel huwa li aħna qed biss wara li l-istampar PHP l-HTML li rridu li jistampaw. Dan huwa litteralment kif websajts PHP qed jaħdmu. Meta inti żżur il-website li inti tibgħat għal xi ħaġa simili xi ħaġa, xi ħaġa, xi ħaġa dot com mmejla index.php il-kompjuter huwa litteralment jissejħu index.php, running permezz tal-interpretu PHP, u tkun xi tkun junk toħroġ huwa jibgħat lura lill-browser u qal ħej, browser, jinterpretaw dan bħala HTML. Il-ħaġa sabiħa hija li tista 'tkun uġigħ li kontinwament jiktbu eku, eku, eku, eku u jehmżu kollox kwotazzjonijiet bħal dan, hekk jekk inti tixtieq li jiktbu l-HTML li għaddej biex tkun statika innifsek int tista 'tagħmel dan bħal dan, poġġiha barra, qrib dan, u allura hawnhekk inti biss jitqiegħdu ġewwa l-tags PHP dak li taf inti tixtieq li programmatically jiġġeneraw, u f'dan il-każ huwa dawk tags għażla li huma uġigħ biex jiġġeneraw. Per eżempju, nistgħu jiġġeneraw tikketti għażla elf billi tagħmel xi ħaġa bħal din, $ i <1000, i + + u qal valur għażla eku = $-Whoops, I ma tistax tagħmel dan. Ukoll, ejja jipprova hu u tara x'jiġri. $ I u mbagħad qal $ i