[Powered by Google Translate] [8 skirsnis] [mažiau patogūs] [Nate Hardison] [Harvardo universiteto] [Tai CS50.] [CS50.TV] Sveiki atvykę į mūsų sekundę, kad paskutiniame skyriuje. Šią savaitę, mes ketiname kalbėti apie PHP, ir tada kitą savaitę mes padarysime šiek tiek peržiūrą Quiz 1. Mes ketiname pradėti nuo problemos 3 psl nustato paketą, ir mes pasistengsime per klausimų skyriuje gana greitai. 3 puslapyje, pradedame kalbėti apie šį skirtumo tarp C ir PHP ta prasme, kad PHP yra dinamiškai įvedėte kalba, kadangi C statiškai įvedėte, ir kas nors tikrai greitai padaryti kažką panašaus į PHP kodavimo ar Python arba Ruby prieš JavaScript? Visiškai nauja? Gerai. Visi iš šių kalbų, kad aš ką tik paminėtos labai skiriasi nuo kalbų, pavyzdžiui, C ir C + + ir Java ta prasme, kad, kai paskelbti kintamąjį jūs neturite paskelbti kokia kintama, todėl C mes pakimba visada sakau tai bus int kintamasis, ar tai bus char * kintamasis, kadangi PHP, Python, Ruby, daug daugiau šių šiuolaikinių kalbų, jūs neturite padaryti, kad ne visi. Jūs tiesiog paskelbti savo kintamąjį, PHP Jūs pareiškiate, kad tai kintamasis priešdėlį su $ ženklu, ir kintamojo tipas yra nustatomas pagal kokia vertė tai ūkyje, kuris yra tipo kietas. Pažaisti su šia truputį, mes turime pavyzdį PHP kodą čia tarp pradžios ir pabaigos žymes. Mes naudojame tokio pobūdžio ta prasme, kad, pavyzdžiui, HTML mes turime šiuos laužtiniuose skliaustuose čia atidaryti ir uždaryti. Jūs pamatysite tai su HTML. Jūs pamatysite tos pačios rūšies su XML sintaksę. Tai rodo, kad PHP bloko pradžios. Tai? PHP yra specifinis PHP. Mes uždaryti viską?>, Taip pat. Tegul atverti mūsų prietaiso failą naudojant ką norite. Šio paketo ji sako skambinti dynamic.php. Tiesą sakant, galite jį pavadinti ką norite, bet failo pavadinimas bus sugalvoti ir bus svarbu vėliau, todėl tiesiog prisiminti, ką vadiname tai. Aš ketina pereiti prie prietaiso, ir aš ketina padaryti katalogą 9 skirsnis Manau, mes ne dabar. Ir mes eiti į 9 skyriuje, ir aš ruošiuosi naudoti gedit. Pažiūrėkime, gedit, ir aš ketinate skambinti minų dynamic.php. Bumas. Per dynamic.php, nes tai yra PHP failas ir aš noriu paleisti tai per PHP vertėjo Man reikia pradėti viską su tų atvirų žymių, todėl aš paleisti šiuos karto, suteikti sau mažai vietos tarp žymių, Šio pratimo esmė buvo ir tada žaisti aplink su ši funkcija vadinama gettype, todėl gettype šią funkciją čia. Atkreipkite dėmesį, kad ten ne pabrėžti arba vietos ar brūkšnelį ar ko nors panašaus atskirti 2 žodžių, gauti ir įvesti, tik vieną žodį apskritai. Bet kas tai padarys jei aš pereiti į kintamąjį gettype pasakyti $ var arba $ x, tai pasakykite man, rūšies Derinimo formatu ką tos rūšies pavadinimas. Mes ketiname eksperimentuoti čia. Visų pirma, jei pažvelgti atgal į pset spec mes turime keletą skirtingų eilučių kodo. Pirmoje eilutėje kodo mes inicijuoti šį kintamąjį, $ var, turi būti lygus 7, ir tada mes turime šį printf linija , kad sako, ei, printf var yra tuščias. Printf yra vienas iš daugelio būdų, mes galime atspausdinti dalykus PHP. Dažnai pamatysite aido funkcija naudojama vietoj printf, bet printf mes visi susipažinę su buvo kodavimo C kurį laiką. Ką jūs iš tikrųjų galite padaryti galime pamatyti, jei kopijuoti ir įklijuoti darbus. Aš ruošiuosi duoti tai pabandyti. Mes grįžti į prietaiso. Gerai, ir čia mes einame. Ir tarpai yra šiek tiek funky, bet čia mes einame. Mes turime šį kodą čia. [Studentų] Ar tai nėra gerai stiliaus skirtuką jį? Sorry? [Studentų] Ar tai tradicinio prie skirtuko IT? Teisus, todėl Sam klausia, jei tai konvencija į skirtuką tai ar ne. Paprastai taip. Šiuo atveju aš pasirinkau ne. Sąžiningai, jūs pamatysite skirtingus dalykus tarp skirtingų programuotojų. PHP paprastai dažnai naudojamas kartu su HTML ir kitomis kalbomis, todėl kartais spausdinimas atrodo šiek tiek funky įtraukoje, per PHP pradžios ir pabaigos žymes. Tai tikrai priklauso. Šiuo atveju nukopijuokite ir įklijuokite ne įklijuoti man skirtukus, bet jis tikrai nėra, kaip sakei, kad ji taptų suprantamesnė. Viskas gerai, jei įrašote šį kodą dynamic.php tada tai, ką galite padaryti, tai nueiti į savo terminalo lange, kur aš esu, nustatančio teisę čia gedit, ir padaryti kompiliavimo ekvivalentą naudojant padaryti, o paskui savo kodą C viskas, ką turite daryti su PHP failo pradėti PHP vertėją, , kuris yra šiek tiek programa, vadinama PHP, ir argumentas, jūs suteikiate su vertėju failą, kurį norite interpretuoti. Šiuo atveju, dynamic.php. Oi, kur aš įdėti jį? O, aš įdėti jį 9 skyriuje, ir aš esu čia. Štai kodėl. Dabar, jei aš paleisti, kad vėl matome, kad mano pirmasis gettype skambinimo funkcijos var yra sveikasis skaičius. Kitą var yra eilutė, o tada trečią var yra boolean. Kas įdomu, apie tai, jei mes slinkti atgal matome, kad yra panašūs į tuos, kurie, kad mes turėjome C. Mes turėjome Ints C. Mes tarsi styginiams C, taip stygos nebuvo visiškai teisėtas tipas ta prasme, kad mūsų CS50 eilutė buvo tikrai tai, ką? Sorry? Missy? [Missy] char *. Taip, tai buvo tai mes panaudojome char *. Pačioje pradžioje semestro mes buvome naudojant string tipas, bet ji tikrai buvo char * po gaubtu. Mes ką tik nurodyto tipo, o PHP šios eilutės yra tikrasis tipas. Yra šios char * tipo stuff. Pamatysite, kad mes galime padaryti daug daugiau dalykų, su Styga daug lengviau PHP, nei galėtume, C, ir galiausiai, turime šį boolean tipo, ir čia yra didelis skirtumas, kad , jei mes slinkti atgal matome, kad šių rūšių pavadinimas yra sveikasis skaičius, eilutę, ir Būlio vietoj int ir bool, ir kaip jūs pasiimti įvairių programavimo kalbų, darant prielaidą, kad nors jūsų gyvenime, jūs liestis su skirtingi tie, jūs pastebėsite, mažai Photoshop, kaip šis kur C ragina sveikieji skaičiai int. Kai ją vadina sveikieji skaičiai. Yra kitos sąlygos, kad jums paleisti į. Didelis int mes matėme šiandien SQL. Taip pat yra ir tada bool, boolean, įvairiausių skirtumų ten. Tai nėra labai įdomus, bet dabar aš einu duoti jums šiek tiek laiko jei mes padidinti atgal į darbą per šį pratimą 3 psl apačioje kur jis klausia, ką tipai atitinka šias vertes, čia apačioje. Mes turime 3,50. Mes turime tai, ką čia, kuris yra įdomus. Mes nematėme, kad anksčiau, nors jei jau po kartu į paskaitą jūs turbūt jau žinote, kas tai yra. Tada mes turime tai, kuri tai tipo funky. Jums tai pripažinti. Kas tai yra, C? Sam? Ką tai duos jums C? Ji atidaryti failą pavadinimu dynamic.php ir padaryti jį įskaitomas. Aha, ir kas būtų kintamojo tipas, kad mes turėtume priskirti tai? >> Failas žvaigždė. Tiksliai, mes norėtume priskirti prie failo žvaigždė. Tai yra teisėtas PHP. Paleisti, kad. Žiūrėkite, kas atsitinka, kai jūs praeiti, kad į gettype. Ir tada taip pat patikrinti ką null, ką tai galėtų PHP. Aš duosiu jums keletą minučių. Jūs galite tiesiog nukopijuokite ir įklijuokite šias vertybes, ir tada mes padaryti šiek tiek atsitiktinį pokalbį ir pamatyti, ką jūs turite. [Studentų] Turiu klausimą. << Taip. Vienoje iš paskaitų Davidas sakė, kad tai, ką jūs galite įdėti failo viršuje taip, kad jūs neturite įvesti PHP kiekvieną kartą. Kas tai buvo? Jis buvo tikriausiai kalbame apie svaro trenksmu, maišos sprogimo. Direktyva, kad jei ženklas savo vykdomąjį failą kaip tada, ką ji daro, kai jūs vykdyti failą jis jums pasakys, korpuso programą naudoti PHP vertėjas, interpretuoti failo turinį. Klausimas yra tai, kas buvo ši speciali eilutė , kad galėtume įtraukti mūsų PHP failus viršuje neprivalo būti tai PHP linija ar tai PHP komandą, kai norime vykdyti failą? Ir jūs iš tikrųjų galite tai padaryti su krūva įvairių failų. Manau, kad tai priklauso nuo to, kur yra saugomi PHP dvejetainis, bet dažnai usr / bin / php yra gera vieta pradėti. Galite suprasti tai lygiai taip pat grįžta prie savo prietaiso ir rašyti, kuris php. Kuris komandą skaičiai,, kai jūs vykdant dvejetainis arba komanda, jeigu atitinkamas failas. Tai man sako, kad PHP yra tikrai aliasing tai dvejetainis failas , kad saugomas usr / bin, kur yra dvejetainiams daug yra įdiegta. Pavyzdžiui, jei aš slinkti į viršų, dabar, kad aš įdėti šią nuorodą #! linija čia Galiu slinkti žemyn, ir aš galiu pabandyti paleisti dynamic.php, bet man šią klaidą dėl leidimo buvo atsisakyta, ir ką tai reiškia, kad šis failas šiuo metu nėra suteikti vykdomąjį teises. Jis nėra pažymėtas kaip failą, kad kažkas gali paleisti. Kai jūs bėgo skambinti arba Apsukite metalinis garsas, ir jūs turite vykdomąjį failą iš jo sudarytojas buvo pakankamai protingas, kad žino, kad ei, aš pastato vykdomąjį. Jūs tikriausiai norite jį vykdyti, todėl būtų automatiškai konfigūruoti jums leidimus. Tai ne tas atvejis, nors, kai jums sukurti normalų failą iš naujo, priežastis paprastai jūs nenorite turėti bet kokį failą į savo sistemą būtų išieškotina, kad jūs iš tikrųjų turi eiti ir rankiniu būdu tai padaryti. Pats paprasčiausias būdas tai padaryti yra su chmod komandą ir chmod + x sako pridėti vykdomąjį tiek nes ten skaityti bitų, rašyti bitų ir vykdomąjį šiek tiek, r, w ir x, ir sako: chmod + x įjungti vykdomąjį šiek tiek tada byla, kad mes nurodote, kuris šiuo atveju bus dynamic.php. [Studentų] Ar tai įjungtas visiems? Leiskite check this out, taip, kaip man patikrinti, teises? Ar žinote, kaip aš patikrinkite failo leidimus? [Nesigirdi studentas atsakas] Atsiprašome? >> [Studentų] XSD. XSD suteikia mums į hacks failą. Išvardijant visus failus,-L, parodys man visi failai mano kataloge tipo per savo ilgą išsami sąrašą, ir todėl čia mes matome, kad tai dynamic.php failą paskutinį kartą keistas 5 d. lapkričio 16:21. , Šio failo savininkas jharvard. Kad vartotojas, kuris yra prisijungęs Štai vartotojo dirbu, ir jei jūs taip pat prietaiso jūs taip pat dirba kaip vartotojo jharvard. Esate studentų grupės, ir šie dalykai, kad jūs pamatysite pakankamai dažnai. Mes galime eiti į daug detalių čia, tačiau didžiąja dalimi tai, ką norite pažvelgti į kai jūs ieškote norėdami pamatyti, yra visų pirma, ar failas yra vykdomasis vartotojas, kuris priklauso failas, savininkas, todėl šis jharvard, ir tada mes turime Leidimai bitai per čia kairėje, ir būdas skaityti, kad paskutinis tiek paprastai naudojamas ar ne-bent jau šiuo atveju ženklinimas šis paskutinis tiek dažnai bus į skelbimą nurodyti kad failas yra katalogas, o ne tik paprastas failas. Tada šie 3 bitai čia nustatyti teises, kad failo savininkas, todėl šiuo atveju jharvard, failo savininkas gali skaityti ir rašyti šį failą, bet yra brūkšnys, sakydamas,, kad jharvard negali paleisti šio failo. Per artimiausius 3 bitai yra grupei, todėl tai yra studentų grupė, todėl, jei yra keli vartotojai apie savo prietaisą, ir mes turėjome kelis vartotojus studentų grupės tada jie visi gali skaityti šį failą, bet jie negali rašyti, ir taip pat kas nors kitas, pasaulis gali skaityti šį failą, taip pat. Yra geras, ilgai writeup apie tai, todėl jūs galite skaityti internete. Problemą, spec mes einame į tai išsamiau. [Studentų] 218 pasauliui? 218-prie mano galvos viršaus aš pamiršta, bet ne. Pažiūrėkime. Aš ištrinant, kad dabar. Į tai, ką mes jau ruošėmės daryti su šiuo chmod + x , kai mes norėjome suteikti dynamic.php vykdomąjį teises, ir klausimas buvo, ar tai duos vykdomąjį teises visiems arba tiesiog jharvard, ir mes galime pamatyti tai veikia komandas ir rašyti ls-l, ir dabar mes matome, kad jis pažymėtas kaip vykdomąjį failą. Jūs matote, kad ten buvo spalvos pasikeitimas. Dabar dynamic.php išskirti žalia spalva, ir atrodo, atsakydamas į klausimą, yra tai, ką, Charlotte? [Charlotte] Tik jharvard. >> Tik jharvard, yeah. Jei norime paversti vykdomąjį tiek visiems kaip galėtume tai padaryti? Bet mintis? >> + X? Taip, tiksliai. Charlotte sakė, mes galime padaryti chmod + x dynamic.php ir dabar, jei mes paleisti ls-l matome, kad vykdomąjį bitai iš tiesų yra įjungtas visiems. Ir jūs iš tikrųjų galite padaryti, tai kitoje pusėje, todėl jūs galite paversti jį išjungti visiems naudojant minusas. Dabar jis išjungtas, ir dabar mes galime pasukti jį atgal už jharvard , kad galėtume iš tikrųjų paleisti jį dabar, o dabar matai, kai mes paleisti kodą Šis specialus #! linija viršuje, #! linija, sakė apvalkalas, papasakojo mūsų terminalą ei, kai ši byla buvo paleisti, / usr / bin / php interpretuoti šį failą ir tada atsispausdinti produkcija. [Nesigirdi studentas klausimas] Žinoma, leiskite man slinkti atgal. Vien štai taip. Jūs pamatysite, visi šių direktyvų pradėti su šiuo svarą ir tada šauktukas, kartais vadinama Szulernia, maišos sprogimo. [Studentų] Kaip mes galime paleisti su php dynamic.php kol ji vykdomąjį? Klausimas buvo, kaip mes galime paleisti šią naudojant PHP dvejetainis o dynamic.php nėra vykdomąjį? Tai yra itin svarbus, nes tai yra būtent tai, kaip jis ketina dirbti, kai rašote problemą, 7. Dauguma laiko PHP failus nėra tiesiogiai vykdomąjį. Taip, kad dirba, yra todėl, kad PHP dvejetainis, tai vykdomąjį. Vertėjas yra dalykas, kad yra vykdomas, ir taip, ką jis daro, yra tiesiog slurping visą turinį mūsų dynamic.php failą ir vyksta pagal kiekvieną eilutę ir vykdyti šių komandų, todėl naudoja mūsų PHP failą kaip instrukcijų sąrašą. Tai nėra tiesiogiai vykdo. Štai kur mes sakome, kad šie failai yra aiškinama vykdymo metu. Tai veikimo laikas kalba, o ne kažkas, kad nustatytos per kompiliavimo metu, nėra parengta kalba kaip C Ar yra būdas gauti Run Time kalbą elgtis taip, tarsi tai kompiliavimo metu kalba, , pavyzdžiui, jei jūs turite visas veikiančias padaryta ne serverio o nei jūs žinote, ką turiu galvoje? Taip, kad klausimas yra Ar yra būdas gauti Run Time kalbas, kurios veikia daugiau kaip kompiliavimo metu tipų kalbų? Ir ten, aš turiu galvoje, kad yra aktyvus mokslinių tyrimų sritis, daug šių bendrovių. Manau, "Facebook" padarė daug darbo su PHP ir kaupimo jį žemyn, todėl greičiau, optimizuoti nes jų svetainė yra pastatytas ant PHP. Jei jūs buvote ne visi, po node.js kuris yra tipo JavaScript vertėjo Ne naršyklėje paleisti "JavaScript", už savo naršykles, nes tradiciškai Javaskriptą, tiesiog paleisti viduje Firefox ar Chrome. ir jis bus naudojamas, kad cool animacija vyksta internetiniame puslapyje ir padaryti jūsų tinklalapį dinamiškas. , Kad buvo pastatyta daug darbo, kad "Google" padarė , kad "JavaScript" ir C + + įpareigoti kartu, todėl yra daug aktyvių mokslinių tyrimų gauti šios kalbos bendrauti ir juos optimizuoti, visų pirma dėl to, kad daugelis žmonių gali koduoti PHP ir JavaScript , nes tai daug lengviau. Tai daug gražiau. Jūs neturite patarimų. Jūs neturite rūšių plūduriuojančius aplink. Jie norėjo įgyti šių kompiliavimo metu kalbų tipo tikrinimą ir greitį ir apatinės Memory usage ir visi, kad , tačiau išlaikant lankstumą ir paprastumą naudoti šių naujesnių. Grįžti į mūsų pradinės puolimo planą. Mes turime keletą iš šių klausimų, čia mūsų problemą, spec. Eikime per juos tikrai greitai, ir mes eiti aplink kambarį. Charlotte, kokio tipo yra 3,50? [Charlotte] Tai dvigubai. >> Tai dvigubai. Jimmy, kas tai yra kitą? >> Masyvo. Masyvas, nuostabus, ir Jared, kas yra fopen? [Jared] Tai išteklių. >> Tai išteklių. Tai tipo nauju, o ne failas žvaigždė, ne failo. Tai ištekliai yra tipas PHP, ir aš atsiprašau, Ella, paskutinis null yra kas? NULL. Nulis, kaip jis rašomas PHP? >> Tokiu pačiu būdu. Taip pat, sostines? >> Taip. Taip, viskas gerai. Čia mes einame, mes turime du kartus daugiau, mes turime masyvą, mes turime išteklių, ir tada mes turime null. Pažiūrėkime dabar Matėte pažiūrėkime, todėl dabar aš atspėti, ką aš taip pat noriu padaryti, tai atsigriebti Šis puslapis buvo čia, tai php.net / rankinis todėl, jei jus vaikinai kopijuoti, kad ir atverti interneto naršyklę. Aš ruošiuosi atsigriebti "Chrome", įdėti, kad in Aš noriu parodyti jums, tai ne tik dėl to, mes galime kalbėti visą dieną apie rūšių ir visi, kad įdomus stuff bet todėl, kad tai yra PHP vadovėlyje, ir yra daug PHP programuotojų ten. Yra daug ten PHP svetainių, ir, kaip rezultatas, yra daug dokumentų PHP, ir vadovą, php.net, yra tikrai gera vieta eiti kai jums iškilo klausimų apie tai, kas yra geriausias būdas tai padaryti X PHP arba ką funkcija atrodo? Tiesiog rūšies susipažinti su tuo, kaip tai atrodo, nes jums bus atvyksta čia dažnai, šiek tiek problemų 7. Jei jūs galų gale padaryti galutinį projektą, kuris naudoja PHP tai bus vieta, tapsite labai gerai susipažinę su. Dažnai žmonės tai padaryti yra jie naudoja Google paieška svetainėje, ir jie neturi naudokite paieškos laukelį, kad čia, viršuje, dešinėje pusėje, kuri yra tipo mažytė. Jei esate "Google" paiešką apie kažką daryti su PHP ir pamatysite vienas rankinio nuorodos pop iki jūs galite paprastai remiasi kaip gana geros išteklių. Nuostabus, todėl iš šių tipų, tiesiog iš smalsumo, kurie iš jų ne mes matėme? Ką mes čia nemačiau? [Studentų išteklių. >> Mes matėme su fopen skambučio šaltinį. [Studentų] objektai >> Objektai mes tikrai nemačiau. Šios funkcijos mes nematėme. Yra keletas šių pseudo tipų. Mes tikrai tik pamačiau sveikasis skaičius, ir dvigubai. Nematėme kai kurie kiti, todėl, jei mes paspauskite sveikaisiais skaičiais mes galime matyti, nėra jokių kitų sveikieji skaičiai, kad jie turi čia? Jie visi taip sveikasis skaičius, sveikasis skaičius, sveikasis skaičius. Kai kurios kalbos turi didesnių Sveikieji tipai kaip matėme šiandien yra MySQL INT ir tada didelis int. Cool. Taigi, PHP vadovėlyje. Grįžkime į mūsų problemą, spec, ir mes dabar slinkite žemyn į 4 psl. Vienas iš dalykų, kurie atsitinka, kai jūs gaunate šias kalbas kurie neturi šį statinį rašyti, todėl šios kalbos, kur jūs turite deklaruoti kintamos priekyje tipas gausite atvejus, kai galite pradėti įvairių tipų kintamieji bendrauja tarpusavyje, ir PHP ar tai, ką, kur jis bando daryti , ką ji mano, kad būtų pats protingiausias dalykas, kurį reikia padaryti kai turite 2 įvairių tipų bendrauti vieni su kitais. Pavyzdžiui, jei pažvelgsime į šių kodas linijų čia pamatysite, kad mes turime, kas atsitinka, kai mes stengiamės ir pridėti eilutę nuo 1 iki sveikasis skaičius 2. Kas atsitiks, jei mes stengiamės ir pridėti eilutę, kuri nėra skaitinė vertė o faktinės simbolių, AP, kurios numeris 50? Tada mes pamatyti, ar yra kas nors skiriasi, kad atsitinka, kai vietoj pridėti eilutę į numerį, mes pridedant skaičių į eilutę, ir taip toliau ir taip toliau iki taško, kur mes vis kai kurių keistam dalykų natūra, čia, kur mes turime 7 + tiesa. , Ką gi tai reiškia? Jei jus vaikinai eiti į priekį ir įklijuokite šį kodą į savo prietaisą. Galite laikyti jį dynamic.php. Mes pamatyti, kas atsitiks. [Studentų] Tiesiog naudokite spausdinti, o ne printf? Taip, taip, jūs pamatysite, kad spausdinimo taip pat galioja PHP spausdinimo funkcija. Yra daug įvairių būdų tai daryti. Mes pamatyti, su pavyzdžiais, pora, vėliau, kai mes pradedame kalbėti apie unikali problema, kad mes ketiname rašyti ir tada koncentracijos problema, kad mes ketiname rašyti kad nors mes turime fopen ir fclose kad dažnai nėra paprasčiausias būdas skaityti failo turinį. PHP turi daug šių C, pavyzdžiui, holdovers. [Studentų] Kai aš įdėti visus 6 iš tų dalykų, gauti tik vieną numerį, kaip produkcijos. [Nate H.] Kai jūs galėsite įdėti visų 6 iš šių dalykų. Pažiūrėkime, tai todėl, kad ji galbūt vienas dalykas yra, kad šie spausdinimo skambučiai nebuvo nutraukta su naujų linijų pabaigoje. Ten jokia nauja linija, skirianti kiekvieną iš šių spausdinimo skambučius, tad gal jūs gaunate vieną didelį skaičių, ir tai tikrai tik amalgama naujos eilutės simboliai. [Studentų] Gerai, kaip man įsitikinti, kad- Na, yra įvairių būdų, kaip krūva. Galite rankiniu būdu įdėti į naujos eilutės simbolį Spausdinti naujos eilutės simbolį aidas, spausdinti naują eilutę. [Studentų] Taigi ECHO yra tas pats, kaip printf? Printf yra kaip C printf kur jūs spausdinate suformatuoti eilutę. Jūs tiekiame formato eilutę ir tada visi vietos rezervavimo ženklo kintamuosius. Tai dažnai kažkas, kad nėra naudojama pažiūrėkime, kaip dėl atsakomybės atsisakymo, Esu mažiau susipažinę su PHP, nei aš su kitais interneto kalbomis, ir kai aš užprogramuotas PHP Aš paprastai nereikia naudoti printf nes manau, kad greičiau naudoti string interpoliacijos galimybes, kad ji turi, kuriuos mes eiti į, ir aš jums parodysiu, po kelių minučių, o C tipo turi tai padaryti Hacky dalykas gauti jį atsispausdinti tinkamai. Jūs iš tikrųjų galite įdėti kintamieji tiesiogiai į stygos PHP. Printf yra pernelyg ilgas rūšies, ką aš paprastai padaryti. Taip, Ella. [Ella] Paprastai, jei jūs gaunate Sintaksės klaida: ar tai reiškia, kaip C nėra pasakyti, kur tiksliai yra klaida yra ir kas tai yra, taip, tai reiškia ieškoti per visą savo kodą ir figure it out? Tai paprastai tikslingesnis nei tai. Manau, kad tokiu atveju ji buvo šiek tiek ne, todėl manau, kad šiuo atveju mes trūko kabliataškį. Jis bandė prasmės viską, kas, taip, kaip šie interpretuojančioms kalboms, kad interpretatorius yra going to bandyti ir daryti viską tinkamai padaryti viską, darbą. Pamatysite, pavyzdžiui, "JavaScript" Jūs dažnai-line sakiniai baigiasi kabliataškiu, tiesiog, kaip jie yra PHP, kaip jie C. "JavaScript" kai kurie "JavaScript" interpretatoriai daug iš naršyklių sukurs kabliataškiais jums , jei atsitiktų, kad trūksta juos. Jie bus išbandyti ir prisitaikyti Niechlujstwo nors iš jūsų pusės. Štai kur ji gali būti bando ir bando ir bando padaryti dalykai darbas, ir galiausiai jis bus gauti iki taško, kur ji sako gerai, Aš negaliu padaryti ką dirbti teikiant pagalbą, ir tai yra, kai gausite eilutės numerį kad gali atrodyti šiek tiek off tikslią vietą. Gerai, kad galime eiti per tai tikrai greitai. Mes nerašomas su Ella, todėl galime pereiti prie Missy, ir Missy, ką spausdinti 1 plius skaičių eilutę 2 duoti jums? [Missy] 3. >> 3. Ar tai prasminga? Rūšiuoti? Ar tai suteiks jums numerį? Ar tai suteiks jums eilutę? [Missy] skaičius. >> Tai skaičius. Bet tai spausdinimą, todėl ji ketina duoti jums keletą rūšiuoti eilutę. Vienas dalykas, mes galime padaryti, check this out jei mes $ var = 1 + 2 ir tada mes sakome Aidas gettype, todėl mes naudojant trečiosios rūšies spausdinimo čia. Dabar mes galime pamatyti, kas vyksta čia. Štai ką mes turime, mes turime sveikąjį skaičių iš to. Nors mes buvome pridedant šią eilutę į numerį, mes ne gauti eilutę iš jo, kaip Missy sakė. Mes buvo gauti sveikasis skaičius. Gerai, kad galime pamatyti, next up, Kevin. CS + 50? >> [Kevin] 50. [Nate H.] 50. Ar tai prasminga? [Kevin] Taip. [Nate H.] Kodėl? Kodėl tai prasminga jums? [Kevin], nes tai tik eilutę, atsižvelgiant skaičiaus reikšmė lygi nuliui. Taip, puikus. Rūšies dviprasmiškų situacijų, bet tai gerai žinoti, kas atsitiks. Stella, kas vyksta šalia su skaičiumi 1 + styginių 2? [Stela] 3. >> 3 dar kartą. Ir šiuo atveju, mes gauname eilutę ar numerį? Leiskite duoti tai pabandyti. Kas nors greičiau kaip man gauti atsakymą? Charlotte? O, aš didn't gerai, pažiūrėkime, mes ketiname padaryti tos pačios rūšies dalykas , kai mes gavome skaičių plius eilutę, ir mes ketiname pakartoti tipas pamatyti, ką mes gauname. Mes taip pat gauti sveikasis skaičius. Nesvarbu, kuris iš jų yra eilutė, iš kurių vienas yra skaičius. Mes vis dar ketinate gauti sveikąjį skaičių. Jis vis dar ketinate daryti, ko galime tikėtis ateityje. Viskas gerai, todėl Sam apie 90 + 9 butelius alaus ant sienos? [Sam] 99 >> 99. Nėra alaus buteliai ant sienos, nors. Tai suteikia mums šiek tiek daugiau informacijos apie tai, kas vyksta. [Sam] Jei buvo parašyta 9 raidėmis tada jums reikės 90, tiesa? [Nate H.] Taip. Klausimas buvo, jei būtume parašyta 9 iš N-I-N-E mes Dotarłeś 99 arba 90? Gausime 90. Tai tiesiog tik ieškote skaitmenų simbolių. Tai nėra pakankamai protingas, kad pripažinti skaičių žodžius ir, kad kita. Taip. [Studentų] Ar yra toks dalykas, kaip typecasting PHP? Yra, ir tai lygiai taip, kaip norėtumėte daryti C. Ką apie 10/7, Charlotte? [Charlotte] 1,4285. [Nate H.] Taip, taip, kas gali būti keista, apie tai? Kas nutiktų, jei tu tą patį dalykas rūšiuoti, C, jei tu 10/7, C? [Charlotte] Tai tik suteiks jums priklausomai nuo to, kaip jūs typecasted Manau, jis duos jums tik ribotą skaičių skaitmenų po dešimtainio. Taip, kad ribotas skaičius skaitmenų po dešimtainės. Kas dar gali būti-tai suteiks jums jokių skaitmenų po dešimtainės? Dažnai nėra, todėl, priklausomai nuo to, kaip jūs typecasting jis gali arba negali konvertuoti jį su slankiojo kablelio skaičius. Čia jis buvo natūra malonu, kad jis tai padarė. Jei mes parodė jums atgal, kai mes pradėjome daryti šį stuff C tai tikriausiai padarė šiek tiek daugiau prasmės kad ji ne tik eiti į 1. Ir galiausiai, Jamie, ką apie 7 + tiesa? [Jamie] 8. >> 8. Ką tai reiškia? Aš manau, kad jis tiesiog suteikia tiesa vertė yra lygi 1. Taip. Kas atsitiks, jei mes pakeisti, kad false? [Studentų] 7. Taip, taip prisiminti, kur mes kalbame apie šių dvejetainius vertę, 1 -, 0 nebegavo? Dabar mes turime, tiesa yra 1, 0 yra klaidinga, ir tu gali ne mačiau tai C pavyzdžių, kad mes padarėme praėjusį semestrą, bet istoriškai bool C tipo nebuvo tikras tipas todėl žmonės naudojo 0 iki 1 true ir false vietoje. Tai, kad pasireiškimas. Gerai, kad viena svarbi dalis apie visa tai yra tai, kad mes turime šių skirtingų tipų. Jie gali bendrauti vieni su kitais. Jie dažnai gali bendrauti vieni su kitais taip, kad būtų gražus, kaip mes matėme čia. Tai malonu turėti eilutę 1 ir numeris 2, įtraukite juos kartu ir gauti 3. Tai turi prasmę. Tačiau, kai rašote svetainių, ir ypač, kai jūs apdoroti naudotojo įvesties, todėl sako, kad jūs parašėte internetinę formą , kuri renka informaciją iš vartotojo, ir tada eina jį apdoroti ant nugaros pabaigoje, savo PHP kode, serverio pusėje jei tikitės, kad vertę, kurią vartotojas turi įvesti ir pateikti į formą turi būti sveikasis skaičius arba būti zmiennoprzecinkową ar kažkas panašaus jums reikia aiškiai mesti jį ir tada padaryti kai kurie tipo tikrinimas. Jūs nenorite, tiesiog remtis šio tipo žongliravimas sistemos, kad viskas veikia, ypač dėl saugumo priežasčių ir tik į jūsų svetainę tvirtumą. Tiesiog kažkas, reikia nepamiršti, kad, kai jūs tvarkymo formos duomenis, nieko, kad ateina paštu arba gauti superglobals įsitikinkite, kad jūs visada jį įteisinti ir paversti ją ir Typecast jį. Ir kaip mes kalbėjome apie prieš akimirką tą typecasting PHP yra būtent tai, kaip C, kur jūs turite skliausteliuose ir tipas. Keep that in mind. Viena funkcija, kad bus naudinga, kai jūs darote tai mes naudoju ir tai yra natūra, kaip panaikinti mes buvome naudojant šią gettype funkciją čia išsiaiškinti kintamojo tipą, ir nors tai yra patogu, derinimo ir pamatyti, kas kintamojo tipas yra nenorite, tai, pavyzdžiui, sąlyga, jei jūs patikrinti, pamatyti, jei $ var = sveikasis skaičius gettype kažką daryti. Tai yra blogai, blogai, blogai. Vietoj to, šias funkcijas, vadinamas yra sveikasis skaičius, eilutę, masyvas, kad jūs norite naudoti vietoj, todėl šiuo atveju ką aš noriu padaryti, o ne čia šis vaikinas yra naudoti, yra sveikasis skaičius var. Ir jie dažnai vadinama yra is_ * ta prasme, kad galėtumėte pakeisti * su sveikojo skaičiaus, eilutę, ir tt, ir tiesiog įsitikinkite, kad tikrai greitai Ar tai yra int PHP. Atrodo, kaip jūs galite padaryti arba yra int arba yra sveikasis skaičius, taip pat? Taip, Alias, tiek int sveikasis skaičius slapyvardžiai. Cool. Kaip mes tai darome? Leiskite tempą šiek tiek. Dabar mes ketiname kalbėti apie masyvų, taip kaip matote kitą dalį spec mes kalbame apie tai, kaip masyvai PHP yra šiek tiek kitoks, nei jie yra C Tiesą sakant, jie rūšies amalgama matricos, kad jūs atėjote pažinti ir mylėti, C , kur viskas yra to paties tipo saugomi eilės ir Kaimynystėje atmintyje, ir jūs turite šiuos skaitinius indeksus. Turite indekso 0, 1 rodyklės 2, indeksas, ir išsaugoti šių indeksų vertes. Jūs taip pat C, kai rašė Speller, iš jūsų daug maišos lentelės metodą, o jūs matė, kad mes turėjome kur buvo fiksuoti įvairių rūšių saugojimo raktas į vertę, todėl, kai jūs bandė laikyti kažką maišos lentelė jūs turėjote nurodyti, kad jūs norėjote laikyti jį su tam tikru raktu, ir kad raktas nustatomas vertės vietą ir, jei jis bus saugomi. Jūs rūšies gavo abi šias sąvokas, vyksta tuo pačiu metu į PHP ir, kaip rezultatas, mes dažnai vadiname tuos Association masyvai kur mes esame susiejant raktą, vertės. Šiuo kitą dalį mes kalbame apie paprastą PHP kur mes turime raktus a, b, ir c, visos eilutės, kartografija sveikaisiais skaičiais 1, 2, ir 3. Ir jūs galite turėti įvairių tipų raktus. Jūs galite turėti kelis raktus, kurie yra stygos, kai raktus, kurie yra sveikieji skaičiai. Jūs galite turėti skirtingų tipų vertes. Jūs galite turėti reikšmę, kuri eilutė, vertė, kad sveikasis skaičius, vertė, tai objektas ar kitas masyvas, pavyzdžiui, visi toje pačioje masyvo objekto, kuris yra tipo keista. Jūs neturite turėti matrica, kad tiesiog gavo vienos rūšies elemento. Jūs galite turėti daug įvairių dalykų vyksta ten. Kitas dalykas, reikia pažymėti, kad, kai jūs darote savo kodą kažką panašaus į tai, , kuris galioja PHP paskelbti masyvą, kaip šis 0, 1, 2, 3, 4, 5, , kurie bus paskelbti inicializuoti $ arr šis masyvas. Bet tai, ką jūs iš tikrųjų gauti po gaubtu yra tokia numanomų raktus, kai mes gavome 0-0, 1 1, 2 2, 3 kartos iki 3. Ir paaiškėja, kad net jei jūs turite, kaip šis vaikinas masyvo čia kur jūs turite a, b ir c raktų ir tada pradėdami vartoti masyvo eksportavimo metodą pradėti naudotis šioje matricoje, pavyzdžiui, kamino, todėl jūs galite pamatyti, kad šis masyvas objektas, šis masyvas yra tikrai tampa perkrautas. Mes galime jį naudoti kaip masyvo. Mes galime jį naudoti kaip maišos lentelės. Mes galime jį naudoti kaip kamino. Kai jums pradėti stumti dalykų ant šio masyvo pirmas dalykas, kurį jūs stumti ant tos bus indekso 0 ir tada puslapis 1 ir 2 rodyklėje. Jūs galite gauti šį netiesioginio kartos raktų , nebent jūs juos aiškiai nurodyti. , Žinoma, yra taip, kaip jūs aiškiai nurodyti raktus naudojant Šis laikiklis žymėjimą, kuris yra panašus į masyvų, išskyrus, o ne tik leidžia sveikasis skaičius indeksai čia, dabar mes leidžiame nieko. , Jei norite, kad jūsų raktas į eilutę, galite nurodyti, kaip šis. , Jei norite, kad ji būtų int, galite nurodyti jį su int, kurį norite naudoti. Klausimai dėl, kad iki šiol? Vienas iš naudingų dalykų apie šią idėją yra, kad jūs galite tik kada nors turi vieną reikšmę, saugoma su tam tikru raktu. Jei mes grįžti į mūsų prietaiso leiskite man ištrinti kai kuriuos iš šių dalykų. Ir tarkim inicijuoti masyvą būti 0, 1, 2, padaryta. Jeigu aš dabar žinau, kad, pavyzdžiui, jei aš echo $ arr [0] Aš ruošiuosi gauti reikšmę "0", išspausdinti, ir kadangi gali apimti tik vieną reikšmę, saugomi tam tikrą raktą jei galiu laikyti kažką $ arr [0], tarkim, tada aš žinau, kai aš echo $ arr [0] dar kartą Aš nesiruošia gauti 0 atspausdinti kaip ir anksčiau. Aš tik ketina gauti. Taigi tai iš esmės sakydamas, kad aš negaliu turėti $ arr [0] saugoti 2 skirtingas vertybes. Jis negali saugoti ir 0, o string, kaip šis tiesiog pakeičia kas buvo $ arr [0] anksčiau. Priežastis, aš galiu tai padaryti paleisti jį, pamatyti, kas atsitiks. Čia, kad aš turiu 0 atspausdinti ir tada žemyn čia. Nėra jokios nauja eilutė, nes buvau tingus ir neišleido kad in Kas atvėsti apie tai mes galime naudoti kaip būdas užfiksuoti šią rinkinio idėja kur mes negalime turėti kelis raktus per masyvo. Mes negalime turėti identiškus per masyvo raktus. Aš negaliu turėti pagrindinį 0 ir vertė Vertė 1 ir pagrindinį 0 ir brangina arba raktas, 0 ir vertė tiesa. Mygtukai yra, "viskas yra tik 1 raktas masyve. Nors galite turi tokią pačią reikšmę, saugomą Kelis kartus masyvo pagal skirtingų raktų neįmanoma turėti vienodas raktus kelis kartus savo PHP. Jei pažvelgsime į šio Kita problema, unique.php, kur mes norime atverti PHP failą kuriame yra eilučių sąrašą, po vieną eilutę į kiekvieną eilutę, ir mes norime surasti visus iš unikalių eilučių tame faile visi mes turime padaryti, yra naudoti vieną iš šių lentos PHP eilutes į failą ir naudoti kaip raktų į šio masyvo ir nuolat atnaujiname mūsų masyvas, kaip mes saugome šiuos naujus raktus. Mes peržiūrime kiekvieną liniją Bylos mes galime laikyti masyve, ir pabaigoje turėsime kaip mūsų raktus mūsų masyvas visi iš unikalių eilutes failo viduje. Ar tai prasminga? Pažiūrėkime, kaip tai veikia. Mes ketiname atverti, pagal spec, naujas failas, kuris vadinamas unique.php. Atidaryti. Oi, atsiprašau, naujas failas. Mes ketiname pradėti nuo pat pradžios ir pabaigos žymes. Mes ketiname išsaugokite jį 9 skyriuje, ir mes ketiname jį vadinti unique.php. Gerai, dabar padidinti. Idėja yra atidaryti failą, skaityti eilutę failo eilutę. Kiekvieno failo eilutėje mes turime masyvą, kur mes turime  Mūsų pagrindiniai linija. Ir tada, kai mes gauname iki galo $ Arr raktai yra unikalus linijos iš failo, nes mes žinome, kad, jei aš įdėti eilutę į šio masyvo kelis kartus, jis bus tiesiog neatsižvelgti į senąją vertę, ir mes iš tikrųjų galite įdėti masyvo liniją kaip pati tiesiog patinka, kad. Tai tipo keistam. Mes saugoti tą patį pagrindinis vertės pora daugiau ir daugiau ir daugiau vėl, tačiau kadangi garantuojama, kad ten bus tik 1 raktas vadinamas linija todėl, jei mes turime failą, sako failą gyvūnų garsų ir tai yra ataudai, ataudai, Miau, miau, Moo, Moo, ir kiekvieną kartą, kai mes skaitome gyvūnų triukšmas out kaip atauduose ir mes saugome mūsų masyvas mes gauname ataudai, ir tada antrą kartą mes saugome ataudai jis bus perrašyti pirmas kartas, kai mes jį išsaugotą. Galų gale mes tik vieną įrašą masyvo už kiekvieną gyvūnų garsų mūsų gyvūnų garsų • failą. Ar jus vaikinai įsitikinę, kad jūs galite spręsti PHP failo atidarymą? Vienas iš būdų tai padaryti-eikime per šį greitai vienaip tai padaryti su fopen, kaip matėme anksčiau. Galite fopen some_file.txt. Jūs galite jį atidaryti skaitymui, kaip ir C. Kad vienas visiškai geras būdas tai padaryti. Jūs taip pat tada skaityti failo eilutėje turi tas pačias funkcijas, daugelis iš jų, ko jūs C. Turite fgets. Turite feof, nors mums nepatinka, naudojant tą nes, atsiminkite, kad nebuvo didelis C. Jūs galite tai padaryti taip pat, bet čia yra tikrai cool dalykas. Atsiprašau, aš nenoriu padaryti, $ failas, bet yra funkcija, vadinama failą PHP, ir ši funkcija čia yra kietas, nes jis nuskaito visą turinį Bylos, kad jūs nurodote, kad some_file.txt, skaito visą turinį šio failo į masyvą ir tada leidžia jums pakartoti per ją, kuri yra gana madingas. Jei mes einame, pavyzdžiui, į mūsų interneto naršyklę ir mes pažvelgti į "Google" PHP failą galite pamatyti čia, kad mūsų vadovas sako, kad failo nuskaito visą failą į masyvą, ir mes galime file_get_contents grąžinti failo turinį kaip eilutę, bet paprastai tiesiog gauti jį kaip masyvo yra tikrai gražus, nes tai, ką jis daro tai pertraukos jį taip, kad kiekvieną elementą masyvas yra viena eilutė iš failo, todėl, jei mes pažvelgti 0 failą, failo pirmoje eilutėje. Failas 1, antra eilutė, failą 2, trečia eilutė, ir taip toliau ir taip toliau. Ar nebūtų puiku, jei tai buvo viskas, ką turėjau padaryti, C? Gana madingas. Davidas parodė tai paskaitos ir idioma, jis parodė, kad Be mūsų standartas kilpa PHP mes turėjo, kad for ($ i = 0; i <10; i + +), ir jūs galite tai padaryti, PHP, tas pats mes taip pat turime šį atvėsti konstruktą, pavadintą foreach. Foreach yra tikrai patogu, kai iteravimu per masyvai arba šių duomenų struktūros nes jis leidžia jums ištraukti Kiekvienas masyvo elementas be būtinybės rankiniu būdu padaryti INDEKSAVIMAS sau, be būtinybės rankiniu būdu sukurti rodyklės kintamąjį, prieaugio, ištraukite masyvo vertę tuo momentu, nes tai labai dažnas dalykas, kurį reikia padaryti. Jūs tikriausiai padarė, kad kartais, kai jūs veikėte C stuff tonų per semestrą, todėl šiame foreach mes galime kilpa per šio failo masyvo, ir sintaksė yra tai, kad mes norime dabar kilpa per šio masyvo ir nurodyti, kad kintamasis, mes ketiname naudoti, laikyti šio masyvo elementas lokaliai vietos iki šio foreach kilpa, yra mes ketiname ją vadina linija. , Jei tai yra tik žodžiai failas ir yra vienas žodis linija galėtume vadinti žodį taip pat, tikrai tik jums duoti tai pavadinimą, ką jūs norite jį pavadinti, ir tada viduje kilpos galite daryti, ką norite Šis kintamasis linija. , Jei tai nėra pakankamai gauti iš masyvo vertę, ir jūs taip pat norite gauti kartu su juo indeksas galite nurodyti indekso pavadinimas taip pat vertė, ir dabar jūs turite prieigą prie 2 kintamųjų. Jūs turite $ i ir linija kur $ i masyvo indeksas, ir linija yra linija, kuri jums gauti iš failo. Pavyzdžiui, jei norime atspausdinti echo Line 0 failą tokį, koks, mes galime padaryti, kaip ir tai, "Eilutė $ i bylos yra $ linija" ir čia yra tai, ką mes taip pat dar nemačiau arba , kai aš tiesiog visiškai praleisti per visą šią% s% d verslo kad mes turėjome kovoti su C, ir vietoj to, aš atvyko tiesiai į raštu, atsižvelgiant kintamuosius savo eilutę. Tai vadinama kintamasis interpoliacija, styginių interpoliacija kur jūs įdaru kintamuosius teisę, ir PHP interpretatorius yra pakankamai protingas, kai jis skaito per eilutę, kuri prasideda kabutes ne apostrofai, su vienu simbolių eilutėse negali tai padaryti bet su dvigubų kabučių, stygos, nes jis skaito per jį žiūri su kintamaisiais. Jis medžiodamas juos žemyn, ir jei ji mano, kintamuosius, ji imsis kintamojo vertė ir kita ją į eilutę, jei ji gali konvertuoti jį į styginių atstovavimo, kuri yra gana madingas. Nes dabar, tegul komentaras iš viską, poilsio, išsaugoti tai, ir tai, ką mes galime padaryti dabar, mes galime atverti failą kad mes galime paskambinti some_file.txt-let 's sukurti naują failą ir mes galime įdėti į nesąmonė dalykų krūva čia tik bandymas viską, išsaugokite jį, skambinkite tai some_file.txt, kaip aš darau čia viršuje, ir dabar, jei aš nutolinti tiesiog įsitikinkite, kad viskas yra tame pačiame kataloge atrodo, kaip aš turiu unique.php ir some_file.txt tame pačiame kataloge. , Jei aš paleisti php unique.php pamatyti, kaip ji spausdina kiekvienos eilutės į mano bylą, ir kokia linija? Tai gana galingas, tiesa? Atrodo, jis paėmė 3 eilutes kodo atverti failą. Na, 4 eilučių kodo. Aš negaliu suskaičiuoti šiandien aiškiai. Bet tikrai tik 2 įdomių eilučių kodo, nes kiti 2 buvo garbanotas petnešos, , bet tai daug kodo mes galėjome atidaryti failą, per ją pakartoti, ištraukite eilutės numerį ir linijos ir atspausdinti jį. Cool stuff. Charlotte. [Charlotte] Turiu klausimų apie sintaksę. Taigi foreach pasiūlymus kiekvieną failą, kurį atidaryti linijos, ir tada, kai norite padaryti kažką su kiekviena linija jūs tiesiog padaryti jį kaip ir tada susieti vertę. [Nate H.] Ką jūs galite padaryti čia klausimas buvo foreach turi daryti su masyvo, todėl foreach sintaksė yra tikrai foreach "ir pamatysite, kad ten nėra vietos arba nieko tarp ir kiekvienas. Jie turi eiti vienas šalia kito, ir tada ji trunka masyvo, ir tada jūs turite šį kitą raktinį žodį vadinama, kuri turi būti ten, ir po, kaip galite arba įdėti vieną kintamojo pavadinimą, tokiu atveju jūs ketinate pasitraukė iš masyvo reikšmes, ne indeksai, arba jei jūs tai darote kaip parašiau žemiau gausite raktus ir vertybes. Turite foreach elementą iš masyvo masyvo ar porai užpleištuotos vertės arba tiesiog vertė. Priklausomai nuo to, ko jums reikia, jei jums nereikia raktus, tada jūs galite eiti su verte. Jei norite, raktai, galite eiti su jais. [Charlotte] Taip pat supratau, kad mes niekada pareiškė, i ar linijoje. Kaip jis net nežino, ką jie? [Nate H.] Ką reiškia deklaruoti? [Charlotte] Mes niekada papasakojo jiems, kas i arba eilutės reiškia. [Nate H.] Mes niekada sakė kompiuterį, ką aš linija reiškia, kalbant apie [Charlotte], kad jie indeksuoti arba, kad Jie- [Nate H.] Mes niekada nesakė, kad tai turėtų būti indeksas arba raktas ir vertė, ir tai yra todėl, kad tai PHP interpretatorius. Tai tarnauja kaip deklaraciją ir sako gerai, svarbiausia bus kintamasis vadinamas saugomi kintamasis vadinamas i. Vertė bus saugomi kintamasis vadinamas linija, todėl tai tarnauja kaip šių kintamųjų deklaracijos ir sako, $ i yra pagrindinis, ir $ linija vertė. Taip, Ella. [Ella] Jei raktus nebuvo padaryta skaitmeniniu būdu kaip jis sprendžia, kokia tvarka jis ketina spausdinti viską? Tai tiesiog patinka tvarka, ji įrašoma į? [Nate H.] Leiskite give it a try. Kurkime kintamasis vadinamas ARR, ir mes galime padaryti eina iki 7. Tarkime, kad 0 eina į kitą masyvą su 1, 2 arba Apple. Tarkime, 7 eina į 1, b eina iki 2, ir 3 eina iki 4. Tai rūšies crazy ieškote pavyzdžiui, todėl, kad mes maišyti styginiams ir sveikieji skaičiai visur. Nėra jokio realaus siekiant šio masyvo. Aš turiu galvoje, mes galime užsisakyti viską abėcėlės tvarka pagal klavišų. Mes galime užsisakyti viską abėcėlės tvarka pagal vertę. Galėtume pabandyti ir atsižvelgti į tai, kad kai kurie stygos, kai yra int, ir mes galime pabandyti ir konvertuoti juos visus į tos pačios rūšies ir žiūrėsime kas atsitiks, ar mes galime laikyti juos vertę, kurioje jau įrašyti į juos kai mes šį vaikiną pirmasis, tai antras vaikinas, tai trečiųjų vaikinas tai ketvirta, Et cetera vaikinas. Pažiūrėkime, kas atsitinka, kai mes paleisti šį kodą. Jei mes slinkite žemyn ir padaryti tos pačios rūšies dalykas, ir čia jis nespausdina naujų linijų. Kai jis perskaitė dalykų iš failo įskaitant naujų linijų reikšmes, kuris buvo, kodėl ji atspausdinti gražiai, o šiuo atveju jis to nepadarė, todėl tai, kodėl viskas yra smushed kartu. Pridėkime toje naujojoje eilutėje, tik, kad viskas gražus. Tegul iš naujo paleisti jį, ir todėl čia pažvelgti į tai, kas atsitiko. Jis atspausdintas viską tokia tvarka, kurioje mes įdėti ją į masyvo. Ji išsaugoti tvarką, šia prasme. Grįžtant prie šios problemos Unikalus kur mes norime, kad būtų galima pakartoti per failą, ir mes suteiksime jai some_file.txt, ir mes ketiname pakartoti per jį, kaip šis. Mes sakėme, kad mes norėjome naudoti masyvą įsitikinti, kad mes norime gavo visi unikalus linijos iš ten, ir mes galime padaryti, kad tikrai lengvai tiesiog saugoti masyve, kad mes, žinoma, ne kilpa, paskelbti, ir mums sakė, kad jei mes naudojome raktus eilutes faile mūsų masyvas įžengėme į pasikartojančius linija mes norime būti neatsižvelgti į ankstesnį vertę. Tai ne tik įmanoma, turi 2 raktus, kurie yra identiški tame pačiame masyve. Mes galime padaryti tik tai. Mes atsikratyti šio aido ataskaitoje čia. Čia mes saugoti eilutė faile mūsų masyvas naudojant kaip raktą. Niekas į jį, ir paaiškėja, kad mes net nereikia šį klavišą. Mums nereikia, kad aš kintamasis. Šiuo metu, jei mes padaryti kitą foreach kilpa ir mes buvome kilpa ant kiekvieno ARR ir linijos dabar, jei mes echo-Oi, atsiprašau. Mes negalime naudoti kablelį. Mes turime naudoti tai kaip raktinį žodį. Dabar, jei mes echo linija, mes turime gauti iš unikalių žodžių bylos. Jei mes einame į some_file.txt ir tegul sako, kad mes darome, obuoliai, bananai, obuolių, obuolių, bananų, jei mes spausdinti šį failą iš unikalių žodžių turėtume gauti tik obuolių ir bananų atsispausdinti. Jei mes taupome tai, dabar čia mes padidinti atgal Php unique.php, ir ta-da. Mes sėkmingai uniqued failą. Baigiamoji dalis šios problemos klausia galite rūšiuoti prieš šį masyvo Jums atspausdinti jį nes šiame paprastame pavyzdyje, kad mes ką tik padaryta mums pasisekė ta prasme, kad failų mes padarėme šį nenatūralu pavyzdį su obuoliais ir bananais. Jis jau buvo surūšiuoti. Tačiau naudojant paprasta rūšiavimo funkcija galite rūšiuoti masyvo, kuris yra gana madingas. Galutinis dalykas, aš norėjau kalbėti su jumis, vaikinai, apie tikrai greitai yra tai, kad toks PHP yra viskas gerai ir gerai, ir tai super patogu žinoti, kaip daryti, jei Jums kada nors reikės daryti mažai, greitai daikto programiškai. Pavyzdžiui, jei man reikia parašyti programą, kad, tarkim, kelia visiems į sekcijas, aš nesiruošia eiti ir rašyti C. Tai bus ilgas. Tai bus rūšies skausmas, ypač jei yra rinkmenomis, tik kaip jus vaikinai mačiau. Tai taip malonu, kad tik su šiuo daug code čia mes buvome gali zgrać per failą, ištraukti visas unikalias reikšmes ir spausdinti juos atgal. Tačiau jūsų užduotis, jūsų projektams, jei jūs kurti internetinius puslapius su PHP, kad galia yra mes veikia mūsų PHP failus per šį vertėjo ir vertėjas tvarko viską per PHP, paliekant visa kita nepaliesta ir spjaudytis iš rezultatų. Mes galime tai padaryti, sukurti HTML programiškai. Dabar, jei mes einame atgal į spec, paskutinė problema spec kalbama apie šios koncentracijų idėjos ir sukurti išplečiamojo meniu, kurį gali arba negali norite daryti, priklausomai nuo to, ką jūsų galutinis projektas daro, , kuri leidžia vartotojui pasirinkti iš visų galimų koncentracijų sąrašą jų viena koncentracija. Dabar, tai yra rūšies skausmas, įrašykite šią ir turi daryti visa tai rankiniu būdu, ypač jei jūs įsitikinkite, kad kad, jūs turite visas laužtiniuose skliaustuose tinkamoje vietoje ir visus citatos tinkamoje vietoje, su PHP, galite tai padaryti programiškai, ir jūs galite tai padaryti labai greitai. Pažiūrėkime, kaip tai padaryti. Mes ketiname atverti naują failą. Mes ketiname įdėti į mūsų PHP žymių. Mes ketiname jį vadinti concentrations.php, ir dabar, kai jūs darote tai, tipo geras dalykas galvoti apie kai bandote sumaišoma ir suderinti savo PHP ir HTML yra suprasti, gerai, kas yra dalis, kad aš noriu programiškai sukurti? Kokia yra dalis, kad galiu programiškai sukurti? Tai tiesa, kad jūs galite padaryti savo HTML viduje PHP blokų. Galite pakartoti, kaip stygos HTML. Pavyzdžiui, jei aš noriu pradėti daryti pasirinkite Žymos viduje PHP Galiu pasakyti, aidas, pasakyti, pasirinkite pavadinimas = koncentracija, ir tada žemyn žemiau aš turiu kitą echo tegus arba kitas echo vadinamas arti pasirinkti. Tai vienas iš būdų tai padaryti, nes tai, kas tai yra tiesiog ketinate daryti atsispausdinti šią eilutę, kai jis eina per PHP vertėjo, todėl rezultatas bus HTML. Jei išsaugosite šį failą tokį, koks jis yra dabar ir aš paleisti php concentrations.php pažvelgti, ką aš turiu. Aš gavau šį Atidaryti Uždaryti pasirinkite žymą. Jei aš būčiau tai padaryti, ir aš buvo įrašyti šį rezultatą į failą, pasakyti, concentrations.html-palaukti, atrodo kaip l perėjo į kitą pusę dabar, jei aš atverti čia concentrations.html matote, aš turėti galiojantį HTML failą. Ar tokia keista? Mes naudojame PHP sukurti HTML, kurti galiojantį HTML. Kaip mes darome tai yra, mes tiesiog PHP spausdinti HTML, kad mes norime, kad ji spausdinti. Tai yra tiesiog kaip PHP interneto svetaines, dirba. Kai apsilankote svetainėje, kad siunčia jus į kažką panašaus į kažkas, kažkas, kažkas dot com įžambus brūkšnys index.php kompiuteris yra tiesiog iškviesti index.php, paleisti jį per PHP vertėjo, ir neatsižvelgiant į šiukšlių išeina ji atsiuntė atgal į naršyklę ir sako: hey, naršyklė, interpretuoti tai kaip HTML. Malonus dalykas yra tai, kad ji gali būti skausmas nuolat rašyti echo, echo, echo, echo ir pridėti viską į kabutes, kaip šis, todėl, jei norite rašyti HTML, kad ketina būti statinis save jūs galite tai padaryti, kaip tai, jį lauke, uždaryti, ir tada čia jūs tik įdėti viduje PHP žymių, kad jūs žinote, norite programiškai kurti, ir šiuo atveju tai yra tie variantas žymės kad yra skausmas kurti. Pavyzdžiui, mes galime sukurti tūkstantį variantas žodžius daryti kažką panašaus į tai, $ i <1000, i + + ir sako: echo sandorių vertės = $-oi, aš negali padaryti, kad. Ką gi, give it a try ir pamatyti, kas atsitiks. $ I ir tada sakydamas $ i