[Powered by Google Translate] [Oddelek 8] [manj udoben] [Nate Hardison] [Harvard University] [To je CS50.] [CS50.TV] Dobrodošli na naši predzadnji točki. V tem tednu bomo govorili o PHP, in nato naslednji teden potrudili se bomo malo oceno za kviz 1. Bomo začeli na strani 3 tega problema postavlja paket, in bomo delo z oddelkom vprašanj precej hitro. Na strani 3, smo začeli govoriti o tej razliki med C in PHP v smislu, da je PHP dinamično vnesli jezik, ker je C statično tipkajo, in je kdo res hitro narediti vse šifre v nekaj podobnega PHP ali Python ali Ruby pred JavaScript? Popolnoma novo? Ok. Vse od teh jezikov, da sem omenil so zelo drugačni od jezikov, kot so C in C + + in Java v smislu, da ko ugotovi spremenljivko vam ni treba prijaviti kakšne spremenljivke je, da v C smo obtičali ob vedno govoril To se bo int spremenljivka, ali ta se bo char spremenljivka * ker s PHP, Python, s z Ruby, z veliko več teh modernih jezikov vam ni treba storiti, da sploh ne. Ti samo ugotovi svojo spremenljivko, in v primeru PHP lahko ugotovi, da je spremenljivka, da ga prefixing z $ znakom, in potem je tip spremenljivke določi glede na vrednost, ki jo drži, ki je nekako kul. Da bi se igral s tem malo, imamo kodo vzorca PHP tukaj v času med oznakami začetka in konca. Mi smo z uporabo te vrste, kot so HTML, v smislu, da imamo te kotne oklepaje tukaj za odpiranje in zapiranje. Videli boste to s HTML. Videli boste enako vrsto skladnje z XML preveč. To kaže na začetek bloka PHP. To? Php je specifična za PHP. Smo blizu vse, kar je z> kot dobro. Odprimo se datoteke v napravi z uporabo našega karkoli želite. V tem paketu je zapisano, da pokličete dynamic.php. V resnici, ga lahko pokličete, kar želite, vendar je ime datoteke bo prišlo do in je pomembno kasneje, zato samo ne pozabite, kar vam rečejo. Jaz grem za preklop naprave, in jaz bom, da bo imenik za oddelek 9 Verjamem, da smo na zdaj. In bomo šli v oddelku 9, in bom uporabila gedit. Poglejmo, gedit in bom poklical rudnik dynamic.php. Boom. V dynamic.php, saj je to PHP datoteke in želim teči skozi to tolmač PHP Moram začeti vse off s temi odprtimi oznakami, tako da bom za začetek tiste pravice stran, dam malo prostora med oznakami, in potem smisel te vaje je bil igral z Ta funkcija je gettype, tako gettype, to funkcijo tukaj. Obvestilo, da ni podčrtaj ali presledek ali vezaj ali kaj podobnega ločuje od 2 besedami, dobili in tip, le eno besedo v celoti. Ampak kaj bo to storiti, je, če grem mimo v spremenljivko za gettype, pravijo, $ var ali $ x, to bo mi povej vrste v obliki odpravljanje napak Kaj je ime te vrste je. Mi bomo tukaj eksperimentirati. Še posebej, če se ozremo na pset spec imamo nekaj različnih vrstic kode tukaj. V prvi vrstici kode se zažene te spremenljivke, $ var, da je enak 7, in potem imamo to vrstico printf , ki pravi, hej, printf var je prazen. Printf je eden od načinov, da lahko natisnejo stvari v PHP. Pogosto boste videli odmeva funkcijo, ki se uporablja namesto printf, printf vendar smo vsi seznanjeni z ki so bili kodirani v C za nekaj časa. Kaj lahko dejansko narediti je, da vidimo, če je kopiranje in lepljenje dela. Bom dal to poskusiti. Mi bomo vrnili čez na napravo. Ok, pa gremo. In razdalja je malo funky, ampak tukaj smo. Imamo to kodo tukaj. [Študent] Ali ni dobro ime, da ga kartica? Prosim? [Študent] Je običajna, da ga kartici? V redu, torej Sam sprašuje, če je dogovor, da ga kartici ali ne. Ponavadi ja. V tem primeru sem se odločil, da ne bo. Resnično, boste videli različne stvari med različnimi programerjev. PHP se ponavadi uporablja pogosto v kombinaciji s HTML in drugih jezikih, in tako včasih pri tiskanju videti malo funky če alinea v začetku PHP in končne oznake. Res je odvisno. V tem primeru tako ni kopiraj in prilepi, ne prilepite jezičke v mene, vendar pa zagotovo ne, kot si rekel, da bo bolj jasno. V redu, če shranite to kodo v dynamic.php potem kaj lahko naredite, je prišel na svoj terminalsko okno, kjer sem prav tukaj v gedit ter narediti enakovredno zbere z znamko in nato teče kodo v C Vse kar morate storiti z datoteko PHP je zagon tolmača PHP, kar je malo program, imenovan PHP, in argument daš na tolmača je datoteka, ki jo želite interpretirati. V tem primeru dynamic.php. Ups, kam sem jo dal? Oh, sem ga dal v oddelku 9, in zdaj sem tu. To je, zakaj. Zdaj, če sem teči še enkrat vidimo, da je v svojem prvem klicu funkcije gettype var je celo število. V naslednjem var 1 je niz, nato pa v tretjem 1 var je logična. Zanimivo pri tem je, če se pomaknete nazaj vidimo, da To so tipi, podobne tistim, ki smo jih imeli v C. Imeli smo ints v C. Mi nekako imel nizov v C, tako da strune niso povsem zakonit tip v tem smislu, da naša CS50 niz je bil res kaj? Prosim? Missy? [Missy] Char *. Ja, to je ta char * smo uporabili. Na samem začetku semestra smo s pomočjo niza vrsto, vendar je bilo res char * pod pokrovom. Vpišemo samo določene, ker so ti v PHP nizi so dejanski vrsti. Nič več te stvari char * tipa. Videli boste, da lahko naredimo še veliko več stvari, s strunami veliko lažje v PHP, kot smo lahko v C, in nato končno imamo to boolean tipa, in velika razlika v tem, da če se pomaknete nazaj vidimo, da se ime te vrste Zdaj celo, niz, logična namesto int in bool, in kot ste pick up različne programske jezike, ob predpostavki, da je na neki točki v vašem življenju boste prišli v stik s Različne tisti, ki jo boste opazili malo quirks, kot je ta kjer je C poziva cela števila ints. Nekateri pravijo cela števila. Obstajajo tudi drugi pogoji, ki jih boste vodijo v. Big int smo danes videli v SQL. Obstajajo tudi število in nato int, boolean, vse vrste razlik tam. To ni grozno zanimivo, zdaj pa bom dal malo časa, če bomo povečali nazaj na delo, s tem uresničevanje na dnu strani 3 ko se sprašuje, kakšne vrste ujemati s temi vrednotami tukaj na dnu. Imamo 3,50. Imamo to stvar tukaj, kar je zanimivo. Nismo videli prej, vendar, če ste bili po skupaj v predavanju ste verjetno že veste, kaj to je. Potem pa imamo to, kar je nekako funky. Poznaš to. Kaj je to v C? Sam? Kaj bi to dal v C? To bi odprli datoteko, imenovano dynamic.php in da je berljivo. Ja, in kaj bi bil tip spremenljivke, ki bi dodelite to? Zvezdico datotek. >> Točno tako, bi določite to datoteko zvezda. To je legitimno PHP preveč. Run to. Oglejte si, kaj se zgodi, ko se boste peljali, da v gettype. In potem tudi preveriti, kaj je nična, kaj bi to lahko bilo v PHP. Dal vam bom nekaj minut. Lahko dobesedno kopiranje in lepljenje teh vrednot v, in potem bomo naredili nekaj naključno klic na vas in videti, kaj imaš. [Študent] Imam vprašanje. << Ja. V enem od predavanj David je rekel, da je nekaj, kar lahko dajo na vrhu datoteke tako da vam ni treba vnesti v PHP vsakič. Kaj je to? Verjetno je govoril o britanski bang, bang razpršene. To je direktiva, da če označite datoteko kot izvršljiv potem kaj počne, ko zaženete datoteko da bo povedal lupinski program uporabljati PHP tolmača za razlago vsebine datoteke. Vprašanje pa, kaj je bilo to posebno linijo da bi lahko tudi na vrhu našega PHP datotek ni potrebno vključiti Ta postavka PHP ali je ta ukaz PHP, kadar želimo izvesti datoteko? In lahko dejansko to s kupom različnih datotek. Mislim, da je odvisno od tega, kje je shranjena binarna PHP, vendar pogosto usr / bin / php je dober kraj za začetek. Lahko ugotovimo, točno to, da greste nazaj v svojo napravo in tipkanje, kateri php. Katero ukaz Številke, ko ste izvršitve binarno ali ukaz, kjer je ustrezno datoteko. To mi je povedal, da je res PHP aliasing to binarno datoteko , ki je shranjena v usr / bin, ki je, kjer so nameščeni veliko sistemskih binarnih datotek. Na primer, če se pomaknite do vrha, zdaj, ko sem dal to #! vrstica tukaj Lahko se pomaknite navzdol in sem lahko poskusil zagnati dynamic.php, vendar sem dobil to napako o zavrnitvi dovoljenja se, in kaj to pomeni, da ta slika trenutno ni izvršljiv daje dovoljenja. Ni označen kot datoteke, ki jih lahko nekdo teči. Ko ste zagnali naredijo ali Jek in imaš izvedljivo iz nje prevajalnik je bil dovolj pameten, da veš, da hej, jaz gradim izvedljivo. Verjetno si želite izvesti, tako da bi samodejno konfiguracijo dovolilnice za vas. To ne drži, čeprav, ko boste ustvarili normalno datoteko iz nič, Razlog, ki se običajno ne želite, da so vse datoteke na vašem sistemu izvršljiv, tako da boste dejansko morali iti in ročno narediti. Najlažji način za to je z ukazom chmod, in chmod + x pravi, dodamo malo izvedljivo ker je branje malo, ko se delni bit in izvršljiv bit, r, w in x, in bo rekel chmod + x vklop izvršljiv bit potem za spis, ki ga določi organ, ki bo v tem primeru treba dynamic.php. [Študent], ki je vključena za vse? Poglejmo tole, na kakšen način bi lahko preverim, da vidim dovoljenja? Ali veste, kako sem preverite dovoljenja za datoteko? [Neslišno študentski odziv] Žal mi je? >> [Študent] XSD. XSD nam datoteke v hacks. Seznamom vseh datotek,-l, bo pokazal mi je vse datoteke na mojem imeniku nekako v svojem dolgem seznamu, verbose, zato tukaj vidimo, da Ta datoteka dynamic.php Čas zadnje spremembe: 5. november ob 16:21. Lastnik te datoteke je jharvard. To je uporabnik, ki je prijavljen To si bom, kot da delajo, in če ste tudi v aparatu ste tudi delal kot jharvard uporabnika. Ti si v skupini študentov, in to so stvari, ki jih boste videli dovolj pogosto. Lahko gremo v veliko podrobnosti, tukaj, vendar za večino del, kaj želite gledati, ko ste hoteli videti, ali je datoteka izvedljiva, je v prvi vrsti uporabnik, ki je lastnik te datoteke, lastnik, tako da to jharvard, nato pa smo dovoljenji, bitov tukaj na levi strani, in na način, da se glasi je, da je zadnji korak Običajno se uporablja za označevanje ali ne, vsaj v tem primeru Ta zadnji korak bo pogosto postavljajo na oglas, ki označuje da datoteka je imenik in ne le navadne datoteke. Potem naslednje 3 biti prav tukaj določitev dovoljenja, ki je lastnik datoteke, je tako da v tem primeru jharvard, kot lastnik datoteke, lahko bere in piše datoteke in s tem vendar pa je dejal, da pomišljaj jharvard ne more izvesti te datoteke. Naslednjih 3 bitov za skupino, tako da je to skupina študentov, tako da, če bi bilo več uporabnikov na mojem aparatu, in smo imeli več uporabnikov kot del skupine študentov, potem lahko vsi prebrali to datoteko, vendar ne morem pisati, in da tudi kdo drug, svet lahko samo branje te datoteke, kot tudi. Tam je dobro, če writeup o tem, Tako si lahko preberete na spletu. V spec problem set gremo v to bolj podrobno. [Študent] Je 218 se nanaša na svetu? The 218 se-off vrhu moje glave sem pozabil, ampak ne. Pa poglejmo. Jaz sem slepo o tem prav zdaj. Nazaj na kar smo bili na tem, da s tem chmod + x kjer smo želeli dati dynamic.php dovoljenja izvršljiva, in vprašanje je, ali bi to lahko izvršljiv dovoljenja za vsakogar ali samo jharvard, pa smo lahko videli tako, izvaja ukaze in ukazom ls-l, in zdaj smo videli, da je označena kot izvršljiv. Vidite, da je sprememba barve. Zdaj je dynamic.php navedene v zeleni barvi, in izgleda, da je odgovor na vprašanje, kaj je Charlotte? [Charlotte] Samo jharvard. >> Le jharvard, ja. Če bi želeli spremeniti izvedljivo bit za vsakogar kako bi lahko to naredil? Vsak misli? >> + X? Ja, točno tako. Charlotte je rekel, da lahko naredimo chmod + x iz leta dynamic.php, in zdaj, če smo teči ls-l vidimo, da so izvedljive bitov Dejansko se vklopi za vsakogar. In lahko dejansko narediti ravno nasprotno kot to, da jo lahko izključite za vse z minus. Zdaj je izklopljen, in zdaj lahko spet vklopite za jharvard tako da bomo lahko dejansko deluje zdaj, in zdaj, ko smo videli teči kodo to posebno #! vrstica na vrhu, #! line, je povedal lupino, je povedal naš terminal, hej, ko teče ta datoteka, uporabo / usr / bin / php razložiti to sliko in nato natisnete rezultat. [Neslišno študentski vprašanje] Seveda, mi se pomaknete nazaj. Tako kot to. Videli boste vse te direktive začnejo z funta in potem klicaj, včasih imenujemo shebang, razpršene pok. [Študent] Kako ga lahko zaženete s dynamic.php php, preden naredimo to izvedljivo? Vprašanje je bilo, kako lahko izvajamo to z binarno PHP medtem ko dynamic.php ni izvedljiva? To je super pomembna, ker je to točno, kako da se bo delo, ko pišete težave sklop 7. Večino časa datotek PHP niso neposredno izvršljiva. Tako, da deluje, ker je PHP binarna, da je izvršljiv. Tolmač je stvar, ki se je izvršen, in kaj se počne dobesedno srkanje na celotno vsebino naše dynamic.php datoteke in poteka po vrsticah in izvajanju teh ukazov, tako da je z našo datoteko PHP kot seznam navodil. Ni ga neposredno izvajanje. To je, če rečemo, da so te datoteke razlagati v času izvajanja. To je čas delovanja jezik namesto nečesa, kar se določi v času prevajanja, Ne zbrati jezik kot C. Ali obstaja način, da se jezik teči čas, da deluje, kot da je čas prevajanje jezikov, všeč, če imate vse zaganjanje opravil na strežniku ne, saj veš, kaj mislim? Ja, tako je vprašanje, Ali obstaja način, da se izvajajo jezikov čas, da deluje bolj kot zbere vrst časovnih jezikov? In tam so, mislim, da je aktivno področje raziskovanja, za veliko teh podjetij. Menim, Facebook je naredil veliko delo s PHP in ga pripravi navzdol, zaradi česar je hitrejši, je optimizacija saj je njihova spletna stran temelji na PHP. Če ste bili po node.js na vse, , ki je neke vrste tolmač JavaScript da se lahko vozijo JavaScript zunaj brskalnika, izven spletnega brskalnika, ker bi tradicionalno JavaScript šele teči znotraj Firefox ali Chrome, in bi ga uporabili, da bi kul animacije zgodilo na spletni strani in da vaše spletne strani dinamično. , Ki je bila zgrajena na veliko delo, ki ga je Google naredil da, JavaScript in C + + vežejo skupaj, tako da je veliko dejavnih raziskav na se ti jeziki za interakcijo in optimizacijo jim, predvsem zato, ker lahko tako veliko ljudi kodo v PHP in JavaScript zato, ker je veliko lažje. To je veliko lepši. Nimaš kazalca. Nimaš vrst plava okoli. Želeli so, da pridobijo koristi od tega Čas za prevajanje jezikov vse vrste preverjanja in hitrost in nižjo porabo pomnilnika in vseh, ki medtem ko še vedno ohranja prožnost in enostavnost uporabe teh novejšimi. Nazaj na naš prvotni načrt napada. Imamo nekaj od teh vprašanj tukaj v naši spec problem set. Gremo skozi njih zelo hitro, in bomo šli po sobi. Charlotte, kakšne vrste je 3,50? [Charlotte] To je dvojna. >> To je dvojna. Jimmy, kaj je to drugo? >> Matrike. Matrika, super, in Jared, kaj je fopen? [Jared] je vir. >> To je vir. To je nekako novo, ne datoteka zvezda, ne datoteke. To je vir vrste v PHP, in žal mi je, Ella, zadnja null, kaj? Null. Nič, kako je zapisano v PHP? >> Enak način. Na enak način prestolnici? >> Ja. Ja, v redu. Takole, imamo dvojna, imamo niz, imamo vir in potem imamo nično. Poglejmo sedaj ste videli, Poglejmo, zdaj mislim, da tisto, kar želim tudi storiti, je, potegnite navzgor Ta spletna stran tukaj, to php.net / navodila Torej, če vi kopirate to in odpiranje spletnega brskalnika. Grem dvigni Chrome, je dal to notri Rad bi vam pokazal to ne samo zato, ker Lahko govorimo ves dan o vrstah in vse to zabavno stvari ampak zato, ker je to uporabo PHP in obstaja veliko PHP programerjev tam. Obstaja veliko spletnih strani PHP tam, in kot rezultat, je veliko dokumentacije o PHP, in navodila, to php.net je res dober kraj za iti kadar imate vprašanja o tem, kaj je najboljši način za to X v PHP ali kaj funkcija izgleda? Tako nekako seznanjanja s tem, kaj to izgleda, ker boš tukaj prihaja pogosto, malo za problem iz 7. Če boste na koncu delaš končni projekt, ki uporablja PHP To bo kraj, boste postali zelo dobro pozna. Pogosto je način, kako ljudje to je, da uporabite Google za iskanje spletne strani, in če ne uporabite polje za iskanje, ki je tukaj v zgornjem desnem kotu, ki je nekakšna majhna. Če ste po Googling nekaj storiti s PHP in boste videli eden od fizične povezave pop up lahko običajno zanašajo na to, kot dokaj dober vir. Super, torej od teh tipov, samo iz radovednosti, tisti, ki so se nisva videla? Vse, kar še nismo videli tukaj? [Študent] vira. >> Videli smo vir z fopen klic. [Študent] objektov. >> Objekti nismo videli zagotovo. Callbacks nismo videli. Obstajajo nekatere od teh lažnih vrst. Vsekakor videl samo celo število in dvojno. Nismo videli nekaj drugih, tako da če kliknete na celih lahko vidimo, ali obstajajo kakršne koli druge cela, da imajo tukaj? Ali so vsi, tako celo, celo, celo. Nekateri jeziki imajo večje celo število vrst, kot smo videli na MySQL danes ni bilo int in nato velik int. Kul. Torej, PHP navodila. Vrnimo se na naš spec problem set, in bomo zdaj pomaknite na 4. strani. Ena od stvari, ki se zgodi, ko dobite te jezike , ki nimajo te statično tipkanje, tako da ti jeziki kjer imate prijaviti tip spredaj spremenljivo do se vam primere, kjer lahko začnete ob spremenljivk različnih tipov interakcija s seboj, in PHP pa to stvar, kjer se poskuša narediti kaj meni, da je najbolj smiselna stvar če imate 2 različni vrsti med seboj. Na primer, če pogledamo na teh vrstic kode tukaj boste videli, da smo dojeli, kaj se zgodi, ko poskušamo dodati niz 1 do 2 celo število. Kaj se zgodi, če poskušamo dodati niz, ki ni številčna vrednost ampak dejanski znaki, CS na številko 50? Potem bomo videli, ali je še kaj drugačna, če se to zgodi namesto da bi dodali niz za številne bomo dodajali število v nizu, in tako naprej in tako naprej do točke, ko bomo dobili nekakšen čuden stvari tukaj, kjer smo dobili 7 + res. Kaj za vraga to pomeni? Če greste naprej in prilepite nekaj te kode v napravo. Lahko ga hranite v dynamic.php. Bomo videli, kaj se bo zgodilo. [Študent] Samo uporabite tisk, ne printf? Ja, boste ugotovili, da tisk je tudi veljavna funkcija za tiskanje v PHP. Obstaja veliko različnih načinov za to početje. Bomo videli, z nekaj primerov kasneje, ko bomo začeli govoriti o edinstveni problem, ki ga bomo napisali in nato koncentracije problem, ki ga bomo napisali da čeprav imamo fopen in fclose to pogosto ni najenostavnejši način, da se glasi v vsebini datoteke. PHP ima veliko C-teh, kot holdovers. [Študent] Ko sem dal v vseh 6 teh stvareh sem dobil samo eno številko kot izhod. [Nate H.] Ko si dal v vseh 6 teh stvari. Poglejmo, je to zato, ker je mogoče, Ena stvar je, da so ti klici tiskanje ne konča na koncu, z novimi linijami. Nobenega novega črta, ki ločuje vsakega od teh razpisov tiskanja, tako da morda ste dobili eno veliko številko, in to je res samo zmes novih znakov vrstic. [Študent] Ok, kako zagotoviti, No, obstaja kup različnih načinov. Lahko ročno dal v tisk nove linije značaja, odmeva nov lik linije, natisniti nove proge. [Študent] Torej odmev, je isto, kot printf? Printf je kot C printf če tiskate oblikovan niz. Ti oskrbujejo ji oblikovnega niza, nato pa vse ograde spremenljivk. Pogosto je nekaj, kar se ne uporablja, Poglejmo, kot odpoved, Jaz sem manj seznanjeni s PHP kot jaz z drugimi jeziki spletu, in ko sem sprogramiral v PHP, jaz ponavadi ne uporabljajo printf ker se mi zdi hitrejši za uporabo zmogljivosti, interpolacija niz, ki ga ima, ki bomo šli v ti bom pokazal v samo sekundo, ker je v C smo nekako morali narediti Hacky stvar, ki mi ga je izpisal pravilno. Lahko dejansko spremenljivk neposredno v nizih v PHP. Printf je nekako preveč časa za to, kar sem ponavadi. Ja, Ella. [Ella] Na splošno, če boste dobili Napaka pri razčlenjevanju to pomeni, kot na C pa ne pove, kje je napaka in kaj je, tako pa to pomeni pogled skozi svojo celotno kodo in pogruntal? To je običajno bolj ciljno kot to. Mislim, da v tem primeru ni bilo malo off, zato menim, da v tem primeru smo bili manjka podpičje. To je poskušal smisel vsega, Tako kot ti razumel jeziku, tolmač bo poskušal in po svojih najboljših močeh, da vse deluje pravilno. Videli boste, na primer, v JavaScriptu Pogosto boste Spletna izkazi konec s podpičjem tako kot počnejo v PHP, tako kot to počnejo v C. V JavaScriptu nekaj tolmačev JavaScript v veliko brskalnikov bo dal v podpičji za vas Če se zgodi, da se jim manjka. Ti bom poskušal namestiti nekaj površnost na vaši strani. To je, če bi se poskuša in poskuša in poskuša, da bi stvari dela, in na koncu bo prišel do točke, kjer piše v redu, Ne morem, da se stvari delajo na bailing, in da je, kjer boste dobili številko vrstice da se zdi malo off od tistega kraja. Ok, gremo skozi to zelo hitro. Smo končali z Ello, tako da gremo v leto Missy, in Missy, kaj tisk niza 1 plus 2 številki vam? [Missy] 3. >> 3. Ima to smisel? Nekako? Ali vam številko? Ali se vam niz? [Missy] število. >> To je številka. Ampak to je tiskanje, zato se dogaja, da vam neke vrste niza. Ena stvar, ki jo lahko storite, da preverite to je, če naredimo $ var = 1 + 2 in potem rečemo odmev gettype, tako da smo z 1/3 vrste tiskanja tukaj. Danes lahko vidimo, kaj se dogaja tukaj. Tu kar imamo, je, da imamo celo število iz tega. Čeprav smo dodali ta niz na številko, Nismo dobili niz iz njega, tako kot Missy dejal. Smo dobili celo število. V redu, pa poglejmo, naslednjič gor, Kevin. CS + 50? >> [Kevin] 50. [Nate H.] 50. Ima to smisel? [Kevin] Ja. [Nate H.] Zakaj? Zakaj je smiselno, da vas? [Kevin] Ker je samo ob niza, ki ima ničlo številko vrednosti. Ja, super. Nekako dvoumnih situacij, vendar je dobro vedeti, kaj se dogaja. Stella, kaj se bo zgodilo s številko 1 + 2 niza? [Stella] 3. >> 3. znova. In v tem primeru, bomo dobili niz ali število? Dajmo to poskusiti. Je kdo hitrejši od mene dobil odgovor? Charlotte? Oh, jaz Nisi-v redu, pa poglejmo, bomo narediti isto reč kjer imamo številne plus niz, in bomo echo vrsto, videli, kaj smo dobili. Prav tako smo dobili celo število. Ni važno, kateri je niz, ki je ena številka. Še vedno se dogaja, da bi dobili celo število. Še vedno gre za kaj lahko pričakujemo. V redu, Sam, kaj pa 90 + 9 steklenic piva na zidu? [Sam] 99. >> 99. Ni steklenic piva na zidu, čeprav. To nam daje nekaj več informacij o tem, kaj se dogaja. [Sam] Če bi napisal 9 črkami potem bi imeli 90, kajne? [Nate H.] Ja. Vprašanje je bilo, če bi mi napisal 9, kakor N-I-N-E bi si dobil 99 ali 90? Radi bi dobili 90. To je dobesedno samo iščejo mestno znakov. To ni dovolj pameten, da priznajo, da število besed in podobno. Da. [Študent] Ali obstaja kaj takega kot typecasting v PHP? Tukaj je, in to je točno tako, kot bi to v C. Kaj pa 10/7, Charlotte? [Charlotte] 1,4285. [Nate H.] Ja, pa kaj bi bilo presenetljivo glede tega? Kaj bi se zgodilo, če si to isto reč v C, če si 10/7 v C? [Charlotte] To bi le, da boste, odvisno od tega, kako typecasted mislim, da bi vam le omejeno število znakov za decimalno. Ja, tako je omejeno število znakov za decimalno. Kaj drugega bi bilo, bi vam vse decimalke? Pogosto ni tako zopet odvisno od tega, kako ste ga typecasting je lahko ali pa ne pretvoriti v plavajoči število točk. Tukaj je nekako lepo, da je to storil. Če bi pokazala, ti to nazaj, ko smo začeli delati takšne stvari v C Verjetno bi na malo bolj smiselno da ne pojdite na 1. In potem končno, Jamie, kaj pa 7 + res? [Jamie] 8. >> 8. Kaj to pomeni? Mislim, da samo daje resnično vrednost 1. Ja. Kaj se zgodi, če bomo spremenili, da je neresnično? [Študent] 7. Ja, spomnim ko govorimo o teh binarnih vrednosti, 1 je na, 0 pa dol? Zdaj imamo res, 1, 0, je napačen, in morda ne boste videli to v primerih C, ki smo jih storili v preteklosti ta semester, av zgodovini je bool tip C ni pravi tip, Tako so ljudje navajeni 0 in 1 v kraju resnično in lažno. To je odraz tega. Ok, tako da je eden od pomembnih del o vsem tem je, da imamo te različne vrste. Lahko vplivajo drug na drugega. Pogosto lahko med seboj na način, ki je prijazen, kot smo videli tukaj. Lepo je, da bi lahko imeli niz 1 in številko 2, jih dodajte skupaj in dobili 3. To ima smisel. Vendar, ko pišete spletnih strani, še posebej, če ste predelave uporabnik vložek, tako pravijo, da si napisal spletnega obrazca da zbira informacije od uporabnika, in nato, da jo obdela na zadnjem delu, na strani strežnika v vašem PHP kodo če ste pričakovali, da se vrednost, ki si jih vnesli v in predložili na obrazcu za celo število ali za plavajočo število točko ali kaj podobnega morate izrecno odda in naredite nekaj preverjanje tipov. Če ne želite, da opirati le na ta sistem tipa, žongliranje, da bi stvari izšlo, predvsem zaradi varnostnih razlogov in samo za trdnost vaše spletne strani. Samo nekaj, da ne pozabite, da se vedno, ko ravnanje podatke obrazcev vse, kar prihaja v mesto ali dobili superglobals poskrbite, da boste vedno potrditi in se preoblikoval in jo typecast. In tako kot smo govorili trenutek pred tem typecasting v PHP je popolnoma enak kot v C, če imate oklepajev in potem tip. Imejte to v mislih. Ena funkcija, ki bo prišel prav, ko to počnete je, da smo bili z uporabo, in to je nekako kot prahi, smo bili z uporabo te funkcije gettype tukaj ugotoviti vrsto spremenljivke, in ko je to priročen za odpravljanje napak in videti, kaj je spremenljivka tipa je ne želite uporabljati to, na primer, v stanju, ko boste preverjali, če gettype od $ var = celo nekaj narediti. To je slabo, slabo, slabo. Namesto tega so te funkcije je celo pozval, je niz, je niz, ki ga želite namesto tega, da je v tem primeru kaj bi rad naredil namesto tega tipa tukaj se uporaba je celo var. In oni so pogosto sklicuje, je is_ * v smislu, da bi lahko zamenjal z * celo, string, in tako dalje, in tako zagotoviti zelo hitro to je int php. Izgleda, da lahko naredite kar koli je int, ali se je celo, kot tudi? Da, alias, tako int cela vzdevki. Kul. Kako delamo? Naj ujeti ritem malo. Zdaj bomo govorili o polja, tako da lahko vidite V naslednjem delu spec govorimo o tem, kako v PHP nizi so nekoliko drugačne, kot so v C. V resnici, oni so neke vrste amalgam se plošča, ki ste jih spoznali in ljubezen v C kjer je vse iste vrste shranjeni zaporedno contiguously v spominu, in imaš te številske indeksov. Imate indeks 0, indeks 1, indeks 2, in shranjevanje vrednosti v teh indeksov. Prav tako v C, ko si napisal speller, veliko vas vam razpršene tabele pristop, in ste videli, da smo imeli Drugačna skladišča, kjer smo kartiranje Ključ do vrednosti, tako da, ko si se potrudil, da shranite nekaj v hash tabelo boste morali določiti, da si želel, da ga shranite s posebnim ključem, in da je ključno določiti lokacijo vrednosti in kje se shranijo. Vi ste nekako dobil obe od teh pojmov dogaja ob istem času v array PHP, in kot rezultat, smo pogosto imenujemo asociativne nize kjer smo se povezujejo na tipko na vrednosti. V naslednjem delu govorimo o preprosti niz PHP kjer imamo ključe A, B in C, vse strune, preslikava s številkami od 1, 2 in 3. In lahko imate ključe različnih tipov. Lahko imaš nekaj tipk, ki so strune, nekaj tipk, ki so cela števila. Lahko so vrednosti različnih vrst. Lahko imajo vrednost, ki je niz, vrednost, ki je celo, vrednost, ki je predmet ali drugo polje, na primer, vsi v istem objektu diod, kar je čudno. Saj ni treba imeti niz, ki je pravkar dobil eno vrsto elementov v njem. Lahko imaš veliko različnih stvari se dogaja tam. Druga stvar je tudi omeniti, da ko boš videl kaj takega v kodi, ki velja PHP prijaviti niz, tako kot je to, 0, 1, 2, 3, 4, 5, da bo razglasila initialized $ arr za to polje. Ampak, kaj ste dejansko dobili pod pokrovom je ta vrsta implicitne generacija ključev, kjer smo dobili 0-0, 1-1, 2-2, 3-3. In izkazalo se je, da tudi če imate niz, kot je ta fant tukaj če imate, B in C, kot so ključi in potem začneš z metodo matrike naročeno, da začnete uporabljati to vrsto kot kup, tako da lahko vidite, da je ta niz objekt, je ta matrika res postaja preobremenjena. Uporabljamo ga lahko kot matriko. Lahko ga uporabljate kot hash tabele. Lahko ga uporabljate kot dimnik. Ko začnete potiskajo stvari na tem polju Prva stvar, ki si nataknite to bo indeks 0 in nato 1 in indeks indeks 2. Lahko dobite te vrste implicitnega generacije tipk razen če jih izrecno navesti. Način, kako določiti ključe izrecno, seveda s pomočjo tega nosilca zapisa, ki je podobna nizi razen namesto da samo dovoljuje celoštevilskih indeksi v tukaj, zdaj smo lahko ničesar. Če želite, da vaš ključ za niz, bi si ga določite, kot je ta. Če želite, da je int, ga določite z int ga želite uporabiti. Vprašanja o, da do sedaj? Ena od lepih stvari o tej ideji je, da lahko vedno le eno vrednost, shranjeno s posebnim ključem. Če se vrnemo v naše naprave, dovolite mi, zbrišite nekaj te stvari. In recimo, da sem inicializirati array biti 0, 1, 2, opravljeno. Če Zdaj vem, da, na primer, če sem echo $ arr [0] Jaz bom dobil vrednost 0 natisne, in ker ni mogoče vedno samo ena vrednost shrani za določeno tipko če sem kaj hranite v $ arr [0], recimo, potem vem, kdaj sem echo $ arr [0] ponovno Jaz ne bo dobil 0 natisne kot prej. Jaz sem samo še. Torej, to je v bistvu rekel, da ne morem imeti $ arr [0] shranjevanje 2 različni vrednosti. Prav tako ni mogoče shraniti 0 in niz se, kot je to dobesedno nadomešča kaj je bilo $ arr [0] prej. Razlog, da sem omenjati je teči, kaj se bo zgodilo. Glej tukaj, da imam 0 natisne in nato tukaj. Ni nova linija tam, ker sem bil len in nisem dal to notri Kar je pri tem pa je lahko to uporabimo kot način ujeti to idejo sklopa če ne moremo imeti več tipk v polju. Ne moremo imeti enake tipke v matriko. Ne morem imeti ključno 0 in vrednost 1 in ključne 0 in vrednost za ali tipko 0 in vrednost res. Tipke so vse obstaja samo 1 ključ v polje. Čeprav lahko imate enako vrednost, shranjeno večkrat v matriki iz različnih ključev da ni mogoče, da imajo enake tipke večkrat pojavi v vašem PHP array. Če pogledamo ta naslednji problem, unique.php, če želimo odpreti datoteko PHP vsebuje seznam nizov, en niz na vrstico, in želimo, da bi našli vse edinstvene nizov v datoteko Vse kar moramo storiti je, da uporabite enega od teh PHP nizi in uporabo nizov v dokumentaciji od ključev za ta niz in vodi posodabljanje našo vrsto, kot smo shranili te nove ključe. Kot beremo vsako vrstico iz datoteke lahko shranite v polje, in na koncu bomo imeli v naših ključe v naši matriki vse edinstvene nize znotraj datoteke. Ima to smisel? Poglejmo, kako to deluje. Bomo odprli, glede na spec, novo datoteko z imenom unique.php. Odpri. Ups, se opravičujem, nova datoteka. Bomo ga začnete z oznakami isti začetni in končni. Bomo ga shranite v oddelku 9, in bomo rekli unique.php. Ok, zdaj povečate palca Ideja je odpreti datoteko, berejo v skladu datotek s črto. Za vsako vrstico v datoteki da bomo imeli množico, kjer imamo  linija, kot je naš ključ. In potem ko pridemo do konca tukaj Tipke $ arr je so edinstvene linije Iz spisa, saj vemo, da če sem dal linijo v tem polju večkrat, da bo kar naprej nujnimi staro vrednost, in lahko dejansko dal niza črte v kot sama kar tako. To je čudno. Mi shranjevanje isto ključno vrednost par znova in znova in znova, ampak ker smo jamči, da bo samo 1 ključ imenujemo linija tako da, če bomo imeli datoteko, ki pravi-datoteke živalskih zvokov in ima hov hov,, mijav, mijav, moo, moo, in vsakič, ko smo prebrali živali hrup iz hov, kot smo jo shranite v naši matriki dobimo hov in nato še drugič hranimo hov, da prepiše prvič, da smo ga shranili. Na koncu bomo imeli samo en vnos v matriki za vsako od živali, zvokov v našem spisu živali zvoke. Ali vi prepričani, da lahko reševanje odprtje datoteke v PHP? Eden od načinov, da to storite, pojdimo v tem hitro-en način, da to storite je z fopen, kot smo videli prej. Si lahko fopen some_file.txt. Lahko ga odprete v načinu branja, tako kot v C. To je ena povsem dober način, da to storite. Prav tako pa za branje v datoteko po vrsticah imajo enake funkcije, mnogi od njih, ki si jih naredil v C Imate fgets. Imate feof, čeprav mi ni všeč, da uporabljate saj se spomnite, da ni bilo veliko v C. To lahko storite na enak način, ampak tukaj je res super stvar. Žal mi je, ne želim narediti $ datoteka, vendar je funkcijo imenovano datoteko v PHP, in ta funkcija tukaj je super, ker je zapisano celotno vsebino iz spisa, ki ga določite, da some_file.txt, prebere celotno vsebino tega dokumenta v matriki nato pa vam omogoča, da izbirate nad njim, kar je precej eleganten. Če gremo na primer na naši spletni brskalnik in gledamo na Googlu datoteko PHP si lahko ogledate tukaj, da naš priročnik pravi, da datoteke prebere celotno datoteko v array, in bomo lahko file_get_contents vrniti vsebino datoteke kot niz, vendar običajno šele dobili kot matriko je res lepo, ker kaj počne se ga razdeli tako, da je vsak element V matriki je ena vrstica datoteke, tako da, če pogledamo datoteko 0, to je prva vrstica datoteke. Slika 1, druga vrstica, slika 2, tretja vrstica, in tako naprej in tako naprej. Ali ne bi bilo lepo, če bi bilo vse, kar bi moral storiti v C? Precej eleganten. David je pokazala to v predavanju, in idiom je pokazala, je bila da poleg našega standarda za zanke v PHP, da smo imeli for ($ i = 0; i <10; i + +), in lahko to storite v PHP preveč, isto- imamo tudi to kul konstrukt, imenovan foreach. Foreach je zelo priročen, ko ponavljanjem nad polji ali teh podatkovnih struktur saj vam omogoča, da izvlečete vsak element matrike ne da bi morali storiti ročno indeksiranje sami, ne da bi morali ročno ustvariti indeks spremenljivko, jo prirastek, izvlecite vrednost v matriki, na tej točki, ker je to zelo pogosta stvar. Verjetno ste to storili ton časih, ko ste počeli stvari C Sprehodite se po polovici, tako da s tem foreach smo lahko zanka v tem datotečnem array, in skladnja je, da želimo zdaj zanke nad tem polju in določite, da je spremenljivka bomo uporabili za shranjevanje element tega sklopa na lokalni ravni, lokalnega obsega te zanke foreach, se bomo, da ga pokličete linijo. Če je datoteka le besede in da je ena beseda v vrstici Lahko bi call it besedo, kot tudi, res samo daš to ime, karkoli želite poklicati ga, in nato znotraj zanke lahko narediš karkoli hočeš s tem spremenljivo linijo. Če to ni dovolj, da se vrednost polja, in tudi vi želite, da bi dobili Indeks skupaj z njim pa lahko določite ime za indeks kot tudi vrednost, in zdaj imate dostop do 2 spremenljivk. Imate $ i in linija če $ i indeks v polju, in linija je linija, ki jih pridobijo iz spisa. Na primer, če smo želeli natisniti odmeva črto 0 do datoteke, kot je ta, Lahko bi to naredil tako, kot je ta, "Line $ i do datoteke je $ vrstici" in tukaj je nekaj, kar smo prav tako nismo videli niti če sem prav popolnoma preskočijo% tega celotnega poslovanja s% d da smo morali obravnavati v C, in namesto tega sem šel naravnost pisno spremenljivke v skladu mojem nizu. To se imenuje spremenljivka interpolacija, interpolacija niz če ste polnjenje spremenljivke desno, in tolmač PHP je dovolj pameten, ko se obravnava skozi niz, ki se začne z dvojnimi narekovaji, ne enojnih narekovajih, z eno kotirajo na strune si tega ne more storiti, vendar z dvojnimi kotirajo na strune, kot je zapisano skozi, kar je iskal spremenljivk. To jim lov navzdol, in če vidi spremenljivke bo trajalo, da bo vrednost spremenljivke in jo stlačiti v nizu, če ga lahko pretvorite v niz zastopanje kar je zelo eleganten. Za zdaj, kaj je komentar še druge vsega, razen tega, in kaj lahko sedaj naredimo je, da lahko odprejo datoteko da lahko rečemo some_file.txt, kaj je ustvarjanje novih datotek in bomo lahko v kup neumnosti stvari tukaj samo za testiranje vse ven, ga rešili, pravijo some_file.txt, saj delam tu gor na vrhu, in zdaj, če sem pomanjšavo samo se prepričajte, vse, kar je v istem imeniku, izgleda, da imam unique.php in some_file.txt v istem imeniku. Če bom tekel php unique.php videli, kako se natisne vsako vrstico v datoteki in kaj je vrv? To je zelo močna, kajne? Poglej, to je 3 vrstic kode za odpiranje datoteke. No, 4 vrstic kode. Ne morem prešteti danes, jasno. Ampak res samo 2 zanimive vrstic kode, saj je drugi 2 sta bili zavite oklepaje, vendar v tem zakoniku toliko smo uspeli odpreti datoteko, ponovitev prek njega, izvlecite številko vrstice in črto sam in ga natisnite. Cool stvari. Charlotte. [Charlotte] Imam vprašanje glede sintakse. Torej foreach ukvarja z vsakim vrsti datoteke, ki jih odprete, in potem, ko hočeš narediti stvari z vsakim črto si to naredil kot in nato povežejo vrednost. [Nate H.] Kaj lahko storite tukaj, je bilo vprašanje, the foreach ima opraviti z matriko, tako da foreach sintaksa foreach je res, in obvestilo, da ni prostora ali karkoli med in za vsakega. Imajo pravico iti drug poleg drugega, in potem je potrebno v matriki, in potem moraš to drugo ključno besedo imenovan kot da je tam, in potem ko je, kot si lahko bodisi dal eno ime spremenljivke, V tem primeru se boste lahko umaknili vrednosti matrike, ne indeksi, ali če vam je kot smo že napisal pod boste dobili ključe in vrednosti. Imate foreach element matriki ali par matrike so zaščiteni, da se vrednost ali samo vrednost. Glede na to, kar potrebujete, če jih ne potrebujete ključe, potem lahko greš z vrednostjo. Če želite ključe lahko greš z njim preveč. [Charlotte] Spoznal sem, da nikoli razglasil i ali linijo. Kako je vedel, kaj so? [Nate H.] Kaj mislite s tem prijaviti? [Charlotte] Nikoli jim povedal, kaj sem, ali postavka sredstev. [Nate H.] Mi nikoli ni povedal, kaj sem računalnik ali vrstica pomeni v smislu, [Charlotte] To si jih indeksira ali they're- [Nate H.] Mi nikoli rekel, da je to naj bi bil indeks ali ključ in vrednost, in da je zato, ker je to PHP tolmača. Ta služi kot deklaracija in pravi redu, ključ se bo spremenljivka imenovan i shranjen v spremenljivko, imenovano i. Vrednost se bo shranjen v spremenljivko, imenovano linijo, tako da ta služi kot deklaracija teh spremenljivk in pravi, $ i je ključen, $ vrstica vrednost. Ja, Ella. [Ella] Če se tipke ne opravi številčno kako se odločiti, kaj bi to bo natisniti vse? Je to tako kot je vrstni red je vpisana v? [Nate H.] Dajmo poskusiti. Naj ustvarite spremenljivko, imenovano arr, in lahko storimo, gre za 7. Recimo, 0, odide v drugo matriko z 1, 2 ali jabolko. Recimo 7 gre v 1, b gre za 2, in 3 gre 4. To je nekako noro videti, na primer zato, ker smo mešanja godala in cela števila po vsem mestu. Ni realno, da bi ta niz. Mislim, lahko bi naročiš vse v abecednem vrstnem redu po tipkah. Mi lahko odredi vse po abecedi glede na vrednost. Lahko bi poskusili upoštevati, da so nekatere strune, nekateri so ints, in bi lahko poskusili in pretvorbo jih vse do iste vrste in videli, kaj se bo zgodilo, ali bi jih lahko upoštevali pri vrednosti, v katerem smo jih že začeli kjer smo se tega tipa v 1., ta fant v drugi, ta fant v tretjih državah, ta tip v 4., in tako naprej. Poglejmo, kaj se zgodi, ko zaženete to kodo. Če smo se pomaknite navzdol in delati isto reč, in tu je ne tiskanjem novih linij. Ko je prebral stvari iz spisa, je bilo tudi novih priključkov v vrednosti , ki je bila zato natisne lepo, ker tukaj ni, tako, da je, zakaj je vse skupaj smushed. Naj dodamo v tej novi vrstici, da se stvari lepo. Naj ga ponovi, zato tukaj poglej kaj se je zgodilo. To natisne vse, kar je v vrstnem redu, v katerem smo jo dal v array. To pa ohraniti red v tem smislu. Če se vrnemo k temu problemu uniques če želimo, da bo lahko izbirate v datoteko, in bomo ji some_file.txt, in bomo Ponovil nad njo, kot je ta. Rekli smo, da želimo uporabiti matriko zagotoviti, da bomo dobili vse edinstvene linije ven, mi pa bi lahko naredil, da je res enostavno le za shranjevanje v array, da smo seveda izjavi zunaj področja zanki in mi dejal, da če smo se vrstice v datoteki kot ključi v naši matriki če smo vstopili v dvojno črto bi morali biti nujni prejšnjo vrednost. To ni vedno mogoče imeti 2 ključe, ki so enaki v istem polju. To lahko storimo le to. Bomo znebili tega odmeva izjava tukaj. Tukaj smo shranjevanju v datoteki v naši matriki se uporabi kot ključ. Nič mu, in izkazalo se je, da sploh ne potrebujete te tipke. Ne rabimo, da sem spremenljiva. Na tej točki, če bi naredil še en foreach zanke in smo bili v zanki v vsakem ARR in postavka zdaj, če bomo echo-ups, se opravičujem. Ne moremo uporabiti vejico. Uporabiti moramo, da je to ključno besedo. Zdaj, če želimo ponoviti črto bi morali dobiti vse edinstvene besed v datoteki. Če gremo do some_file.txt, in recimo, da bomo jabolko, banana, jabolko, jabolko, banana, če tiskate vse od edinstvene besed v tej datoteki, moramo le še jabolko in banana natisniti. Če rešimo to, tukaj bomo povečali nazaj, php unique.php, in ta-da. Smo uspešno uniqued datoteko. Zadnji del tega problema vas prosim, da razvrstite to zbirko, preden ga natisne ker v tem preprostem primeru, ki smo jih pravkar naredil smo imeli srečo v smislu, da je dokumentacija, smo to izmišljene primer z jabolki in bananami. To je že urejeno. Ampak s preprostim funkcije razvrščanja lahko razvrstite niz, ki je zelo eleganten. Končni stvar, ki sem se želel pogovoriti z vami o zelo hitro je, da je ta vrsta PHP vse lepo in prav, in to je super priročno vedeti, kako to storiti, če boste kdaj morali narediti malo, hitro stvari programsko. Na primer, če moram napisati program, ki pravijo, Vsem postavlja v oddelkih ne bom šel in ga napišite v C. To bo še dolgo. To bo neke vrste bolečino, še posebej, če so vključene datoteke, tako kot ste vi videli. To je tako lepo, da je s tem le toliko oznako prav tukaj nam je uspelo iztrgati prek datoteke, izvlecite vse enolične vrednosti in jih natisnite nazaj. Vendar pa je za svoje naloge, za svoje projekte, če ste izgradnjo spletne strani s PHP moč je, da pohiteti naše PHP datotek prek tega tolmača, tolmač obdeluje vse znotraj oznak PHP, pri čemer vse ostalo nedotaknjeno in izpljunil rezultate. To lahko storimo za izgradnjo HTML programsko. Torej, če se vrnemo k spec, zadnji problem v spec govori o tej ideji koncentracij in ustvarjanje spustni meni, ki jih lahko ali pa ne želite storiti, je odvisno od tega, kaj tvoj zadnji projekt gre, ki omogoča uporabniku, da izbere iz seznama vseh morebitne koncentracije njihova ena koncentracija. No, to je neke vrste bolečine na vrsto tole in imajo vse to narediti ročno, še posebej, če imate, da poskrbite, da da imate vse kotne oklepaje na pravem mestu in vse citate na pravem mestu, tako da s PHP lahko to programsko, lahko pa to zelo hitro. Pa poglejmo, kako to storiti. Bomo odprli novo datoteko. Bomo dal v naših PHP oznakami. Bomo rekli concentrations.php, in zdaj, ko to počnete, nekako dobra stvar, da razmišljajo o če hočeš, da se premeša in se ujemajo z vašo PHP in HTML-ju je poskušal ugotoviti, v redu, kar je del, ki ga želim ustvariti programsko? Kaj je tisti del, ki lahko ustvarijo programsko? Res je, da lahko narediš vse HTML Notranjost PHP blokov. Lahko echo vse HTML kot strune. Na primer, če želim začeti početje izberite oznake znotraj PHP Lahko rečem, odmev, pravijo, da izberete ime = koncentracija, in nato spodaj sem lahko še odmeva oznako ali drugega echo pozval blizu izberete. To je eden od načinov, da to storite, saj je to tisto, kar je dobesedno naredili se izpiše tega niza, ko je pognal skozi tolmač PHP, Tako bo rezultat HTML. Če shranim datoteko, kot je zdaj jaz pa sem tekla php concentrations.php poglej, kaj imam. Imam ta odprt tesno izberite oznako. Če bi bil jaz za to in jaz sva se, da shranite rezultat v datoteko, pravijo, concentrations.html-počakajte, izgleda, da je l prešel na drugi strani, Zdaj, če sem odprla tukaj concentrations.html vidiš, da ima veljavno datoteko HTML. Je to čudno? Mi smo z uporabo PHP ustvariti HTML, ustvarite veljaven HTML. Pot smo to počeli je, da smo si samo ob tiskanja PHP HTML, da želimo, da natisniti. To je dobesedno, kako PHP spletne strani delajo. Ko obiščete spletno stran, ki vam pošilja na nekaj podobnega Nekaj, nekaj, nekaj pika com poševnica index.php Računalnik je dobesedno kliče gor index.php, da teče skozi tolmač PHP, in kar pride ven smeti to je spet pošilja v brskalnik in rekel: hej, brskalnik, to razlagajo kot HTML. Za lepo stvar je, da je lahko bolečina nenehno pisati odmev, odmev, odmev, odmev in priložiti vse v narekovajih, kot je ta, da če hočeš pisati HTML, ki se bo statična sami, lahko to storite tako, dal ven, ga zaprete, in potem sem samo dal notri PHP oznak, ki jih poznate želite ustvariti programsko in v tem primeru je ta možnost oznake da so bolečine za ustvarjanje. Na primer, lahko ustvarimo več kot tisoč oznake izbirne s tem, kaj takega, $ i <1000, i + + in pravijo vrednost opcije = $ echo-Ups, tega ne morem storiti. No, pa da ga poskusite in videli, kaj se bo zgodilo. $ I, nato pa rekel $ i