[Powered by Google Translate] [Odjeljak 8] [Manje Ugodno] [Nate Hardison] [Sveučilište Harvard] [Ovo je CS50.] [CS50.TV] Dobro došli u naš drugi na zadnjem dijelu. U ovom tjednu ćemo pričati o PHP, a zatim sljedeći tjedan ćemo učiniti malo recenziju za kviz jedan. Mi ćemo početi na stranici 3 od problema postavlja paket, a mi ćemo raditi kroz dio pitanja prilično brzo. Na 3. stranici smo počeli govoriti o tom razlikom između C i PHP u smislu da je PHP dinamički upisali jezik, dok C statički je upisali, i je li tko stvarno brzo obaviti nikakve kodiranje u nešto poput PHP ili Python ili Ruby prije, JavaScriptu? Totalno novo? Ok. Sve od tih jezika koje sam spomenuo su vrlo različit od jezika kao što su C i C + + i Java u smislu da kada proglasiti varijable ne moraju deklarirati kakav varijable je, pa je tako u C smo zapeli da se uvijek reći ovo će biti int varijabla, ili će to biti char * varijabla, dok s PHP, s Python, Ruby, s s puno više ovih modernih jezika nemate učiniti da na sve. Vi samo deklarirati svoju varijablu, te u slučaju PHP izjavljujete da je varijabla ga prefiksa s $ znakom, a zatim tip varijable određuje bez obzira na vrijednost to drži, koja je vrsta cool. Da se poigrati s ovim malo, imamo primjere PHP kod ovdje između početka i završetka tagova. Mi koristimo ovu vrstu kao HTML u smislu da mi imamo ove kutnika ovdje za otvaranje i zatvaranje. Vidjet ćete ovo sa HTML. Vidjet ćete istu vrstu sintakse s XML previše. To ukazuje na početak PHP bloku. Ovo? Php je specifična za PHP. Mi zatvoriti sve s?> Kao dobro. Ajmo otvoriti datoteku u našem aparatu pomoću god želite. U ovom paketu kaže nazvati dynamic.php. U istinu, možete ga nazvati kako god želite, ali ime datoteke će doći do i biti važna kasnije, pa samo se sjeti što god ga zovu. Idem prebaciti na aparatu, i ja ću napraviti imenik za poglavlje 9 Vjerujem da smo na sada. A mi ćemo ići u odjeljku 9, a ja ću koristiti gedit. Hajdemo vidjeti, gedit, a ja ću nazvati mina dynamic.php. Boom. Unutar dynamic.php, budući da je to PHP datoteka i želim pokrenuti ovaj kroz PHP tumača Moram početi sve off s tim otvorenim oznakama, pa ću za početak te odmah, dati sebi malo prostora u između tagova, , a zatim je točka ove vježbe je bio da se poigrati s ova funkcija zove gettype, tako gettype, ovu funkciju ovdje. Primijetit ćete da nema je podvlačenje ili prostor ili crticu ili bilo što slično Odvajanje dvije riječi, dobiti i upišite, samo jednu riječ uopce. No, što će to učiniti je ako sam proći u varijable gettype, recimo $ var ili $ x, ovo će mi reći kakve u debugging formatu što je ime tog tipa je. Mi ćemo eksperimentirati ovdje. Konkretno, ako se osvrnuti na pset spec. imamo nekoliko različitih linija koda ovdje. U prvoj liniji koda smo inicijalizirati ovu varijablu $ var, biti jednak 7, a zatim smo ovaj printf liniju koji kaže hej, printf var je prazan. Printf je jedan od mnogo načina možemo ispisati stvari u PHP. Često ćete vidjeti echo funkciju koristi umjesto printf, ali printf svi smo upoznati sa što je kodiranje u C za neko vrijeme. Ono što zapravo može učiniti je da vidimo ako preslikati djela. Ja ću dati ovo probati. Mi ćemo se vratiti preko aparata. Ok, i tamo ćemo ići. I razmak je malo funky, ali ovdje mi ići. Imamo ovaj kod ovdje. [Studentski] Nije li to dobar stil da ga karticu? Molim? [Studentski] Je li to konvencionalni da ga kartici? Točno, pa Sam pita ako je konvencija da ga kartici ili ne. Obično da. U ovom slučaju sam izabrao da ne. Iskreno, vidjet ćete različite stvari među različitim programera. PHP se obično koristi često u kombinaciji s HTML i drugim jezicima, pa ponekad ispis će izgledati malo funky ako alineje unutar PHP početak i kraj oznake. To stvarno ovisi. U tom slučaju kopiranje i lijepljenje nije zalijepite kartice u za mene, ali to definitivno ne, kao što ste rekli, da je jasnije. U redu, ako spremite ovaj kod u dynamic.php onda ono što možete učiniti je doći do svog prozora terminala gdje sam upravo ovdje dolje u gedit, i to u protuvrijednosti od sastaviti pomoću napraviti i onda trčanje koda u C sve što morate učiniti s PHP datoteka je pokrenuti PHP tumača, što je mali program pod nazivom PHP, a argument koji mu tumača je datoteka koju želite interpretirati. U ovom slučaju, dynamic.php. Joj, gdje sam ga stavio? Oh, ja sam ga stavio u poglavlju 9, a ovdje sam. To je razlog zašto. Sada, ako sam pokrenuti da ponovno vidimo da je u mom prvom gettype funkcija poziva var je cijeli broj. U sljedećem jednom var je string, a zatim u trećem jednom var je boolean. Što je zanimljivo o tome je li mi dođite natrag gore vidimo da To su vrste slične onima koje smo imali u C. Imali smo Ints u C. Mi vrsta imala konce u C, tako da žice nisu bile potpuno čitljiv putovanja u smislu da naša CS50 niz je stvarno ono? Molim? Missy? [Missy] Char *. Da, bilo je to char * smo koristili. Na samom početku semestra smo pomoću string tipa, ali to je stvarno char * ispod haube. Mi smo samo upišite ga definirati, dok je u PHP ove žice su stvarni tip. Nema više ovog char * Tip stvari. Vidjet ćete da možemo učiniti mnogo više stvari sa žice puno lakše u PHP nego što smo mogli u C, i onda na kraju, imamo ovaj boolean tipa, a velika je razlika ovdje je da ako mi pomicanje natrag dolje vidimo da je ime ove vrste sada su cijeli, gudački, a boolean umjesto int i bool, i kao što ste pokupiti različite programske jezike, uz pretpostavku da u nekom trenutku u vašem životu ćete doći u dodir s različiti one koje ćete primijetiti male Igra riječima kao što je ovaj gdje je C zove prirodna broja Ints. Neki ga zovu cijeli brojevi. Postoje i drugi uvjeti koje ćete izvoditi u. Big int smo vidjeli danas u SQL. Tu su i broj i onda bool, boolean, sve vrste razlika postoji. To nije strašno zanimljivo, ali sada ću vam dati malo vremena- ako smo povećali natrag van raditi kroz ove vježbe na dnu stranice 3 gdje se pita što vrste odgovaraju tim vrijednostima ovdje na dnu. Imamo 3,50. Imamo ovu stvar ovdje, što je zanimljivo. Nismo vidjeli da je prije, ali ako ste pratili zajedno u predavanju što vjerojatno već znate što je to. Onda imamo ovo, koja je ovo vrsta funky. Vi prepoznati. Što je to u C? Sam? Što bi vam to dati u C? To će otvoriti datoteku pod nazivom dynamic.php i učiniti ga čitati. Da, i što će biti tip varijable koje bi mi dodijelili to? >> File zvijezde. Točno, mi bi dodijeliti ovo datoteke zvijezde. To je legitimno PHP previše. Run to. Pogledajte što se događa kada prođe da u gettype. A onda je također provjeriti što je nulta, što bi to moglo biti u PHP. Ja ću vam dati par minuta. Vi doslovno možete kopirati i zalijepiti ove vrijednosti u, a onda ćemo napraviti malo slučajan poziv na vas i vidjeti ono što je dobio. [Studentski] imam pitanje. << Da. U jednom od predavanja David je rekao da postoji nešto što se može staviti na vrhu svoje datoteke tako da ne morate upisati u PHP svaki put. Što je to? On je vjerojatno riječ o funta praskom, mljeveno meso praska. To je direktiva da ako označite datoteku kao izvršnu onda ono što čini je kada izvršiti datoteku to će reći program ljuska koristiti PHP tumača interpretirati sadržaj datoteke. Pitanje se što je to posebna linija da bismo mogli uključiti na vrhu naših PHP datoteka ne moraju uključivati ovo PHP linija ili ovo PHP naredba kad god želimo izvršiti datoteku? A što zapravo može to učiniti s hrpom različitih datoteka. Vjerujem da to ovisi o tome gdje PHP binarni je pohranjena, ali često usr / bin / php je dobro mjesto za početak. Možete shvatiti to točno tako da odete natrag dolje na vaš uređaj i upisivanjem koji php. Koje naredbe figure out kada ste izvršenja binarni ili naredba gdje je odgovarajuća datoteka. To mi govori da je PHP je stvarno aliasing to binarna datoteka koji je pohranjen u usr / bin, što je, gdje puno od binarne datoteke sustava su instalirani. Na primjer, ako sam dođite do vrha, sad da sam stavio ovo #! linija ovdje Ja mogu pomicati prema dolje, a ja mogu pokušati pokrenuti dynamic.php, ali ja dobiti ovu pogrešku o dopuštenje se odbija, i što to znači je da ovaj dokument nije trenutno daje izvršne ovlasti. To nije označena kao datoteku da netko može pokrenuti. Kada je vodio napraviti ili zveka i imaš izvršnu od njega prevodilac je dovoljno pametan da zna da hej, ja sam izgradnju izvršnu. Vi vjerojatno želite izvršiti ga, tako da bi automatski konfigurirati dozvole za vas. To nije slučaj, međutim, kada se stvoriti normalnu sliku od nule, razlog obično se vi ne želite imati bilo koju datoteku na vašem sustavu biti izvršna, tako da zapravo morati ići i ručno ga napraviti. Najlakši način da to učinite je sa chmod naredba, i chmod + x kaže dodali izvršnu malo jer je čitanje malo, umanjenje malo i izvršna malo, r, W i X, i govoreći chmod + x će se okrenuti na izvršnu malo za tadašnje datoteke koje smo naveli, koja je u ovom slučaju će biti dynamic.php. [Studentski] Je li to uključen za sve? Idemo provjeriti ovaj vanjska, pa kako bih provjeriti dozvole? Znate li kako bih provjeriti dozvole datoteke? [Nečujno učenik odgovor] Žao? >> [Studentski] XSD. XSD nam daje sliku u hack. Oglas sve datoteke,-l, pokazat će mi sve datoteke u mom imeniku vrsta u svojoj dugoj, opširnog popisa, pa ovdje vidimo da ovo dynamic.php sliku zadnji put je promijenjen 5. studenog u 16:21. Vlasnik ove datoteke je jharvard. To je korisnik koji je prijavljeni To je korisnik radim kao, a ako ste također u aparatu ste također radi kao korisnika jharvard. Ti si u skupini studenata, a to su stvari koje ćete vidjeti dovoljno često. Možemo ići u puno detalja ovdje, ali za najveći dio onoga što želite pogledati kada ste u potrazi za vidjeti hoće li ili ne datoteka izvršna je prvenstveno korisnik koji posjeduje datoteku, vlasnik, tako da je ovo jharvard, a zatim smo dozvole bita ovdje na lijevoj strani, i način da pročitate to je da je posljednji zalogaj se obično koristi za označavanje da li ili ne, barem u ovom slučaju ovaj posljednji zalogaj često će biti postavljen na oglas za označavanje da je datoteka direktorij, a ne samo normalna datoteka. Onda sljedeće tri bita pravo ovdje odrediti dozvole koje je vlasnik datoteke ima, tako da u ovom slučaju jharvard, kao vlasnik datoteke, može čitati i pisati ovu sliku, ali tu je crtica rekavši da jharvard ne može izvršiti ovu datoteku. Sljedećih 3 bita su za skupinu, pa ovo je grupa studenata, pa ako je bilo više korisnika na mom aparatu, i imali smo više korisnika, kao dio studenata grupe, onda svi oni mogu čitati ovu sliku, ali ne mogu ga napisati, a isto tako bilo tko drugi, svijet mogu samo čitati ovu sliku kao dobro. Tu je dobar, dugo writeup o tome, tako da možete čitati online. U spec. problema skup idemo u to u više detalja. [Studentski] Je 218 koji se odnosi na svijet? 218 je off vrhu moje glave sam zaboravljajući, ali ne. Idemo vidjeti. Ja sam zatamnjenja na to pravo sada. Povratak na ono što smo bili oko napraviti s ovom chmod + x gdje smo htjeli dati dynamic.php izvršne ovlasti, a pitanje je da li ili ne to će dati izvršne ovlasti svima ili samo da jharvard, a možemo vidjeti to trčanje naredbe i upišite ls-l, a sada vidimo da je označena kao izvršna. Možete vidjeti da je došlo do promjene boje. Sada dynamic.php je navedena u zelenom, i to izgleda kao odgovor na pitanje je što, Charlotte? [Charlotte] Samo jharvard. >> Samo jharvard, da. Ako smo željeli skrenuti izvršnu malo na za svakoga kako bismo mogli to učiniti? Bilo misli? >> + X? Da, točno. Charlotte je rekao da možemo napraviti chmod od + X dynamic.php, i sada, ako smo pokrenuti ls-l vidimo da su izvršne bita su doista uključen za svakoga. A što zapravo može učiniti suprotno od toga, tako da možete ga isključiti za svakoga pomoću minusa. Sada je isključen, a sada možemo okrenuti ga na leđa za jharvard tako da zapravo možemo ga pokrenuti, , a sada možete vidjeti kada smo pokrenuli ovu posebnu šifru #! linija na vrhu, #! linija, rekao je ljuska, rekao naš terminal hej, kada je ova datoteka se pokrenuti, koristite / usr / bin / php protumačiti ovu sliku , a zatim ispisati izlaz. [Nečujno učenik pitanje] Naravno, neka me pomicanje natrag gore. Baš kao što je ovaj. Vidjet ćete sve od ovih direktiva početi s ovim funta, a zatim uskličnik, ponekad zvan shebang, ljestve prasak. [Studentski] Kako možemo ga pokrenuti s php dynamic.php prije nego što bi ga izvediv? Pitanje je bilo kako možemo pokrenuti ovaj korištenjem PHP binarni dok dynamic.php nije izvršna? To je super važno jer je to točno kako to će raditi kada pišete problema set sedam. Većinu vremena PHP datoteke nisu izravno izvršna. Način na koji funkcionira, jer to je PHP binarni da je izvršna. Tumač je stvar koja se izvršava, i tako ono što radi doslovno slurping u cjelokupni sadržaj našeg dynamic.php datoteke i ide redak po redak i izvršavanje tih naredbi, tako da je pomoću naše PHP datoteku kao popis uputa. To nije izravno njezina izvršenja. To je mjesto gdje možemo reći da su te datoteke tumačiti u vrijeme izvođenja. To je mali vremenski jezik umjesto nečega što je određeno vrijeme prevođenja, nije sastavio jezik poput C. Postoji način da se jezik run vrijeme djelovati kao da je jezik sastaviti vrijeme, kao i ako imate sve trčanje učinjeno na poslužitelju nego-znate na što mislim? Da, tako je pitanje postoji način da se vrijeme izvođenja jezike djelovati više kao vrijeme prevođenja vrsta jezika? I tu su, mislim, da je aktivno područje istraživanja za puno tih tvrtki. Vjerujem Facebook je učinio mnogo rada s PHP i sastavljanje dolje, čineći ga brže, to optimizirati budući da je njihova stranica je izgrađena na PHP. Ako ste nakon node.js uopće, koja je vrsta JavaScript tumača biti u mogućnosti to trčanje JavaScript izvan preglednika, izvan svog web preglednika, jer tradicionalno JavaScripta bi samo pokrenuti unutar Firefox ili Chrome, i to bi se koriste kako bi super animacije dogoditi na web stranici i napraviti svoju web stranicu dinamičan. To je bio izgrađen na puno posla da je Google učinio da JavaScript i C + + vezati zajedno, tako da je puno aktivnog istraživanja na dobiti ti jezici za interakciju i optimizirati ih, prije svega zato što toliko ljudi mogu kodirati u PHP i JavaScript jer je puno lakše. To je puno ljepše. Vi nemate naputke. Vi nemate vrste plutajuæi okolo. Oni su htjeli steći koristi od tih vrijeme prevođenja jezika sa svim tipa provjeri i brzinu i donjeg korištenje memorije i svih koji dok je još uvijek održava fleksibilnost i jednostavnost korištenja tih novijima. Povratak na našem izvornom planu napada. Imamo neke od tih pitanja ovdje u našoj spec. problema skup. Idemo kroz njih jako brzo, a mi ćemo ići po sobi. Charlotte, ono tip je 3,50? [Charlotte] To je dvostruka. >> To je dvostruko. Jimmy, što je to sljedeći? >> Niz. Polje, strašan, a Jared, ono što je fopen? [Jared] To je izvor. >> To je resurs. To je vrsta novog jednom, ne file zvijezda, a ne datoteke. To je resurs je tip u PHP-u, i žao mi je, Ella, posljednji null je ono? Null. Nula, kako je to napisano u PHP? >> Isti način. Na isti način, kapiteli? >> Da. Da, u redu. Ovdje ćemo ići, imamo dvostruko, imamo niz, imamo resurse, a onda smo dobili null. Pogledajmo sada ste vidjeli- neka se vidi, tako da sada mislim ono što sam također žele učiniti je podići ova web stranica upravo ovdje, ovo php.net / priručnik, pa ako vi kopirati da i otvoriti web preglednik. Idem podići Chrome, staviti da u. Želim vam pokazati to ne samo zato možemo razgovarati cijeli dan o vrstama i sve to zabavno nego zato što je to PHP priručnik, a tu su i puno PHP programera vani. Postoji mnogo PHP web stranice vani, i kao rezultat toga, tu je mnogo dokumentacije na PHP, i upotrebu, ovaj php.net, je stvarno dobro mjesto za izlazak kad god imate pitanja o tome što je najbolji način da to X u PHP ili što ne funkcija izgledati? Samo vrsta upoznati sa kako to izgleda, jer ćete biti dolazak ovdje često, malo za problema postaviti sedam. Ako ste završili radiš konačni projekt koji koristi PHP to će biti mjesto koje ćete postati vrlo dobro poznavao. Često način na koji ljudi to učinite je da koristite Google za pretraživanje za web stranice, i oni ne koristiti okvir za pretraživanje koji je ovdje u gornjem desnom, koja je vrsta maleni. Ako ste Googling oko za nešto napraviti sa PHP i vidite jedan od ručnih linkove pop-up obično možete se osloniti na to kao prilično dobar resurs. Strašan, tako da od tih tipova, samo iz znatiželje, one koje nismo vidjeli? Sve nismo vidjeli ovdje? [Studentski] resursima. >> Vidjeli smo resurs s fopen poziva. [Studentski] objekata. >> Objekti nismo vidjeli sigurno. Callbacks nismo vidjeli. Postoje neke od tih pseudo-vrste. Mi definitivno vidio samo broj i dvostruko. Nismo vidjeli neke od drugih, pa ako mi kliknite na integers možemo vidjeti postoje li druge integeri da oni imaju ovdje? Jesu li sve tako cijeli broj, cijeli broj, cijeli broj. Neki jezici imaju veće cjelobrojne tipove, kao što smo vidjeli na MySQL danas nije bilo int a zatim velika int. Cool. Dakle, PHP upotrebu. Vratimo se na naš spec. problema skup, a mi sada ćete pomaknite se dolje na 4. stranici. Jedna od stvari koja se događa kada ste dobili te jezike koji nemaju taj statički tipkanje, tako da ti jezici gdje morate prijaviti tip je ispred varijable do je li dobiti slučajeve gdje možete početi s varijable različitih tipova interakciji jedni s drugima, i PHP čini ovu stvar gdje se pokušava učiniti ono što smatra da je najrazumniji stvar za učiniti kada imate dvije različite vrste međusobno. Na primjer, ako gledamo ovih linija koda ovdje vidite da imamo ono što se događa kada ćemo pokušati i dodajte string 1 do 2 integer. Što će se dogoditi ako ćemo pokušati i dodati niz koji nije brojčana vrijednost nego stvarni likovi, CS broju 50? Onda ćemo vidjeti je li se išta drugačije da se događa tamo gdje umjesto dodajući niz na broju smo dodajući niz na žici, i tako dalje i tako dalje do točke gdje smo uzimajući nekakav čudan stvari ovdje gdje imamo 7 + istina. Što ispitati kritički to znači? Ako vi ići naprijed i zalijepiti neke od ovog koda u svoj uređaj. Možete ga zadržati u dynamic.php. Vidjet ćemo što će se dogoditi. [Studentski] Samo koristite otisak, a ne printf? Da, pa ćete naći da ispis je također vrijedi funkcija za ispis u PHP. Postoji mnogo različitih načina radi. Vidjet ćemo s nekoliko primjera kasnije kad smo počeli govoriti o jedinstvenom problemu koji ćemo pisati i onda je koncentracija problem koji ćemo pisati da, iako imamo fopen i fclose to često nije najjednostavniji način da pročitati u sadržaju datoteke. PHP ima puno tih C-poput holdovers. [Studentski] Kad sam stavio u svim 6 od onih stvari koje sam samo dobiti jedan broj kao izlaz. [Nate H.] Kada ste stavili u svim šest od tih stvari. Hajdemo vidjeti je li to zato što je eventualno- jedna stvar je da su ti pozivi nisu print prestaje na kraju s novim linijama. Nema nova linija razdvajanja svaki od tih ispis poziva, pa možda ste uzimajući jedan veliki broj, i to je zapravo samo amalgam nove linije znakova. [Studentski] Dobro, kako ću napraviti sigurni- Pa, postoje hrpa različitih načina. Možete ručno mogao staviti u tiskanom novog retka karaktera, odjek nove linije lika, ispisati nove linije. [Studentski] Dakle, odjek je ista stvar kao i printf? Printf je poput C printf gdje ste tiskanje formatiran string. Vi ste dobavu mu format string i onda sve rezerviranih mjesta varijabli. To je često nešto što se ne koristi- neka se vidi, kao demantiju Ja sam manje upoznati s PHP nego sam s drugim web jezicima, i kad sam programiran u PHP Ja obično ne koriste printf jer sam ga pronaći brže koristite niz interpolacija sposobnosti koje ima, koje ćemo ići u, a ja ću vam pokazati u samo sekundu, dok je u C mi nekako morati učiniti ovu Hacky stvar da bi ga ispisati ispravno. Vi zapravo možete staviti varijable izravno u nizovima u PHP. Printf je vrsta pretjerano dugo za ono što se obično učiniti. Da, Ella. [Ella] Općenito, ako dobijete Pogreška raščlambe to znači- kao i na C ne ti reći točno gdje je zabluda, a ono što je, pa to znači pogled kroz cijeli kod i to shvatiti? To je obično više ciljanih od toga. Mislim da je u tom slučaju to je malo off, tako da mislim da bi u tom slučaju bili smo nedostaje zarez. To je bio pokušaj da se smisao svega, tako poput ovih interpretirane jezika, tumač će pokušati i učiniti svoje najbolje da sve radove na odgovarajući način. Vidjet ćete, na primjer, u JavaScriptu vi ćete često-line izvještaji kraj sa zarezom baš kao što to rade u PHP-u, baš kao što to rade u C. U JavaScriptu neke od JavaScripta tumača u puno preglednicima će staviti u zarezom za vas ako vam se dogoditi da im nedostaje. Oni će pokušati smjestiti u neki aljkavost s vaše strane. To je mjesto gdje bi to moglo biti težak i pokušava i pokušava napraviti stvari rad, i onda na kraju će doći do točke u kojoj se kaže: ok, Ja ne mogu napraviti da stvari rade na spašavanje, a to je mjesto gdje ćete dobiti broj retka da može činiti malo off od točnom mjestu. Ok, pa idemo kroz to jako brzo. Mi stali sa Ella, pa idemo preko Missy, i gospođica, što znači ispis stringa jedan plus broj 2 vam dati? [Missy] 3. >> 3. Ima li to smisla? Vrsta? Da li vam dati broj? Da li vam dati niz? [Missy] broj. >> To je broj. No, to je to tiskanje, tako da će vam dati nekakvu niza. Jedna stvar koju možemo učiniti za check this out je, ako ćemo učiniti $ var = 1 + 2 a onda ćemo reći odjek gettype, tako da smo pomoću trećine vrstu ispis ovdje. Sada možemo vidjeti što se ovdje događa. Evo što imamo je da je dobio cijeli od ovoga. Iako smo bili dodavanjem ovaj niz na broju, nismo dobili niz od toga, baš kao što je gospođica rekao. Mi smo se cijeli broj. Ok, pa ćemo vidjeti, pored gore, Kevina. CS + 50? >> [Kevin] 50. [Nate H.] 50. Ima li to smisla? [Kevin] Aha. [Nate H.] Zašto? Zašto uopće smisla za vas? [Kevin] Jer to je samo ima niz, ima nula brojčanu vrijednost. Da, super. Vrsta dvojbenim situacijama, ali to je dobro znati što se događa. Stella, što će se dogoditi sljedeći s brojem 1 + struna 2? [Stella] 3. >> 3 opet. I u ovom slučaju, ne možemo dobiti niz ili broj? Idemo dati ovo probati. Svatko brže od mene dobiti odgovor? Charlotte? Oh, ja didn't-ok, ajmo vidjet, idemo napraviti istu vrstu stvari gdje imamo niz plus string, a mi ćemo jeka tip, vidjeti što smo dobili. Također smo dobili cijeli broj. To ne smeta što je jedan string, kojih je jedan broj. Mi smo još uvijek ćete dobiti cijeli broj. To je još uvijek će učiniti ono što smo mogli očekivati. U redu, tako da Sam, što je 90 + 9 boca piva na zidu? [Sam] 99. >> 99. Nema boce piva na zidu, iako. To nam daje malo više informacija o tome što se događa. [Sam] Ako je napisao devet slovima onda će imati 90, zar ne? [Nate H.] Aha. Pitanje je, ako ćemo napisano 9 se kao N-i-n-E bi smo dobili 99 ili 90? Mi bismo dobili 90. To doslovno samo u potrazi za znamenkastim znakova. To je dovoljno pametan da prepozna broj riječi i te stvari. Da. [Studentski] Ima li takva stvar kao typecasting u PHP-u? Tu je, i to je upravo način na koji će to učiniti u C. Što o 10/7, Charlotte? [Charlotte] 1,4285. [Nate H.] Da, pa što bi moglo biti čudno o tome? Što će se dogoditi ako je taj isti takve stvari u C, ako je 10/7 u C? [Charlotte] To bi samo vam dati, ovisno o tome koliko ste typecasted pretpostavljam to će vam dati samo ograničeni broj znamenki nakon decimalnog. Da, tako ograničeni broj znamenki nakon decimalnog. Što drugo bi moglo biti-to će vam dati nikakve znamenke nakon decimalne? Često ne, pa opet, ovisno o tome koliko ste ga typecasting to može ili ne može ga pretvoriti u decimalni broj. Evo to je vrsta lijepo da je to učinio. Da smo pokazali vam ovo leđa kad smo počeli raditi tu vrstu stvari u C vjerojatno bi napravio malo više smisla da ne samo ići na jedan. I onda napokon, Jamie, što je 7 + istina? [Jamie] 8. >> 8. Što to znači? Pretpostavljam da je to samo daje pravi vrijednost jedne. Da. Što će se dogoditi ako se to promijeniti na lažne? [Studentski] 7. Da, tako se sjetiti gdje smo razgovarati o tim binarne vrijednosti, 1 je na, 0 biti isključen? Sada imamo pravi je 1, 0 je lažna, a možda niste vidjeli ovo u C primjera da smo učinili prošlog semestar, ali povijesno bool tip u C nije bio pravi tip, pa ljudi su koristili 0 i 1 u mjestu istinito i lažno. To je manifestacija koja. Ok, tako da jedan važan dio u svemu ovome je da smo ove različite vrste. Oni mogu komunicirati jedni s drugima. Oni često mogu komunicirati jedni s drugima na načine koji su lijepo, kao što smo vidjeli ovdje. To je lijepo biti u mogućnosti da imaju niz jedan i broj dva, dodajte ih zajedno i dobiti tri. To ima smisla. Međutim, kada pišete web stranice, a pogotovo kada ste obrade korisnički unos, pa reći da ste napisali web obrazac koja prikuplja informacije od korisnika, a zatim odlazi da ga obrađuje na stražnjem kraju, na strani poslužitelja u vašem PHP kodu ako ste očekivali da vrijednosti koje korisnik upisali u i podnijeti na obrascu biti cijeli broj ili da se s pomičnim zarezom broj ili nešto slično morate eksplicitno baci i onda napraviti neke provjere tipa. Vi ne želite da se samo osloniti na ovom sustavu tipa žongliranja kako bi stvari raditi, pogotovo zbog sigurnosnih razloga i samo za robusnost vaše web stranice. Samo nešto treba imati na umu da kad god rukovanje podatke obrasca, sve što dolazi u post ili get superglobals pobrinite se da uvijek ga potvrditi i pretvoriti ga i typecast. I baš kao što smo pričali o trenutku prije tog typecasting u PHP je potpuno isti kao u C gdje imate zagrade a zatim putovanja. Imajte to na umu. Jedna funkcija koja će doći u ruci kada radite to je da smo koristili, a to je vrsta kao stranu- smo koristeći ovu funkciju gettype ovdje shvatiti tip varijable, i dok je to zgodan za ispravljanje pogrešaka i da se vidi što je varijabla je vrsta ne želite koristiti ovaj, na primjer, u stanju u kojem ste ček vidjeti ako gettype od $ var = INTEGER nešto učiniti. To je loše, loše, loše. Umjesto toga postoje ove funkcije nazivaju se cijeli je niz, je niz koji želite koristiti umjesto toga, tako da u ovom slučaju ono što sam htjela učiniti umjesto ovog momka ovdje se koristiti je cijeli var. I oni često ste nazivaju je is_ * u smislu da li mogu zamijeniti * s cjelobrojnom, string, et cetera, a samo kako bi bili sigurni stvarno brzo je ovo je int php. Izgleda kao da možete učiniti bilo je int ili je tu je cijeli kao i? Da, alias, tako int cjelobrojni nadimci. Cool. Kako stojimo? Ajmo podići tempo malo. Sada ćemo govoriti o poljima, tako da možete vidjeti u sljedećem dijelu spec. govorimo o tome kako polja u PHP su nešto drugačije nego što su oni u C. U istinu, oni su svojevrsni amalgama su polja koje ste upoznali i ljubav u C gdje je sve od iste vrste pohranjeni uzastopno i contiguously u memoriju, i imate ove brojčane pokazatelje. Imate indeks 0, indeks 1, indeks 2, i pohraniti vrijednosti na tih indeksa. Također u C, kada je napisao Speller, puno vas učinio ljestve stol pristup, a vidjeli ste da smo imali Drugačija pohranu gdje smo bili mapiranje Ključ za vrijednosti, pa kad ste pokušali spremiti nešto u hash tablicu morali ste naveli da ste htjeli da ga pohraniti s određenom ključu, i da ključ određuje lokaciju vrijednosti i gdje će biti pohranjen. Vi ste vrsta dobio oba od tih pojmova događa u isto vrijeme u PHP polje, i kao rezultat toga, mi često zovu te asocijativne polja gdje smo udruživanje ključ u vrijednosti. U sljedećem dijelu govorimo o jednostavnim PHP niz gdje imamo tipke A, B i C, svi nizovi, mapiranje za cijeli brojevi 1, 2, i 3. I vi možete imati ključeve različitih tipova. Možete imati neke tipke koje su žice, neke tipke koje su cijeli brojevi. Možete imati vrijednosti različitih tipova. Možete imati vrijednost koja je niz, vrijednost koja je cijeli, vrijednost koja je predmet ili drugo polje, na primjer, sve u istom array objekt, koji je vrsta čudno. Ne morate imati niz koji je samo dobio jednu vrstu elementa u njemu. Možete imati mnogo različitih stvari događa tamo. Druga stvar je imati na umu da kada vidim ovako nešto u svom kodu, koja vrijedi PHP proglasiti niz baš kao što je ovaj, 0, 1, 2, 3, 4, 5, da će proglasiti inicijaliziran $ arr se ovo polje. No, ono što ste zapravo uzimajući ispod haube je ova vrsta implicitne generacija tipki gdje smo dobili 0-0, 1-1, 2-2, 3-3. I ispada da čak i ako imate niz poput ovog momka ovdje gdje imate, B i C, kao i tipke i onda početi koristiti metodu polje potisnu početi koristiti ovaj niz kao stog, tako da možete vidjeti da je ovo polje objekt, ovo polje je stvarno postaje preopterećen. Možemo ga koristiti kao polje. Možemo ga koristiti kao hash tablice. Možemo ga koristiti kao stog. Kada pokrenete gura stvari na ovom polju Prva stvar koju gurnuti na to će biti indeks 0, a zatim indeks 1 i 2 indeks. Možete dobiti ovu vrstu implicitne generacije ključeva osim ako ih navedete. Način na koji ste naveli ključeve eksplicitno, naravno, pomoću ovog nosača zapis, koji je sličan polja osim umjesto samo dopuštajući cjelobrojne indeksi u ovdje, sada mi dopustite ništa. Ako želite da vaš ključ da se string, da bih ga navesti kao što je ovaj. Ako želite da bude int, možete ga odrediti s int želite koristiti. Pitanja na koja do sada? Jedna od lijepih stvari o ovoj ideji je da možete uvijek imaju samo jednu vrijednost pohranjena s određenom ključu. Ako se vratimo na to naše aparata-neka me izbrisati neke od tih stvari. A recimo ja inicijalizirati niz biti 0, 1, 2, učinjeno. Ako ja sada znam da je, na primjer, ako sam echo $ arr [0] Ja ću dobiti vrijednost 0 ispisati, a budući da može postojati samo ikada biti jedna vrijednost pohranjena za određeni ključ ako sam nešto pohraniti na $ arr [0], kažu, onda znam kad sam echo $ arr [0] opet Neću dobiti 0 tiskan kao i prije. Ja sam samo idući u dobiti. Dakle, ovo je u osnovi kaže da ja ne mogu imati $ arr [0] spremanja dvije različite vrijednosti. To se ne može pohraniti i 0 i stringa je, kao što je ovaj doslovno zamjenjuje ono što je bio na $ arr [0] ranije. Razlog zbog kojeg sam donijeti ovo gore je pokrenuti ga, vidjeti što se događa. Vidi da sam ovdje dobio 0 isprintati i onda ovdje dolje. Nema nova linija postoji, jer sam bio lijen i nije da se stavi u. Što je cool o tome možemo koristiti kao način uhvatiti ovu ideju skupa gdje ne možemo imati više ključeva unutar niza. Mi ne možemo imati identične tipke unutar polja. Ja ne mogu imati ključnu 0 i vrijednost 1 i ključnu 0 i vrijednost za ili tipku 0 i vrijednost istina. Tipke su sve postoji samo jedan ključ u polju. Iako možete imati istu vrijednost spremljenu više puta u polju pod različitim ključevima to nije moguće imati identične tipke više puta u svom PHP niz. Ako gledamo na sljedećem problemu, unique.php, gdje želimo otvoriti PHP datoteku sadrži popis nizova, jedan gudački po liniji, i želimo pronaći sve jedinstvene gudače u toj datoteci sve što morate učiniti je koristiti jedan od tih PHP polja i koristiti konce u spisu kao tipke na ovom polju i držati ažuriranju naše lepezu kao što smo pohraniti ove nove ključeve. Kao što smo pročitali svaku liniju iz datoteke možemo ga pohraniti u polju, i na kraju ćemo imati naše ključeva u našem polju sve jedinstvene žice unutar datoteke. Ima li to smisla? Idemo vidjeti kako to funkcionira. Mi ćemo otvoriti, prema spec., nova datoteka zove unique.php. Otvorite. Ups, ispričavam se, nova datoteka. Mi ćemo ga krenuti s iste početne i krajnje tagova. Mi ćemo ga spremiti u poglavlju 9, a mi ćemo ga zovu unique.php. Ok, sada uvećanje u. Ideja je otvoriti datoteku, pročitajte u datoteci redak po redak. Za svaku liniju u datoteci imat ćemo niz gdje smo  linija kao naš ključ. I onda kada smo dobili na kraju ovdje $ Arr je tipke su jedinstvene linije iz spisa jer znamo da ako sam stavio liniju u ovom polju više puta to će samo zadržati preskakanja staru vrijednost, i zapravo možemo staviti polje liniju kao i sama tek tako. To je vrsta čudno. Mi pohranu istu ključnu vrijednost par iznova i iznova i iznova, ali budući da smo zajamčeno da će biti samo jedan ključ zove linija pa ako imamo datoteku koja kaže-file životinjskih zvukova i ima Vau, Vau, mijau, mijau, Moo, Moo, i svaki put čitamo životinja buku out kao potki, a mi ga pohraniti u našem polju smo dobili Vau, a zatim drugi put mi pohraniti Vau će prebrisati prvi put da smo ga pohranjen. Na kraju ćemo samo imati jedan ulazak u niz za svaki od životinjskih zvukova u našoj životinjskog zvukove datoteku. Nemojte vi osjećate sigurni da možete uhvatiti u koštac otvaranje datoteke u PHP-u? Jedan od načina da to učinite, idemo preko ovog brzo-jedan način da to učinite je s fopen, kao što smo vidjeli ranije. Možete fopen some_file.txt. Možete ga otvoriti u načinu čitanja, baš kao u C. To je jedan savršeno dobar način da to učinite. Također zatim za čitanje u datoteci redak po redak imaju iste funkcije, mnoge od njih, da ste radili u C. Imate fgets. Imate feof, iako mi se ne sviđa pomoću koje jer, ne zaboravite, da nije bio velik u C. Možete to učiniti na isti način, ali ovdje je stvarno super stvar. Žao nam je, ne želim to učiniti $ file, ali tu je funkcija zove datoteke u PHP-u, i ova funkcija ovdje je super jer čita cijeli sadržaj spisa koje ste naveli, tako some_file.txt, čita cijeli sadržaj te datoteke u niz i onda vam omogućuje da ponove preko njega, što je prilično divan. Ako idemo, primjerice, na našim web pregledniku i mi gledamo na Googleu za PHP datoteku možete vidjeti ovdje da naš priručnik kaže da je datoteka čita cijelu datoteku u niz, i možemo file_get_contents vratiti sadržaj datoteke kao niza, ali obično samo uzimajući ga kao polje je stvarno lijepo, jer ono što čini je to ga razbija tako da je svaki element u nizu jedan redak datoteke, pa ako gledamo datoteci 0, to je prva linija datoteke. Datoteka 1, druga linija, datoteke 2, treći red, i tako dalje i tako dalje. Zar ne bi bilo lijepo da je to bilo sve što je morao učiniti u C? Prilično divan. David je pokazao to u predavanju, a idiom pokazao je da uz naš standard za petlja-u PHP smo imali da za ($ i = 0; i <10; i + +), i možete to učiniti u PHP previše, ista stvar- Također imamo ovu super konstrukt zvan foreach. Foreach je stvarno zgodan kada Ponavljanje preko polja ili ovih struktura podataka jer vam omogućuje da izvući svaki element niza bez potrebe da ručno napraviti indeksne sebe, bez potrebe da ručno pridijeliti varijablu, to povećavati, izvucite vrijednost u polju u tom trenutku, jer to je vrlo uobičajena stvar za napraviti. Vjerojatno ste to učinili tona vremena kada ste radili C stvari tijekom semestra, tako da s ovim foreach možemo petlja preko ove datoteke niz, a sintaksa je da želimo sada petlju nad ovom polju i odrediti da varijabla ćemo koristiti za pohranu element ovog niza lokalno, lokalno na opseg ovog foreach petlji, se da ćemo to nazvati linija. Ako je datoteka samo riječima, a tu je jedna riječ u nizu mogli bismo ga nazvati riječ kao dobro, stvarno samo dati to ime, što god želite to nazvati, i onda unutar petlje možete raditi što god želite s ovim promjenjivim liniji. Ako to nije dovoljno da se vrijednost polja i vi želite dobiti indeks zajedno s njim možete odrediti naziv indeksa kao i vrijednost, i sada imate pristup dviju varijabli. Imate $ ja i linija gdje $ i je indeks u polju, a linija je linija koju dobiva iz spisa. Na primjer, ako smo htjeli isprintati echo linije 0 spisa kao ova, bismo mogli to učiniti upravo ovako, "Line $ ja u spis je $ redak" i ovdje je nešto što također nisu vidjeli još ni gdje Upravo sam potpuno preskočili cijelu ovu% s% d poslovanja da smo se morali baviti u C, a umjesto toga sam otišao ravno do pisanje varijable u redu u mom nizu. To se zove varijabla interpolacija, niz interpolacija gdje ste nadjev varijable u pravu, a PHP tumač je dovoljno pametan kad je čitanje kroz niz koji počinje s navodnicima- ne jednostruke navodnike, s jednim kotiraju žice ne možete to učiniti- ali s dvostrukim kotiraju žice kao što čita kroz to tražite varijabli. To je njima lov dolje, a ako to vidi varijable će se vrijednost varijable i stvari u nizu ako se može pretvoriti ga u string reprezentacije, što je prilično divan. Za sada, hajdemo komentirati iz ostatka svemu, spremiti ovo, i što možemo učiniti sada je možemo otvoriti datoteku koje možemo nazvati some_file.txt-let 's stvoriti novi file- i možemo staviti u hrpa gluposti stvari ovdje samo testirati sve, spasiti ga, to nazvati some_file.txt, kao što sam radiš ovdje na vrhu, i sad ako sam zumiranje samo kako bi bili sigurni da je sve u istom direktoriju- to izgleda kao da imam unique.php i some_file.txt u istom direktoriju. Ako sam pokrenuti php unique.php vidjeti kako to ispisuje svaku liniju u mojoj datoteci i ono što je linija? To je prilično snažan, zar ne? Gledajte, to je tri linije koda otvoriti datoteku. Pa, 4 linije koda. Ja ne mogu računati danas, jasno. Ali stvarno samo dva zanimljiva linija koda, jer druga dva su vitičastim zagradama, ali u ovom puno koda smo bili u mogućnosti otvoriti datoteku, iteraciju kroz njega, izvucite linije broj i liniju sama i isprintati. Cool stvari. Charlotte. [Charlotte] Imam pitanje o sintaksi. Dakle foreach ponude sa svakog liniji datoteku koju otvori, i onda kada želite napraviti stvari sa svakom pojedinom retku ste upravo to učiniti kao a zatim povezati vrijednost. [Nate H.] Što možete učiniti upravo ovdje-pitanje je the foreach ima veze s polja, pa foreach sintaksa stvarno foreach, i obavijest da nema prostora ili nešto između za i svaki. Oni moraju ići desno jedni pored drugih, a onda treba u niz, i onda imate ovu drugu ključnu riječ zove kao da mora biti tamo, i onda nakon što možete ili staviti jedan naziv varijable, u kojem slučaju ćeš biti čupanje vrijednosti niza, nisu indeksi, ili ako to učiniti kao što smo napisana u nastavku dobijete ključeve i vrijednosti. Imate foreach element niza ili par polja kao ključem u vrijednosti ili kao samo vrijednost. Ovisno o tome što vam je potrebno, ako ne trebaju tipke, onda možete ići s vrijednosti. Ako želite tipke možete ići s njima previše. [Charlotte] Također sam shvatio da nikad proglašen ja ili liniju. Kakav je to čak i znam što su oni? [Nate H.] Što misliš proglasiti? [Charlotte] Mi nikada im je rekao ono što sam ili crta znači. [Nate H.] Mi nikada rekla računalo ono što ja ili crta znači u smislu- [Charlotte] To su oni indeksirane ili da they're- [Nate H.] Mi nikada rekao da je to trebala biti indeks ili ključ i vrijednost, a to je zato što je PHP tumač. Ovo služi kao deklaracije i kaže ok, ključ će biti varijabla zove i pohranjen u varijablu zove ja. Vrijednost će biti pohranjen u varijablu liniji, pa to služi kao deklaraciji tih varijabli i kaže $ ja je ključ, i $ linija je vrijednost. Da, Ella. [Ella] Ako se tipke ne radi se brojčano kako se to odlučiti što bi ona će ispisati sve? Je li to baš kao nalog da se upisao u? [Nate H.] Ajmo dati ga probati. Idemo stvoriti varijablu pod nazivom arr, i mi možemo učiniti ide na sedam. Recimo 0 do drugog niza sa 1, 2, ili jabuka. Recimo 7 ide na jedan, b ide na dva, i 3 ide do 4. To je vrsta luda potrazi primjer jer si mi pobrkala žice i prirodna broja posvuda. Nema stvarne kako bi se ovaj niz. Mislim, mogli bismo naručiti sve abecednim redom po tipkama. Mi smo mogli naručiti sve po abecednom redu vrijednosti. Mogli bismo pokušati i uzeti u obzir da su neki nizovi, neki su Ints, i da bismo mogli probati i pretvoriti ih sve na istu vrstu i vidjeti što se događa, ili bismo ih mogli uzeti u obzir u vrijednosti u kojoj smo ih već upisana gdje smo stavili ovog tipa u prvi, ovaj tip u drugi, ovaj tip u treći, ovaj tip u četvrti, et cetera. Idemo vidjeti što se događa kada smo pokrenuti ovaj kod. Ako mi se pomaknite prema dolje i učiniti istu vrstu stvari, a ovdje to nije ispisuje nove linije. Kad je pročitao stvari iz spisa je, uključujući nove linije u vrijednosti, koji je razlog zašto ga isprintati lijepo, a ovdje to nije, tako da je razlog zašto je sve smushed zajedno. Dodajmo u toj novoj liniji samo da bi se stvari lijepo. Neka je to repriza, pa ovdje pogled na ono što se dogodilo. To ispisati sve u redu u kojem smo ga staviti u nizu. To uključuje očuvanje reda u tom smislu. Vraćajući se na ovaj problem uniques gdje želimo biti u mogućnosti ponoviti više datoteka, a mi ćemo mu dati some_file.txt, i da ćemo ponoviti preko njega kao što je ovaj. Mi smo rekli da smo htjeli koristiti niz kako bi bili sigurni da ćemo je dobio sve jedinstvene linije od tamo, i da bismo mogli učiniti da stvarno lako po samo spremanje u niz koji smo naravno proglasi izvan opsega petlju, a mi je rekao da ako smo koristili linije u datoteci kao tipke u našem polju ako smo ušli duplikat liniju ćemo biti preskakanja prethodnu vrijednost. To nije uvijek moguće imati dvije tipke koje su identične u istom polju. Mi možemo učiniti upravo to. Mi ćemo se riješiti ove jeke izjavi ovdje. Ovdje smo pohranu liniju u datoteci u našem polju se koriste kao ključ. Ništa na njega, i ispada da mi ni ne treba taj ključ. Mi ne trebamo da sam promjenjiva. U ovom trenutku, ako smo napraviti još jedan foreach petlju i bili smo na petlji preko svake ARR i linija sada ako mi odjekuju-Ups, ispričavam se. Mi ne možemo koristiti zarez. Moramo koristiti kao ključnu riječ. Sada ako mi odzvanjaju liniju bismo trebali dobiti sve jedinstvene riječi u datoteci. Ako idemo do some_file.txt, i recimo radimo jabuka, banana, jabuka, jabuke, banane, ako ćemo ispis sve jedinstvene riječi u ovoj datoteci smo samo trebali dobiti jabuka i banana za ispis. Ako ćemo spasiti ovaj, sada ovdje ćemo sliku natrag u, php unique.php, i ta-da. Uspješno smo uniqued datoteku. Završni dio ovog problema je vas traži da sortirati ovaj niz prije nego što ga ispisati jer u ovom jednostavnom primjeru da smo upravo učinili bili smo sretni u smislu da je datoteka jesmo ovo neprirodan primjer s jabukama i bananama. To je već riješeno. No, pomoću jednostavnog sortiranja funkciju možete sortirati niz, što je prilično divan. Konačna stvar koju sam želio razgovarati s vama o stvarno brzo je da je ova vrsta PHP je sve dobro i dobro, i to je super zgodan znati kako to učiniti ako ikad trebate učiniti malo, brze stvari programski. Na primjer, ako moram napisati program koji, kažu, stavlja svima na dijelove ne idem ići i pisati ga u C. To će biti duga. To će biti vrsta boli, osobito ako postoje datoteke uključene, baš kao što ste vi vidjeli. To je tako lijepo da sa samo ovaj puno koda upravo ovdje bili smo u mogućnosti da parati kroz datoteku, izvadi sve jedinstvene vrijednosti i ispisati ih natrag. Međutim, za svoje zadatke, za svoje projekte, ako ste izgradnji web stranice s PHP moć da vodimo naše PHP datoteke putem ovog prevoditelja, i tumač obrađuje sve unutar PHP oznake, ostavljajući sve ostalo netaknuto i pljuvanje iz rezultata. Možemo to učiniti za izgradnju HTML programski. Sada, ako se vratimo na spec., posljednji problem u spec. govori o ovoj ideji koncentracija i stvaranje padajući izbornik, koji ste svibanj ili svibanj ne želite učiniti, ovisno o tome što vaš konačni projekt radi, koji omogućuje korisniku odabir iz popisa svih mogućih koncentracija Njihov jedan koncentracija. Sada, to je vrsta boli upisati ovo i moramo učiniti sve to ručno, pogotovo kada ste da biste bili sigurni da imate sve kutnika na pravom mjestu i sve citati na pravom mjestu, pa s PHP možete to učiniti programatski, a možete to učiniti vrlo brzo. Idemo vidjeti kako to učiniti. Mi ćemo otvoriti novu datoteku. Mi ćemo staviti u našim PHP tagova. Mi ćemo ga nazvati concentrations.php, i sada kada radite to, vrsta dobra stvar razmišljati o tome kada pokušavate miješati i odgovaraju vašem PHP i svoj HTML je figuring out, ok, što je dio koji želim programski generirati? Što je dio koji sam programatski može generirati? Istina je da možete učiniti sve vaše HTML unutar PHP blokova. Možete jeka sve HTML kao žice. Na primjer, ako želim početi raditi Select oznake unutar PHP Ja mogu reći odjek, kažu odaberite ime = koncentraciju, i onda dolje sam mogao imati još oznaku echo ili drugi eho zove blizak odabir. Ovo je jedan od načina da to učini, jer ono to doslovno će učiniti je isprintati ovaj niz kad je prolazila kroz PHP tumača, tako da rezultat će biti HTML. Ako sam spremiti ovu datoteku kao što je upravo sada i ja pokrenuti php concentrations.php pogled na ono što sam dobio. Dobio sam ovu otvorenu bliski odaberite oznaku. Ako mi je to učiniti i ja bili spasiti ovaj rezultat u datoteku, recimo, concentrations.html-čekati, to izgleda kao l je otišao na drugu stranu- sada, ako sam otvoriti ovdje concentrations.html vidite imam valjanu HTML datoteku. Je li to vrsta čudno? Mi smo koristeći PHP za stvaranje HTML, stvoriti valjanu HTML. Način na koji smo to radite je samo smo da PHP ispis HTML koji želimo da ispisati. Ovo je doslovno kako PHP web stranice rade. Kada posjetite web stranice koje vam šalje da nešto poput nešto, nešto, nešto dot com udarac index.php Računalo je doslovno pozivanje index.php, ga voditi kroz PHP prevoditelja, i što god junk izlazi to je slanje natrag na pregledniku i rekao hej, preglednik, to tumači kao HTML. Lijepa stvar je da to može biti bol stalno pisati odjek, eho, jeka, jeka i priložiti sve u navodnike kao što je ovaj, pa ako želite pisati HTML koji će biti statična sami možete to učiniti ovako, staviti ga van, zatvorite ga, i onda ovdje samo staviti unutar PHP oznake što znate Želite li programski generirati, au ovom slučaju to je ta opcija tagove da su bol za generiranje. Na primjer, možemo generirati tisuću oznake opcija radeći nešto ovako, $ I <1000, ja + + i govoreći vrijednost echo opciju = $-ups, ja to ne mogu učiniti. Pa, neka je dati ga probati i vidjeti što se događa. $ Ja i onda kaže $ i