[Powered by Google Translate] [§ 8] [menej komfortné] [Nate Hardison] [Harvard University] [To je CS50.] [CS50.TV] Vitajte v našom sekunde poslednej časti. V tomto týždni budeme hovoriť o PHP, a potom budúci týždeň urobíme malú recenziu na Quiz 1. Budeme začať na strane 3 tohto problému sady pack, a budeme pracovať prostredníctvom sekcie otázok pomerne rýchlo. Na stránke 3, začneme hovoriť o tomto rozdiele medzi C a PHP v tom zmysle, že PHP je dynamicky typový jazyk, vzhľadom k tomu, C je staticky zadali, a niekto naozaj rýchlo urobiť nejaké kódovanie v niečo ako PHP alebo Python alebo Ruby pred JavaScriptu? Úplne nový? Dobre. Všetky z týchto jazykov, ktoré som práve spomenul sú veľmi odlišné od jazykov, ako je C a C + + a Java v tom zmysle, že keď deklarujete premennú nemusíte deklarovať aké premenné je, tak v C sme prilepené museli vždy hovorím to bude int premenné, alebo to bude char * variabilné, vzhľadom k tomu, s PHP, Python, Ruby, s s mnohými z týchto viacerých moderných jazykov nemusíte robiť, že vôbec. Stačí deklarovať svoju premennú, a v prípade PHP môžete vyhlásiť, že je to premenná prefixing to s znakom $, a potom sa typ premennej je určený ktorékoľvek hodnoty to drží, čo je celkom fajn. Ak chcete hrať si s týmto trochu, máme ukážkový PHP kód priamo tu medzi počiatočnou a koncovou značku. Sme použitie tohto druhu ako HTML v tom zmysle, že máme tieto uholníky tu pre otvorenie a zatvorenie. Uvidíte to s HTML. Uvidíte rovnakú syntax s XML taky. To ukazuje na začiatok bloku PHP. To? Php je špecifické pre PHP. Zavrieme všetko s> i Poďme otvoriť súbor v našom zariadení za použitia akýchkoľvek by ste chceli. V tomto paketu sa hovorí, volať dynamic.php. Po pravde povedané, môžete volať to, čo si prajete, ale názov súboru príde a byť dôležité neskôr, takže stačí spomenúť ako sa tomu hovorí. Chystám sa prejsť na spotrebiče, a ja budem robiť adresár pre oddiel 9 Verím, že sme teraz. A pôjdeme do sekcie 9, a budem používať gedit. Poďme sa pozrieť, gedit, a budem volať moje dynamic.php. Boom. V dynamic.php, pretože to je PHP súboru a chcem spustiť tak prostredníctvom tlmočníka PHP Musím začať všetko preč s tými otvorenými značiek, takže budem začať ty hneď, dávam málo miesta v medzi značkami, a potom bod tohto cvičenia bolo hrať sa s táto funkcia sa nazýva GetType, tak GetType, túto funkciu tu. Všimnite si, že tam je žiadne podčiarknutie alebo priestor alebo pomlčku alebo niečo podobné, že oddelenie na 2 slová, získať a zadajte, len jedno slovo úplne. Ale čo to bude robiť, ak je som sa prejsť v premennej GetType, hovoria, $ var alebo $ x, to mi druh vo ladenie formáte to, čo názov tohto typu je. Budeme experimentovať tu. Najmä, keď sa pozriete späť na PSet spec máme niekoľko rôznych riadkov kódu tu. V prvom riadku kódu sme inicializovať premennú, $ var, sa rovná 7, a potom máme tento printf linku , Ktorý hovorí, hey, printf var je prázdny. Printf je jedným z mnohých spôsobov, ako možno vytlačiť veci v PHP. Často uvidíte echo funkciu použiť namiesto printf, ale printf sme všetci oboznámení s mať been kódovanie v C na chvíľu. Čo môžete urobiť, je skutočne uvidíme, či kopírovanie a vloženie práce. Chystám sa dať to skúsiť. Vrátime sa k zariadeniu. Dobre, a tam ideme. A rozostup je trochu funky, ale je to tu. Máme tento kód tu. [Študent] Nie je to dobrý štýl na karte to? Je nám ľúto? [Študent] Je to konvenčné záložke? Správne, takže Sam sa spýta, či je dohovor na kartu, alebo nie. Typicky áno. V tomto prípade som zvolil nie. Úprimne povedané, uvidíte rôzne veci medzi rôznymi programátormi. PHP sa zvyčajne používa často v kombinácii s HTML a ďalšie jazyky, a tak niekedy tlač bude vyzerať trochu funky Ak zarážka v počiatočnej a koncovú PHP značku. To naozaj záleží. V tomto prípade skopírujte a vložte ani vložiť karty v pre mňa, ale rozhodne to, ako si hovoril, aby to jasnejšie. Dobre, ak si uložiť tento kód do dynamic.php potom to, čo môžete urobiť, je prísť dole do okna terminálu, kde som tu dole v gedit, a to ekvivalent kompiláciu používanie make a potom beží kód v C všetko, čo musíte urobiť, so súborom PHP je naštartovať tlmočníka PHP, čo je malý program, nazvaný PHP, a argument, dáte na tlmočníka, je súbor, ktorý chcete interpretovať. V tomto prípade, dynamic.php. Jejda, kde som dal to? Oh, som si ho v kapitole 9, a som tu. To je dôvod, prečo. Teraz, keď som spustiť znova vidíme, že v mojej prvej výzve GetType funkcie var je celé číslo. V nasledujúcej var je reťazec, a potom v tretej var je boolean. Čo je na tom zaujímavé je, ak by sme sa posunúť späť, vidíme, že sú typy podobné tým, ktoré sme mali v C. Mali sme ints v C. Sme trochu mali reťazcov v C, takže reťazce neboli úplne dôveryhodne typ v tom zmysle, že náš CS50 reťazec bol naozaj to, čo? Je nám ľúto? Missy? [Missy] Char *. Jo, to bol tento char * sme použili. Na samom začiatku semestra sme používali typ reťazca, ale bolo to naozaj char * pod kapotou. Práve sme typom definoval to, že v PHP tieto reťazce sú pre konkrétny typ. Nie je viac o tomto char veci * typ. Uvidíte, že môžeme robiť oveľa viac vecí s reťazcami oveľa ľahšie v PHP, ako sme mohli v C, a potom konečne, máme túto Boolovský typ, a veľký rozdiel je, že ak by sme sa posunúť späť dole, vidíme, že názov týchto typov sú teraz integer, string, a boolean miesto int a bool, a ako si vyzdvihnúť rôzne programovacie jazyky, za predpokladu, že v určitom okamihu vo vašich životoch vám prísť do styku s rôzne ty si všimnete malé muchy, ako je táto kde C volá celé čísla typu int. Niektorí to nazývajú celé čísla. Existujú aj iné pojmy, ktoré budete spúšťať do. Big int sme dnes videli v SQL. Tam sú tiež množstvo a kliknite na bool, boolean, všetky druhy rozdielov tam. To nie je príliš zaujímavé, ale teraz budem vám trochu času, ak sa priblížiť späť k práci toto cvičenie na spodnej strane 3 kde sa požaduje, aké typy zodpovedajú tieto hodnoty tu dole. Máme 3,50. Máme tú vec tu, čo je zaujímavé. Nevideli sme, že skôr, ale ak ste sledovali spoločne v prednáške už pravdepodobne viete, čo to je. Potom máme toto, čo je druh funky. Spoznávate toto. Čo je to v C? Sam? Čo by to dať v C? To by otvoriť súbor s názvom dynamic.php a urobiť z neho čitateľné. Jo, a čo by sa typ premennej, ktoré by sme priradiť to? Hviezdy súboru >>. Presne tak, by sme priradiť to do súboru hviezdy. To je legitímna PHP príliš. Spustiť to. Pozrite sa, čo sa stane, keď miniete, že do GetType. A potom tiež zistiť, čo null, čo by to mohlo byť v PHP. Dám vám pár minút. Môžete si doslova skopírovať a vložiť tieto hodnoty, a potom budeme robiť trochu náhodný hovor na vás a uvidíte, čo máš. [Študent] Mám dotaz. << Jo. V jednej z prednášok David povedal, že je to niečo, čo si môžete dať v hornej časti súboru takže nemusíte písať v PHP zakaždým. Čo to bolo? On bol pravdepodobne hovorí o libre tresku, hash bang. Je to smernica, ktorá, ak označíte súbor ako spustiteľný potom to, čo robí, je pri spustení súboru bude rozprávať shell program používať PHP interpret interpretovať obsah súboru. Otázkou je, čo je to špeciálna linka že by mohli obsahovať v hornej časti našich PHP súborov nemusí obsahovať tento riadok PHP alebo tento príkaz PHP kedykoľvek chceme spustiť súbor? A môžete skutočne urobiť s partiou rôznych súborov. Verím, že to záleží na tom, kde je uložený binárne PHP, ale často usr / bin / php je dobré miesto pre štart. Môžete prísť na toto presne tým, že ide späť do svojho zariadenia a písať, aké php. Ktorý príkaz zistí, keď ste vykonávanie binárne alebo príkaz, kde zodpovedajúci súbor. To mi hovorí, že PHP je naozaj aliasing tento binárny súbor že sú uložené v usr / bin, čo je, kde sú nainštalované veľa systémových binárnych súborov. Napríklad, keď som prejdite až na vrchol, teraz, keď som si toto #! linka tu Môžem prejdite nadol, a môžem skúsiť spustiť dynamic.php, ale ja som túto chybu o povolenie zbavený, a čo to znamená, je to, že tento súbor nie je v súčasnej dobe dáva spustiteľných oprávnenie. Nie je to označené ako súbor, ktorý niekto môže bežať. Keď bežal iniciovať alebo zvonenie a máte spustiteľný z neho kompilátor bol dosť chytrý, aby vedel, že hej, ja staviam spustiteľný. Pravdepodobne budete chcieť urobiť, tak to by automaticky nakonfigurovať oprávnenie pre vás. To nie je prípad, aj keď, keď vytvoríte normálne súbor od nuly, Dôvodom je zvyčajne nechcete mať ľubovoľný súbor v systéme byť spustiteľný, takže máte skutočne ísť a ručne to. Najjednoduchší spôsob, ako to urobiť, je pomocou príkazu chmod, a chmod + x hovorí pridať spustiteľný bit pretože tam je čítanie bit, zápis bit a bit spúšťanie, r, w a x, a hovorí chmod + x zapne spustiteľného bit pre potom súbor, ktorý sme určíte, ktorá v tomto prípade bude dynamic.php. [Študent] je, že sa obrátil na pre každého? Poďme sa pozrieť na toto, tak ako by som skontrolovať oprávnenie? Viete, ako by som skontrolovať oprávnenie súboru? [Nepočuteľné Študent odpoveď] Je nám ľúto? >> [Študent] XSD. XSD nám dáva súbor hack. Výpis všetkých súborov,-l, ukáže mi všetky súbory v mojom adresári druh v ich dlhej, zoznam podrobného, ​​a tak tu vidíme, že tento dynamic.php súbor Čas poslednej úpravy 5. novembra o 16:21. Majiteľ tohto súboru je jharvard. To je užívateľ, ktorý je prihlásený To je užívateľ pracujem ako, a ak ste tiež v zariadení budete tiež pracovať ako užívateľ jharvard. Ste v skupine študentov, a to sú veci, ktoré uvidíte dosť často. Môžeme ísť do množstva detailov tu ale z veľkej časti to, čo budete chcieť pozrieť na keď hľadáte vidieť či je súbor spustiteľný je primárne užívateľ, ktorý vlastní súbor, majiteľ, tak to jharvard, a potom máme že oprávnenie bity cez tú na ľavej strane, a spôsob čítania je to, že posledný bit zvyčajne sa používa na označenie, či aspoň v tomto prípade Tento posledný bit bude často byť nastavený na reklamné uviesť že súbor je adresár a nie len normálne súbor. Potom nasledujúce 3 bity priamo tu určiť oprávnenia, ktoré vlastník súboru má, takže v tomto prípade jharvard, ako vlastníka súboru, vie čítať a písať tento súbor, ale tam je pomlčka hovorí, že jharvard nemožno spustiť tento súbor. Ďalších 3 bity sú pre skupinu, takže to je študenti skupina, takže ak tam boli viac užívateľov na mojom zariadení, a my sme viac užívateľov ako súčasť študentov skupiny, potom môžu všetci tento súbor čítať, ale nevie písať to, a podobne niekto iný, svet možno iba čítať tento súbor tiež. Tam je dobrý, dlho writeup o tom, takže si môžete prečítať on-line. V spec problému nastavenej ideme do toho podrobnejšie. [Študent] Je 218 s odkazom na svete? The 218 je-off z vrcholu mojej hlave som zabudla, ale nie. Poďme sa pozrieť,. Som zaslepenie na tom teraz. Späť na to, čo sme mali čo do činenia s týmto chmod + x kde sme chceli dať dynamic.php spustiteľné oprávnenia, a bolo otázkou, či alebo nie toto by spustiteľné oprávnenia pre každého alebo len jharvard, a môžeme vidieť podľa spustenie príkazov a písanie ls-l, a teraz vidíme, že je to označené ako spustiteľný. Môžete vidieť, že tam bola zmena farby. Teraz dynamic.php je uvedený v zelenej, a vyzerá to, že odpoveď na otázku je to, čo, Charlotte? [Charlotte] Iba jharvard. >> Iba jharvard, jo. Ak by sme chceli sa otočiť spustiteľný bit pre všetky ako môžeme urobiť, že? Akékoľvek myšlienky? >> + X? Jo, presne tak. Charlotte povedala, čo môžeme urobiť chmod o + x z dynamic.php, a teraz, keď sme sa spustiť ls-l vidíme, že spustiteľné bity skutočne zapnutá pre každého. A môžete skutočne urobiť opak tohto, takže si môžete vypnúť pre všetky pomocou mínus. Teraz je vypnutý, a teraz môžeme ho znovu zapnite pre jharvard takže môžeme skutočne spustiť hneď, a teraz vidíte, keď sme sa spustiť kód tejto špeciálnej #! linka hore, #! line, povedal shell, povedal nášmu terminálu hey, pri spustení tento súbor, použiť / usr / bin / php interpretovať tento súbor a potom vytlačiť výstup. [Nepočuteľné Študent otázka] Iste, dovoľte mi, aby som sa posunúť späť. Rovnako ako tento. Uvidíte všetky z týchto smerníc začať s týmto libru a potom výkričník, niekedy volal shebang, hash bang. [Študent] Ako môžeme spustiť s dynamic.php php, než sme robiť to spustiteľný? Otázkou bolo, ako môžeme spustiť toto použitie binárne PHP zatiaľ čo dynamic.php nie je spustiteľný? To je super dôležité, pretože to je presne to, ako že to bude fungovať, keď píšete problém sadu 7. Väčšina z časových PHP súbory nie sú priamo spustiteľný. Spôsob, akým funguje, je preto, že je to PHP binárny, že je spustiteľný. Tlmočník je vec, ktorá je vykonávaná, a tak to, čo to robí je doslova slurping v časti obsahu nášho dynamic.php súboru a ísť riadok po riadku a vykonávanie týchto príkazov, takže je to s použitím nášho PHP súboru ako zoznam inštrukcií. Nie je to priamo spustením. To je miesto, kde môžeme povedať, že tieto súbory sú interpretované v dobe behu. Je to doba chodu jazyk miesto niečoho, čo v čase prekladu, nie je skompilovaný jazyk ako C. Existuje spôsob, ako získať runtime jazyk správať, ako by to kompilácia čas jazyk, ako keď máte všetky chodu urobil na serveri skôr než viete, čo tým myslím? Áno, takže otázka je Existuje spôsob, ako sa dostať doba chodu jazyky konať viac ako kompilácia typy jazykov? A sú tu, myslím, že je aktívna oblasť výskumu pre mnohé z týchto spoločností. Verím, že Facebook urobil veľa práce s PHP a zostavovanie ho, čo je rýchlejší, optimalizáciou pretože ich stránky sú založené na PHP. Ak ste sledovali node.js vôbec, ktorý je tak trochu o tlmočníka JavaScript aby bolo možné spúšťať JavaScript mimo prehliadač, mimo Vašom webovom prehliadači, pretože tradične JavaScript by len spustiť vnútri Firefoxu alebo Chrome, a to by byť použité, aby chladné animácie stalo na webovej stránke a aby vaše webové stránky dynamické. , Ktorá bola postavená na veľa práce, že Google urobil aby JavaScript a C + + zviazať dohromady, takže je tu veľa aktívneho výskumu na sa tieto jazyky k interakcii a optimalizovať, predovšetkým preto, že veľa ľudí môže kód v PHP a JavaScriptu pretože je to oveľa jednoduchšie. Je to oveľa lepšie. Nemáte ukazovatele. Nemáte typy kolovať. Chceli získať výhody z týchto kompilácie jazykoch so všetkými kontrolu typu a rýchlosti a nižšie využitie pamäte a všetky, ktoré pri zachovaní flexibility a jednoduchosti použitia týchto novšími. Späť k našej pôvodnej plán útoku. Máme niektoré z týchto otázok tu v našej špec problému set. Poďme cez ne naozaj rýchlo, a pôjdeme po miestnosti. Charlotte, aký typ je 3,50? [Charlotte] To je dvojaký. >> Je to double. Jimmy, čo je tá ďalšia? >> Pole. Pole, úžasné, a Jared, čo je fopen? [Jared] Je to zdroj. >> Je to zdroj. To je trochu nového, nie súbor hviezdy, nie súbor. Je to zdroj typu v PHP, a je mi ľúto, Ella, posledný null je to, čo? Null. Null, ako je napísaná v PHP? >> Rovnakým spôsobom. Rovnakým spôsobom, hlavice? >> Jo. Jo, v poriadku. Ideme na to, máme double, máme celý rad, máme zdroj, a potom máme null. Poďme sa pozrieť teraz ste videli- uvidíme, takže teraz myslím, že to, čo som tiež chcú urobiť, je vytiahnuť táto webová stránka priamo tu, tento php.net / manual, takže ak ste rozumiem a otvoriť webový prehliadač. Idem vytiahnuť Chrome, daj to dovnútra Chcem ti ukáže to nielen preto, že môžeme hovoriť celý deň o typoch a všetko, čo zábavné veci ale skôr preto, že je to príručka PHP, a existuje veľa PHP programátorov tam. Existuje mnoho internetových stránok PHP tam, a ako výsledok, tam je veľa dokumentácie na PHP, a manuálne, to php.net, je naozaj dobré miesto, ísť ak máte otázky o tom, čo je najlepší spôsob, ako to urobiť X v PHP alebo čo to funkcia vyzerať? Tak nejako, ako sa zoznámiť s tým, čo to vyzerá, pretože budete sem často, bit pre problém nastaviť 7. Ak ste skončili robiť záverečný projekt, ktorý používa PHP to bude miesto, staneš sa veľmi dobre oboznámený s Často tak ľudia robia, je, že používajú Google na hľadanie miesta, a nemajú použite vyhľadávacie pole, ktoré je tu v pravom hornom rohu, ktorý je tak trochu malý. Ak ste Googling asi niečo robiť s PHP a uvidíte jeden z manuálnych odkazov vyskočí môžete zvyčajne spoľahnúť na to ako celkom dobrý zdroj. Úžasné, tak z týchto typov, len tak zo zvedavosti, ktoré z nich ešte sme nevideli? Čokoľvek sme nevideli tú? [Študent] Resource. >> Videli sme zdroj s fopen hovoru. [Študent] objektov. >> Námietky sme nevideli určite. Volanie sme nevideli. K dispozícii sú niektoré z týchto pseudo-typov. Určite videl iba integer a double. Nevideli sme niektorí iní, takže ak klikneme na celé čísla môžeme vidieť, sú ešte nejaké ďalšie celočíselné hodnoty, ktoré oni majú tu? Sú všetci-tak integer, integer, integer. Niektoré jazyky majú väčšiu celočíselné typy, ako sme videli na MySQL dnes tam bol int a potom veľké int. Cool. Takže, PHP manuál. Vráťme sa k nášmu problému spec set, a my teraz prejdite na stránku 4. Jedna z vecí, ktoré sa stane, keď sa dostanete tieto jazyky ktoré nemajú túto statickú písanie, takže tieto jazyky, kde musíte deklarovať typ prednej premenné až je dostanete na prípady, kedy môžete začať s premenné rôznych typov interakcie medzi sebou navzájom, a PHP robí túto vec, kde sa snaží urobiť to, čo považuje za najrozumnejšie vec keď máte 2 rôzne typy na seba vzájomne pôsobia. Napríklad, ak sa pozrieme na tieto riadky kódu priamo tu vidíte, že sme dostali to, čo sa stane, keď snažíme pridať reťazec 1 na celé číslo 2. Čo sa stane, keď sa budeme snažiť a pridať reťazec, ktorý nie je číselná hodnota ale skutočné znaky, SK k počtu 50? Potom uvidíme, je tam niečo iné, čo sa deje, kde miesto pridanie reťazec na číslo sme zapísanie čísla na reťazec, a tak ďalej a tak ďalej do bodu, kedy sme získali nejaký divný veci tu, kde máme 7 + pravda. Čo sakra to znamená? Ak ste ísť dopredu a vložte niektoré z tohto kódu do vášho prístroja. Môžete držať ju v dynamic.php. Uvidíme, čo sa stane. [Študent] Stačí použiť tlač, nie printf? Jo, takže zistíte, že tlač je tiež platný funkcie pre tlač v PHP. Existuje mnoho rôznych spôsobov, ako to urobiť. Uvidíme sa za pár príkladov neskôr, akonáhle začneme hovoriť o unikátny problému, ktorý budeme písať a potom koncentrácia problém, ktorý budeme písať že aj keď máme fopen a fclose to často nie je najjednoduchší spôsob, ako čítať v obsahu súboru. PHP má mnoho z týchto C-ako holdovers. [Študent] Keď som dal vo všetkých 6 týchto vecí, ktoré som len jednu radu ako výstup. [Nate H.] Keď dáš vo všetkých 6 týchto vecí. Poďme sa pozrieť, je to preto, že je to možno- jedna vec je, že tieto tlačové hovory nie sú ukončené na konci sa nových tratiach. Tam je žiadny nový priamka oddeľujúce každý z týchto tlačových hovorov, takže možno, že ste stále jeden veľký počet, a je to naozaj len amalgám znaky nového riadku. [Študent] Dobre, ako sa môžem uistiť, - No, existuje banda rôznymi spôsobmi. Dalo by sa ručne dať do tlače nového riadku znak, ozvena znak nového riadku, vytlačiť novej rady. [Študent] Tak echo je to isté ako printf? Printf je ako C printf kde tlačíte formátovaný reťazec. Tie dodáva jej formátovací reťazec a potom všetky zástupné premenné. Je to často niečo, čo sa nepoužíva, uvidíme, ako vylúčenie zodpovednosti, Som menej oboznámený s PHP, ako som s inými webovými jazykmi, a keď som sa naprogramovať v PHP som obvykle nepoužívajú printf pretože mi to rýchlejšie použiť Schopnosti reťazec interpolácie, že to má, ktoré pôjdeme do a ja vám ukážem, pár sekúnd, vzhľadom k tomu, v C sme trochu musieť urobiť hacky vec, aby si to vytlačiť správne. Môžete totiž premenné priamo do reťazca v PHP. Printf je trochu príliš dlho na to, čo zvyčajne robím. Áno, Ella. [Ella] Všeobecne, ak sa dostanete chybe analýzy to znamená, ako na C to nemôžem povedať, kde presne je chyba, a čo to je, Takže to znamená, pozri cez celú kódu a to prišiel? Je to zvyčajne cielenejšie než to. Myslím, že v tomto prípade to bolo trochu mimo, takže myslím, že v tomto prípade sme boli chýba bodkočiarka. To sa snažil nájsť zmysel všetkého, tak ako týchto interpretovaných jazykov, tlmočník sa bude snažiť a čo najlepšie, aby sa všetko prácu zodpovedajúcim spôsobom. Uvidíte, napríklad v JavaScripte Budete často-line príkazy end sa bodkočiarkou rovnako, ako je tomu v PHP, rovnako ako je tomu v C. V JavaScriptu niektorých tlmočníkov JavaScript v mnohých prehliadačoch sa dať do bodkočiarky pre vás ak ste náhodou, že chýba im. Budú sa snažiť a prispôsobiť pre niektoré nedbanlivosti na vašej strane. To je miesto, kde by to mohlo byť sa snaží a snaží a snaží veci fungujú, a potom nakoniec sa dostaneme k bodu, kde sa hovorí v poriadku, Nemôžem robiť veci pracovať na kauciu, a to je miesto, kde dostanete číslo riadku že by sa mohlo zdať trochu mimo od presného miesta. Dobre, tak poďme prejsť to naozaj rýchlo. Sme skončili s Ellou, takže poďme sa k Missy, a Missy, čo tlač reťazca 1 plus počet 2 vám? [Missy] 3. >> 3. Dáva to zmysel? Tak nejako? Znamená to dať číslo? Znamená to dať reťazec? [Missy] číslo. >> Je to číslo. Ale je to tlač, takže to bude dať nejaký reťazec. Jedna vec, ktorú môžeme urobiť, aby sme zistili, či na to Ak je my $ var = 1 + 2 a potom povieme, ozvenu GetType, takže sme použili tretej druh tlače tu. Teraz môžeme vidieť, čo sa deje tu. Tu, čo máme, je máme celé číslo z toho. Aj napriek tomu, že sa pridá tento reťazec na číslo, sme nedostali reťazec z toho, rovnako ako Missy povedala. Sme dostávali celé číslo. Dobre, takže uvidíme, next up, Kevin. SK + 50? >> [Kevin] 50. [Nate H.] 50. Dáva to zmysel? [Kevin] Jo. [Nate H.] Prečo? Prečo má zmysel pre vás? [Kevin] Pretože je to len mať reťazec, s číslom hodnotu nula. Jo, skvelý. Druh nejednoznačných situácií, ale je to dobré vedieť, čo sa stane. Stella, čo sa bude diať ďalej s číslom 1 + string 2? [Stella] 3. >> 3 znova. A v tomto prípade, získame reťazec alebo číslo? Dajme to skúsiť. Niekto rýchlejšie než mi dostať odpoveď? Charlotte? Oh, I didn'ti-v poriadku, uvidíme, budeme robiť rovnaký druh veci kde máme rad plus reťazec, a budeme echo typu, uvidíme, čo dostaneme. Tiež sme si celé číslo. Nezáleží na tom, ktorý z nich je reťazec, ktorý z nich je číslo. Stále dostaneme celé číslo. Je to stále bude robiť to, čo by sme mohli očakávať. Dobre, takže Sam, čo 90 + 9 fliaš piva na stene? [Sam] 99. >> 99. Žiadne fľaše piva na stene, aj keď. To nám dáva trochu viac informácií o tom, čo sa deje. [Sam] Ak ste písal 9 v listoch potom budete mať 90, nie? [Nate H.] Jo. Otázkou bolo, či by sme napísal 9 out ako N-I-N-E by sme dostali 99 alebo 90? Mali by sme si 90. Je to doslova len hľadá číslice znaky. Je to dosť šikovný, aby rozpoznať počet slov, a že tak. Áno. [Študent] Je tam taká vec ako obsadiť v PHP? K dispozícii je, a je to presne tak, ako by ste to urobiť v C. Čo 10/7, Charlotte? [Charlotte] 1,4285. [Nate H.] Jo, takže to, čo by mohlo byť prekvapivé o tom? Čo by sa stalo, keby ste rovnaký druh veci v C, ak ste 10/7 v C? [Charlotte] To by len vy-v závislosti na tom, ako ste typecasted Myslím, že to by vám len obmedzený počet číslic za desatinnou čiarkou. Jo, takže obmedzený počet číslic za desatinnou čiarkou. Čo iné by mohlo byť, to by vám nejaké číslic za desatinnou? Často nie, tak znovu, v závislosti na tom, ako ste ju obsadiť môže alebo nemusí ho previesť na desatinné číslo. Tu to bolo celkom fajn, že to urobil. Keby sme vám ukáže vám to späť, keď sme začali robiť tento druh vecí v C by pravdepodobne urobil trochu väčší zmysel že nie je len tak, aby 1. A potom konečne, Jamie, čo 7 + pravda? [Jamie] 8. >> 8. Čo to znamená? Myslím, že to dáva len pravda, hodnota 1. Jo. Čo sa stane, keď zmeníme, že na false? [Študent] 7. Jo, tak si pamätajte, kde budeme hovoriť o týchto binárnych hodnôt, 1 je zapnuté, 0 je vypnuté? Teraz máme pravda je 1, 0 je false, a nemusí to videli v príkladoch C, ktoré sme urobili tento rok v semestri, ale historicky bool typ v C nebol typ real, takže ľudia používajú 0 a 1 v mieste true a false. To je prejavom, ktorý. Dobre, takže jedna dôležitá časť o všetkom je to, že máme tieto rôzne typy. Môžu na seba vzájomne pôsobia. Oni môžu často na seba vzájomne pôsobia v cestách, ktoré sú pekné, ako sme videli tu. Je to pekné, mať možnosť reťazec 1 a číslo 2, pridajte ich dohromady a dostanete 3. To dáva zmysel. Avšak, keď píšete webové stránky, a to najmä, keď ste spracovania užívateľský vstup, takže povedať, že si napísal webový formulár , Ktorý zhromažďuje informácie od užívateľa a potom ide do spracovávať na zadnej koniec, na strane servera vo vašom PHP kódu ak ste očakával, že hodnota, ktorá používateľ napísaný a predložený Do formulára sa celé číslo alebo byť číslo s plávajúcou čiarkou, alebo niečo také budete musieť explicitne přetypovat a potom urobiť nejaké kontroly typu. Vy nechcete len spoliehať na tomto systéme typu žonglovanie, aby to vyjde, najmä z bezpečnostných dôvodov a len pre robustnosť svoje webové stránky. Len niečo mať na pamäti, že keď ste manipuláciu dát z formulárov, čokoľvek, čo príde v pošte alebo get superglobála uistite sa, že ste vždy overiť, a previesť ju a obsadiť ho. A rovnako ako sme hovorili o chvíľu pred týmto obsadiť v PHP je presne rovnaký ako v C, kde budete mať zátvorky a potom typ. Majte na pamäti, že. Jedna funkcia, ktorá príde vhod, keď to robíš je sme používali a toto je ako stranou, sme používali túto GetType funkcie tu zistiť typ premennej, a keď je to užitočné pre ladenie a zistiť, aké premenné je typ nechcete používať to, napríklad, v stave, kedy máte kontrolu, či GetType na $ var = integer niečo urobiť. To je zlý, zlý, zlý. Namiesto toho sú tieto funkcie nazývajú je integer, je reťazec, je pole, ktoré chcete použiť namiesto toho, aby v tomto prípade čo by som chcel robiť, namiesto toho chlapa tu je použiť je celé číslo var. A oni často odvolával sa is_ * v tom zmysle, že by ste mohli nahradiť * s integer, string, et cetera, a len aby sa ubezpečil, naozaj rýchly je to int PHP. Vyzerá to, že môžete urobiť je buď int, alebo je tam je celé číslo, rovnako? Áno, alias, takže int celočíselné pseudonymy. Cool. Ako sme na tom? Poďme zdvihnúť tempo trochu. Teraz budeme hovoriť o pole, tak ako môžete vidieť V ďalšej časti špec budeme hovoriť o tom, ako pole v PHP sú mierne odlišné, než sú v C. V skutočnosti, oni sú trochu amalgámu na pole, ktoré ste spoznali a lásku v C kde všetko je rovnakého typu uložené po sebe a súvisle v pamäti, a budete mať tieto číselné indexy. Máte index 0, index 1, index 2, a uloženie hodnôt v týchto indexov. Môžete tiež v C, keď ste napísal pravopisu, veľa z vás urobil hash tabuľky prístup, a videl, že tam sme mali iný druh skladovania, kde sme boli mapovanie kľúč na hodnotu, takže keď ste sa pokúsili uložiť niečo v hašovacia tabuľke ste mali určiť, že ste chceli uložiť s konkrétnou kľúč, a že kľúč určuje umiestnenie hodnoty a kde by to byť uložené. Ste trochu dostal oboch týchto pojmov deje súčasne v poli PHP, a ako výsledok, často nazývajú tieto asociatívnych polí kde sme združujúca kľúč v hodnote. V tejto ďalšej časti budeme hovoriť o jednoduchú PHP polia kde máme klávesy A, B a C, všetky reťazce, mapovanie celých čísel 1, 2, a 3. A môžete mať kľúče rôznych typov. Môžete mať niektoré klávesy, ktoré sú struny, niektoré klávesy, ktoré sú celé čísla. Môžete mať hodnoty rôznych typov. Môžete mať hodnotu, ktorá je reťazec, hodnota, ktorá je celé číslo, hodnota, ktorá je predmet alebo ďalšie pole, napríklad, všetko v jednom poli objektu, ktorý je trochu zvláštne. Nemusíte mať pole, ktoré práve dostal jeden typ prvku v ňom. Môžete mať mnoho rôznych vecí sa tam deje. Ďalšia vec k poznámke je, že keď vidím niečo také v kóde, ktorý je platný PHP vyhlásiť pole práve tak ako to, 0, 1, 2, 3, 4, 5, že vyhlási inicializovaný $ ARR byť toto pole. Ale to, čo ste vlastne stále pod kapotou je tento druh implicitná generácie kľúčov, kde sme sa dostali 0-0, 1-1, 2-2, 3-3. A ukázalo sa, že aj keď máte pole, ako je ten chlap tu kde máte, B a C a kľúče a potom začať používať pole pasívny spôsob začať používať toto pole ako hromada, takže môžete vidieť, že toto pole objekt, je toto pole naozaj stávať preťaženiu. Môžeme ho použiť ako pole. Môžeme ho použiť ako tabuľky hash. Môžeme ho použiť ako zásobník. Keď začať tlačiť veci na tomto poli Prvá vec, ktorú budete tlačiť na to bude index 0 a potom index 1 a index 2. Môžete si tento druh implicitného generácie kľúčov ak zadáte explicitne. Tak, ako si zadať kľúče explicitne, samozrejme, je pomocou tohto držiaku zápis, , Ktorý je podobný polí s výnimkou miesto iba umožňuje celočíselné indexy v tu a teraz necháme niečo. Ak chcete, aby vaše kľúčové byť reťazec, mali by ste zadať to takto. Ak chcete, aby to bolo int, zadáte ho s int, ktorú chcete použiť. Otázky týkajúce sa, že tak ďaleko? Jednou z pekné veci o tejto myšlienke je, že môžete len niekedy mať jednu hodnotu uloženú s určitým kľúčom. Ak sa vrátime k nášmu zariadenia, dovoľte mi, aby som odstrániť niektoré z týchto vecí. A povedzme, že som inicializovať pole byť 0, 1, 2, hotovo. Keby som teraz viem, že napríklad, keď som echo $ ARR [0] Idem sa dostať hodnotu 0 vytlačiť, a pretože tam môže byť jedine jedna hodnota uložená pre konkrétny kľúč ak uložím niečo na $ ARR [0], povedzme, potom viem, že keď som echo $ ARR [0] znova Nebudem sa dostať 0 vytlačí rovnako ako predtým. Ja som len dostanem. Takže to je v podstate hovorí, že nemôžem mať $ ARR [0] ukladanie 2 rôzne hodnoty. To nemôže ukladať ako 0 a reťazec sa, takto doslova nahrádza čo je v $ ARR [0] skôr. Dôvod, prečo som priniesť to až sa ho spustiť, uvidíme, čo sa stane. Pozrite sa tu, že som sa dostal 0 vytlačiť a potom tu dole. Nie je nový riadok tam, pretože som bol lenivý a nedal, že dovnútra Čo je v pohode na tom je, môžeme použiť ako spôsob zachytiť túto myšlienku súboru kde nemôžeme mať viac kľúčov v rámci poľa. Nemôžeme mať rovnaké kľúče v poli. Nemôžem mať kľúčovú 0 a hodnotu 1 a kľúče 0 a hodnotu a alebo tlačidlo 0 a hodnota true. Kľúče sú-tu iba 1 kľúč v poli. Aj keď je možné mať rovnaký uloženú hodnotu niekoľkokrát v poli pod rôznymi kľúčmi to nie je možné, majú rovnaké kľúčov viackrát v PHP poľa. Ak sa pozrieme na tento ďalší problém, unique.php, tam, kde chceme otvoriť PHP súbor obsahujúce zoznam reťazcov, jeden reťazec na riadok, a chceme nájsť všetky jedinečné reťazce v tomto súbore všetko, čo musíte urobiť, je použiť jeden z týchto PHP poľa a používať reťazca v súbore kľúče k tohto poľa a zachovať aktualizáciu našu ponuku, ako budeme ukladať tieto nové kľúče. Ako sme si riadky z súboru, môžeme uložiť v poli, a na konci budeme mať ako naše kľúče v našom poli všetky jedinečné reťazca v súbore. Dáva to zmysel? Poďme sa pozrieť, ako to funguje. Budeme otvárať, podľa špecifikácie, nový súbor s názvom unique.php. Otvoriť. Jejda, ospravedlňujem sa, nový súbor. Budeme začať ho s rovnakým počiatočným a koncovým tagy. Budeme ho uložiť do oddielu 9, a budeme to nazývať unique.php. Dobre, teraz Zoom Nápad tu je otvorenie súboru, čítať v súbore riadok po riadku. Pre každý riadok v súbore budeme mať pole, kde sme  linke ako náš kľúč. A potom, keď sa dostaneme na koniec tu $ Arr tieto klávesy sú jedinečné línie zo súboru, pretože vieme, že keď som dal linky do tohto poľa niekoľkokrát to bude len držať prepísanie staré hodnoty, a môžeme skutočne dať pole riadok ako sám len tak. To je divný. Sme ukladanie rovnaký kľúč hodnota pár znova a znova a znova, ale pretože sme zaručiť, že tam bude len 1 kľúč nazýva riadok takže ak máme súbor, ktorý hovorí, že-súbor zvieracích zvukov a má Haf haf,, meow, meow, bučať, bučať, a zakaždým, keď čítame zvieracie zvuk out ako tkanina a uložíme v našom poli dostaneme Haf, a potom druhýkrát uložíme Woof prepíše prvýkrát, že sme uložené to. Na konci budeme mať len jednu položku v poli pre každú z zvieracie zvuky v našom súbore zvieracie zvuky. Myslíte si, chlapci si istí, že môžete riešiť otvorenie súboru v PHP? Jeden spôsob, ako to urobiť, poďme na tento rýchlo-jeden spôsob, ako to urobiť je funkcia fopen, ako sme videli predtým. Môžete fopen some_file.txt. Môžete ho otvoriť v režime pre čítanie, rovnako ako v C. To je jeden úplne dobrý spôsob, ako to urobiť. Môžete tiež potom pre čítanie v súbore riadok po riadku majú rovnaké funkcie, mnoho z nich, ktoré ste urobili v C. Máte fgets. Máte feof, aj keď sa nám nepáči, že pomocou pretože, pamätajte, že to nie je veľký v C. Môžete to urobiť rovnakým spôsobom, ale tu je naozaj super vec. Je nám ľúto, nechcem robiť $ file, ale tam je funkcia nazvaná súbor PHP, a táto funkcia tu je v pohode, pretože to prečíta celý obsah spisu, ktorý určíte, tak some_file.txt, prečíta celý obsah tohto súboru do poľa a potom umožňuje iterácii nad ním, čo je docela šikovný. Ak pôjdeme, napríklad pre náš webovom prehliadači a my sa pozrieme na Google pre tento súbor PHP môžete vidieť, že naše manuál hovorí, že súbor načíta celý súbor do poľa, a môžeme file_get_contents vrátiť obsah súboru ako reťazec, ale zvyčajne len na to, ako pole, je naozaj pekné, pretože to, čo robí je to rozbije tak, že každý prvok v poli je jeden riadok súboru, takže ak sa pozrieme v samostatnom súbore 0, to je prvý riadok súboru. Súbor 1, druhý riadok, súbor 2, tretí riadok, a tak ďalej, a tak ďalej. Nebolo by pekné, keby to bolo všetko, čo musel urobiť v C? Docela šikovný. David ukázal to v prednáške, a štýl sa ukázal bol že okrem nášho štandardu pre loop-v PHP sme, že for ($ i = 0; i <10; i + +), a môžete to urobiť v PHP taky, to isté- máme tiež túto skvelú konštrukciu s názvom foreach. Foreach je naozaj užitočné, keď iterácie poli alebo týchto dátových štruktúr pretože vám umožní vytiahnuť každý prvok poľa bez toho aby ste museli ručne urobiť Indexing sami, aby bolo nutné ručne vytvoriť premennú indexu, zvýšte ju, vytiahnite hodnotu v poli v tomto bode, pretože to je veľmi bežná vec robiť. Pravdepodobne ste urobil, že tony časy, kedy ste robili C veci nad semestra, takže v tejto foreach môžeme slučku tohto súboru poľa, a syntax je, že chceme, aby teraz slučke počas tohto poľa a určiť, že premenná budeme používať pre ukladanie prvok tohto poľa lokálne, miestne oblasti pôsobnosti tejto slučky foreach, sa budeme hovoriť line. Ak je to súbor niekoľkých slov a tam je jedno slovo v riadku by sme mohli nazvať to slovo rovnako, naozaj len dáte to meno, čo chcete hovoriť, a potom vo vnútri slučky, môžete robiť, čo chcete s týmto premenných. Ak to nie je dosť, aby si hodnotu poľa a budete tiež chcieť, aby sa index spolu s ním si môžete zadať názov indexu rovnako ako hodnota, a teraz máte prístup k 2 premenných. Máte $ i a vedenie kde $ i je index v poli, a linka je riadok, ktorý načítať zo súboru. Napríklad, ak chceme vytlačiť echo riadku 0 v súbore ako je tento, by sme mohli urobiť to rovnako ako to, "Line $ i zo súboru $ line," a tu je niečo, čo tiež ešte nevideli ani kde som jednoducho úplne preskočil celý tento% s% d podnikania že sme sa museli vysporiadať v C, a namiesto toho som šiel rovno do písanie premenné v súlade v mojom reťazci. To sa nazýva premenná interpolácie, interpolácie string kam plnkou premenné priamo v, a interpret PHP je dosť šikovný na to, keď je to čítanie cez reťazec, ktorý začína s úvodzovkami- nie jediné citácie, so samostatnými úvodzovky, môžete to urobiť, ale s dvojitými úvodzovky, pretože prečíta to hľadá premenných. Je to lov je dole, a ak to bude považovať premenné, bude mať hodnotu premennej a napchať si ho do reťazca, ak to môže previesť do reťazcové vyjadrenie, čo je docela šikovný. Pre túto chvíľu, poďme komentár mimo zvyšok všetkého, uložte tento, a to, čo môžeme urobiť, je môžeme otvoriť súbor že môžeme volať some_file.txt-rokov 's vytvorenie nového súboru, a môžeme dať si pár vecí nezmysel sem len vyskúšať všetko von, uložiť, hovoria some_file.txt, ako robím tu hore, a teraz keď som oddialiť len uistiť, že všetko je v rovnakom adresári, vyzerá to, že mám unique.php a some_file.txt v rovnakom adresári. Keby som spustiť php unique.php vidieť, ako to vytlačí každý riadok v mojom súbore a čo linka je? To je dosť silný, nie? Pozrite sa, trvalo 3 riadky kódu otvoriť súbor. No, 4 riadky kódu. Nedokážem spočítať dnes jasne. Ale naozaj len 2 zaujímavé riadky kódu, pretože ďalšie 2 boli zložené zátvorky, ale v tomto veľa kód, ktorý sme boli schopní otvoriť súbor, určiť iteráciou cez to, vytiahnite číslo riadku a riadku sám a vytlačiť. Vychytávky na stiahnutie. Charlotte. [Charlotte] Mám otázku o syntax. Takže foreach sa zaoberá každú jednotlivú riadku súboru, ktorý si otvorí, a potom, keď chcete robiť veci s každým riadku stačí to urobiť ako a potom pridružiť hodnotu. [Nate H.] Čo môžete urobiť práve tu otázka bola foreach má čo do činenia s poľom, takže foreach syntaxe je naozaj foreach, a všimnite si, že tam nie je priestor alebo niečo medzi pre a každý. Musí ísť priamo vedľa seba, a potom sa v poli, a potom máte tento ďalšie kľúčové slovo názvom ako má byť tam, a potom po ako môžete buď dať jednu názov premennej, v takom prípade sa chystáte byť vytiahnutím hodnoty poľa, nie indexy, alebo ak si to, ako sme napísal nižšie dostanete kľúče a hodnoty. Tie majú foreach prvok poľa alebo pár poľa, ako výčnelkom, aby hodnota alebo ako len hodnota. V závislosti na tom, čo budete potrebovať, ak nepotrebujete kľúče, potom môže ísť s hodnotou. Ak chcete, aby tlačidiel môžete ísť s nimi taky. [Charlotte] Tiež som si uvedomila, že nikdy deklaroval aj alebo linku. Ako to ani nevie, čo to je? [Nate H.] Čo myslíš tým vyhlásiť? [Charlotte] Nikdy sme im povedali, čo som alebo linka prostriedky. [Nate H.] Nikdy sme povedali počítači, čo som alebo čiara značí, pokiaľ ide o- [Charlotte] To, že sú indexované alebo Sú v- [Nate H.] Nikdy povedané to, že to má byť index alebo kľúč a hodnota, a to preto, že to je PHP interpret. To slúži ako vyhlásenie a hovorí poriadku, kľúč bude premenné volal aj uložený v premennej s názvom i Hodnota sa bude uložený v premennej s názvom linky, takže to slúži ako vyhlásenie o týchto premenných a hovorí, že $ i je kľúč, a $ line je hodnota. Jo, Ella. [Ella] Ak sú kľúče neurobil číselne ako sa rozhodnúť, v akom poradí to bude tlačiť všetko? Je to rovnako ako poradie to zapísané v? [Nate H.] Poďme to skúsiť. Poďme vytvoriť premennú s názvom ARR, a čo môžeme urobiť ide do 7. Povedzme, že 0 ide do ďalšieho poľa s 1, 2, alebo jablko. Povedzme, že 7 ide do 1, b ide do 2, a 3 ide do 4. To je tak trochu blázon hľadá napríklad preto, že sme miešanie reťazca a celé čísla všade okolo. Nie je tam žiadny skutočný aby na toto pole. Chcem povedať, že sme objednať všetko v abecednom poradí podľa kľúča. Sme si mohli objednať všetko abecedne hodnotou. Mohli by sme skúsiť a vziať do úvahy, že niektoré reťazce, niektoré sú ints, a sme si mohli vyskúšať a previesť ich všetky do rovnakého typu a uvidíme, čo sa stane, alebo môžeme uvažovať je v hodnote, v ktorom sme už zadali kam sme toho chlapa do prvej, ten chlap na druhom, ten chlap v tretích, ten chlap vo štvrtom, et cetera. Pozrime sa, čo sa stane, keď sme sa spustiť tento kód. Ak budeme posúvať dole a urobiť rovnaký druh veci, a tu to nie je vytlačenie nových liniek. Keď čítať veci z súboru bolo vrátane nových tratí v hodnotách, ktorý bol dôvod, prečo sa vytlačiť pekne, zatiaľ čo tu to nie, tak to je dôvod, prečo je všetko smushed dohromady. Dodajme, že v tejto novej rade stačí, aby sa veci pekné. Poďme spustite ju, a tak tu pozrite sa na to, čo sa stalo. Je vytlačený všetko v poradí, v ktorom sa dať do poľa. To zachovať poriadok v tomto zmysle. Vráťme sa späť k tomuto problému unikátov tam, kde chceme byť schopní iterácii súboru, a dáme to some_file.txt, a budeme určiť iteráciou cez to takto. Povedali sme, že sme chceli využiť pole, aby sa ubezpečil, že by sme dostali všetky jedinečné línie von, a tak by sme mohli urobiť veľmi ľahko jednoduchým uložením v poli, ktoré sme samozrejme vyhlásiť mimo rozsah slučky, A my sme povedali, že ak sme použili riadky v súbore ako kľúče v našom poli ak sme vstúpili duplicitné riadok by sme byť prepísanie predchádzajúcej hodnotu. To nie je vôbec možné mať 2 kľúče, ktoré sú zhodné v jednom poli. Môžeme robiť len to. Budeme sa zbaviť tohto echo vyhlásenia tu. Tu sme uloženie riadok v súbore na našom poli pomocou sa ako kľúč. Nič na tom nie je, a ukázalo sa, že nemáme ani potrebovať kľúč. Nepotrebujeme, aby aj premenná. V tomto bode, ak by sme mali urobiť ďalšie slučky foreach a my sme boli na slučke na každom ARR a linka teraz, keď sme echo-oops, sorry. Nemôžeme používať čiarku. Musíme použiť ako kľúčové slovo. Teraz, keď sme echo riadok by sme sa mali dostať všetky unikátnych slov v súbore. Ak pôjdeme do some_file.txt, a povedzme, že to jablko, banán, jablko, jablko, banán, Ak máme vytlačenie všetkých unikátnych slov v tomto súbore by sme mali získať iba jablko a banán vytlačiť. Ak šetríme to, teraz tu budeme približovania sa php unique.php, a tá-da. Úspešne sme uniqued súbor. Záverečná časť tohto problému je výzvou na triedenie tohto poľa pred vytlačiť to pretože v tomto jednoduchom príklade, ktorý sme práve urobili sme mali šťastie v tom zmysle, že súbor- Urobili sme to vymyslel príklad s jablkami a banánmi. To už sú zoradené. Ale pomocou jednoduchého triedenia funkcie môžete triediť pole, čo je docela šikovný. Posledná vec, že ​​chcem hovoriť s vami asi naozaj rýchlo je, že tento druh PHP je všetko v poriadku a dobré, a je to super padnúci do ruky vedieť, ako to urobiť, ak budete niekedy potrebovať urobiť malé, rýchle veci programovo. Napríklad, keď budem musieť napísať program, ktorý, povedzme, dáva všetkým do sekcií nebudem chodiť a písať v jazyku C. Bude to trvať dlho. Bude to mať trochu bolesti, najmä v prípade, že sa jedná o súbory, rovnako ako vy som videl. Je to tak pekné, že sa práve v tomto veľa kódu priamo tu sme boli schopní preraziť súboru, vytiahnite všetky jedinečné hodnoty a vytlačiť je späť. Avšak, pre vaše úlohy, pre vaše projekty, ak staviate webové stránky s PHP moc je to utiekame naša PHP súbory prostredníctvom tohto tlmočníka, a tlmočník je spracovanie všetko vnútri tagov PHP, takže všetko ostatné nedotknuté a vypľul výsledky. Môžeme to urobiť stavať HTML programovo. Teraz, keď sme sa vrátiť k spec, posledný problém v špec hovorí o tejto myšlienke spájania a vytvorenie drop-down menu, ktoré môžu alebo nemusia chcieť robiť, v závislosti na tom, čo vaše konečné projekt robí, ktorý umožňuje užívateľovi vybrať zo zoznamu všetkých možných koncentrácií ich jednej koncentrácii. Teraz, to je tak trochu bolesti typu na to a urobiť všetko ručne, a to najmä, keď ste museli uistiť, že máte všetky lomené zátvorky na správnom mieste a všetky citácie na správnom mieste, tak s PHP môžete robiť programovo, a môžete to urobiť naozaj rýchlo. Poďme sa pozrieť, ako to urobiť. Budeme otvoriť nový súbor. Budeme dať v našich PHP tagy. Budeme hovoriť, že concentrations.php, a teraz, keď to robíš, trochu dobrá vec myslieť keď sa snažíte kombinovať a zápas si PHP a vaše HTML je prísť na to,, jo, čo je tá časť, ktorá chcem programovo generovať? Čo je tá časť, ktorá môžem programovo vytvárať? Je pravda, že môžete urobiť všetky vaše HTML vnútri PHP blokov. Môžete echo všetky HTML ako reťazce. Napríklad, keď chcem začať robiť zvoľte značky vnútri PHP Môžem povedať, echo, hovoria vyberte názov = koncentrácia, a potom dole by som mohol mať iný echo tag alebo iný echo tzv close vyberte. To je jeden spôsob, ako to urobiť, pretože to, čo to je doslova robiť je vytlačiť tento reťazec, keď je to beh cez tlmočníka PHP, takže výsledok bude HTML. Ak by som tento súbor uložiť ako je teraz a bežím php concentrations.php pozrieť sa na to, čo som dostal. Dostal som tento otvorený Zavrieť Vyberte značku. Ak by som mal urobiť, a ja sme boli uložiť tento výsledok do súboru, hovoria, concentrations.html-wait, to vyzerá, že l je preč na druhú stranu- Teraz keď otvorím tu concentrations.html vidíte mám validný HTML súbor. Je to trochu divné? Sme používate PHP pre vytvorenie HTML, vytvoriť validné HTML. Spôsob, akým sme to urobiť, je budeme mať len tlačové PHP HTML, že chceme, aby sa tlačilo. To je doslova ako PHP webové stránky fungujú. Keď navštívite webovú stránku, ktorá vás pošle k niečomu, ako je niečo, niečo, niečo, čo dot com lomítko index.php Počítač je doslova vyvolanie index.php, beží cez PHP interpretru, a bez ohľadu na nevyžiadanú vyjde to posiela späť do prehliadača a hovorí hej, prehliadač, interpretovať to ako HTML. Pekná vec je, že to môže byť bolesť neustále písať echo, echo, echo, echo a uzavrieť všetko v úvodzovkách, ako je tento, takže ak chcete písať HTML, ktoré to bude statické sami, môžete to urobiť takto, dať von, zatvorte ho, a potom tu dal len vnútri PHP značiek, ktoré poznáte Ak chcete programovo vytvárať, a v tomto prípade je to táto možnosť tagy , Ktoré sú bolesť generovať. Napríklad by sme mohli generovať tisíce možností tagy tým, že robí niečo podobné, $ i <1000, i + + a hovoriť echo hodnoty opcie = $-jejda, to nemôžem urobiť, že. Dobre, poďme to skúsiť a uvidíme, čo sa stane. $ I a potom hovorí $ i