[Powered by Google Translate] [8 §] [vähemmän mukavaksi]
[Nate Hardison] [Harvardin yliopisto]
[Tämä on CS50.] [CS50.TV]
>> Tervetuloa toiseksi viimeinen kappale.
Tällä viikolla aiomme puhua PHP, ja sitten ensi viikolla
teemme hieman arvostelu Quiz 1.
Aiomme aloittaa sivulla 3 ongelman asettaa pakkaus,
ja me työn kautta osa kysymyksistä melko nopeasti.
Sivulla 3, alamme puhua tästä eroa C ja PHP
siinä mielessä, että PHP on dynaamisesti kirjoitettu kieli,
kun taas C on staattisesti kirjoitetaan,
ja on joku todella nopeasti tehdä mitään koodaus jotain PHP
tai Python tai Ruby ennen JavaScript?
Täysin uutta? Okei.
>> Kaikki nämä kielet juuri mainitsemani
ovat hyvin erilaisia ​​kieliä kuten C-ja C + + ja Java
siinä mielessä, että kun julistaa muuttuja sinun ei tarvitse ilmoittaa
millainen muuttuja on, niin C olimme jumissa ottaa aina sanoa
Tämä tulee olemaan int muuttuja, tai tämä tulee olemaan char * muuttuja,
kun taas PHP, Python, Ruby,
kanssa paljon näistä enemmän nykykielten sinun ei tarvitse tehdä sitä ollenkaan.
Juuri julistaa muuttuja, ja kun kyseessä on PHP
te julistaa, että se muuttuja edeltävällä se $ merkki,
ja sitten tyypin muuttujan määritetään arvosta riippumatta se pitelee,
joka on eräänlainen jäähtyä.
Leikkiä tällä vähän, meillä on näyte PHP-koodin täällä
välillä alku-ja.
Käytämme tätä ikään kuin HTML siinä mielessä, että
meillä nämä kulmaraudat täällä avata ja sulkea.
Näet HTML.
Näet samanlaista syntaksia XML liikaa.
>> Tämä osoittaa alussa PHP lohkoa.
Tämä? Php on nimenomaan PHP.
Suljemme kaiken?> Samoin.
Katsotaanpa avata tiedoston myös laitteesta mitä haluat.
Tässä paketissa sanotaan soittaa dynamic.php.
Todellisuudessa voit kutsua sitä mitä haluat, mutta tiedoston nimi tulee esille
ja on tärkeää myöhemmin, joten vain muistaa mitä te kutsutte sitä.
Aion siirtyä laitteen
ja aion tehdä hakemiston
9 § Uskon me olemme nyt.
Ja me mennä 9 §,
ja aion käyttää gedit.
Katsotaanpa, gedit ja aion soittaa kaivoksen dynamic.php.
Boom.
Sisällä dynamic.php, koska tämä on PHP tiedosto
ja haluan ajaa tätä kautta PHP tulkin
Minun täytyy aloittaa kaiken pois näiden avoimet koodit,
joten aion aloittaa ne heti,
antaa itselleni vähän tilaa välillä tunnisteet,
ja sitten kohta tämän harjoituksen oli leikkiä
Tämä toiminto nimeltään getType, joten getType, tämä toiminto täällä.
>> Huomaa, että ei ole alaviivalla tai tila-tai yhdysmerkki tai jotain sellaista
erottamalla 2 sanaa, saada ja kirjoita vain yksi sana kokonaan.
Mutta mitä tämä tekee on, jos olen kulkea muuttujan getType,
sano $ var tai $ x,
Tämä kertoo minulle eräänlainen vuonna virheenkorjaus muodossa
Mikä nimi se tyyppi on.
Aiomme kokeilla täällä.
Erityisesti jos muistella PSET spec
meillä muutama eri koodirivillä täältä.
Ensimmäisellä rivillä koodia me alustaa tämän muuttujan $ var-
olla yhtä suuri kuin 7, ja sitten meillä on tämä printf linjaa
joka sanoo hei, printf var on tyhjä.
Printf on yksi monista tavoista, joilla voimme tulostaa asioita PHP.
Usein näet Kaiutustoiminto sijasta käytetään printf,
mutta printf olemme kaikki tuttuja jotka on koodaus C aikana.
Mitä voit itse tehdä on katsotaanpa kopioi ja liitä teoksia.
Aion antaa tämän kokeilla.
Menemme takaisin päälle laitteeseen.
Okei, ja siellä mennään.
Ja väli on hieman outoja, mutta tässä mennään.
Meillä tätä koodia tänne.
>> [Student] Eikö ole hyvä tyyli välilehti sitä?
Anteeksi?
[Student] Onko tavanomaista välilehti on?
Oikea, joten Sam kysyy onko yleissopimuksen välilehti sitä tai ei.
Tyypillisesti kyllä.
Tässä tapauksessa olen päättänyt olla.
Oikeasti, näet eri asioita eri ohjelmoijia.
PHP tyypillisesti käytetään usein yhdessä HTML
ja muita kieliä, joten joskus tulostus näyttää hieman funky
jos luetelmakohta sisällä PHP alku ja loppu tageja.
Se oikeastaan ​​riippuu.
Tässä tapauksessa kopioi ja liitä ei liitä välilehdet minulle,
mutta se varmasti ei, kuten sanoit, on selkeytetty.
Okei, jos tallennat tämän koodin dynamic.php
niin mitä voit tehdä on astunut alas teidän pääteikkuna missä olen oikeassa tänne
in gedit, ja tehdä vastaa koota
käyttäen tehdä ja sitten käynnissä koodisi C
kaikki sinun täytyy tehdä PHP tiedosto on käynnistää PHP tulkki,
joka on pieni ohjelma nimeltä PHP,
ja argumentti annat tulkki on tiedosto, jonka haluat tulkita.
Tässä tapauksessa dynamic.php.
Oho, missä minä laittaa sen?
Voi, laitan sen 9 §, ja täällä olen. Siksi.
>> Nyt jos juoksen sen uudestaan
näemme, että ensimmäinen getType funktiokutsuna
var on kokonaisluku.
Vuonna seuraava var on merkkijono, ja sitten kolmas var on boolean.
Mitä mielenkiintoista tässä on, jos me vierittää takaisin ylös näemme, että
Nämä ovat tyyppejä samanlaisia ​​kuin että meillä oli C.
Meillä oli ints in C
Meillä tavallaan oli jousille C,
joten jouset eivät ole täysin legit tyyppinen siinä mielessä, että
Meidän CS50 string oli todella mitä?
Anteeksi? Missy?
[Missy] Char *.
Joo, se oli tämä char * käytimme.
Vuoden alusta lukukauden käytimme merkkijono tyyppi,
mutta se oli todella char * konepellin alle.
Me vain määritellyn sitä, kun taas PHP nämä jouset ovat todellisia tyyppiä.
Ei enää tätä char * tyyppinen kamaa.
>> Huomaat, että voimme tehdä paljon enemmän asioita jouset
paljon helpommin PHP kuin voisimme C,
ja lopuksi, meillä on tämä Boolean, ja suuri ero on, että
jos selaa alas näemme, että nimi tämäntyyppisten
ovat nyt kokonaisluku, merkkijono, ja Boolen sijaan int ja bool-
ja kun poimia eri ohjelmointikieliä,
olettaen, että jossain vaiheessa elämäänne voit joutua kosketuksiin
erilaisia ​​itse huomaat pikku koukero näin
jossa C kutsuu kokonaislukuja ints.
Jotkut kutsuvat sitä kokonaislukuja.
On muitakin termejä, voit törmätä.
Big int näimme tänään SQL.
On myös useita ja sitten bool, boolean,
kaikenlaisia ​​eroja siellä.
>> Tämä ei ole kovin mielenkiintoista, mutta nyt aion antaa teille vähän aikaa
jos me zoomata takaisin ulos-töihin läpi tämän harjoituksen alareunassa sivun 3
jossa se kysyy, millaiset vastaavat arvot täällä alareunassa.
Meillä on 3,50.
Meillä on tämä asia täällä, mikä on mielenkiintoista.
Emme ole nähneet, että ennen, mutta jos olet seurannut pitkin luento
sinulla todennäköisesti jo tietää, mitä se on.
Sitten meillä on tämä, mikä tämä on tavallaan outoja.
Tunnistatko tämän.
Mikä on tämän C?
Sam? Mitä tämä antaa sinulle C?
Se avaisi tiedoston nimeltä dynamic.php ja tehdä siitä luettavissa.
Niin, ja mikä olisi tyyppinen muuttuja voisimme antaa tämän? >> Tiedosto tähti.
Aivan, me antaa tätä tiedostoa tähti.
Tämä on laillinen PHP liian.
Suorita se. Katso mitä tapahtuu, kun ohitat että osaksi getType.
Ja sitten myös tarkistaa mitä null on, mitä se voisi olla PHP.
Annan teille pari minuuttia.
Voit kirjaimellisesti kopioida ja liittää nämä arvot,
ja sitten teemme pienen satunnainen puhelun sinua
ja katso, mitä sinulla on.
>> [Opiskelija] Minulla on kysymys. << Joo.
Yhdessä luentojen David sanoi jotain, voit laittaa yläreunassa tiedoston
joten sinun ei tarvitse kirjoittaa PHP aina.
Mikä se oli?
Hän luultavasti puhuu punnan bang, hash bang.
Se on direktiivi, jos merkitset tiedoston suoritettavaksi
niin mitä se tekee on kun suoritat tiedoston
se kertoo kuori ohjelma
käyttää PHP tulkin tulkita tiedoston sisällön.
Kysymys on mitä tämä oli erityinen linja
että voisimme sisällyttää yläreunassa meidän PHP tiedostoja ei tarvitse sisällyttää
Tämä PHP line tai tämän PHP komento kun haluamme suorittaa tiedoston?
Ja voit itse tehdä tämän kanssa joukko erilaisia ​​tiedostoja.
Mielestäni se riippuu siitä, missä PHP binary tallennetaan,
mutta usein usr / bin / php on hyvä paikka aloittaa.
Voit selvittää tämän tarkalleen menee takaisin alas laitteesi
ja kirjoittamalla, mitä PHP.
Mikä komento keksii kun olet täytäntöönpanovaltion binary
tai komento, jossa vastaava tiedosto on.
Tämä kertoo minulle, että PHP on todella aliasing tämä binaaritiedoston
joka tallennetaan usr / bin, mikä on kun paljon järjestelmän binaaritiedostot on asennettu.
Esimerkiksi, jos selaa ylös, nyt kun olen laittanut tämän #! linja täällä
Voin vierittää, ja voin yrittää ajaa
dynamic.php, mutta saan tämän virheen lupa evätään,
ja mitä se tarkoittaa, että tiedosto ei ole tällä hetkellä antaa suoritettavia käyttöoikeudet.
Se ei ole merkitty tiedosto, joku voi ajaa.
>> Kun juoksi soittaa tai clang ja sait suoritettavan siitä
kääntäjä oli fiksu tietää, että hei, olen rakennus suoritettavan.
Et luultavasti halua suorittaa sitä, niin se automaattisesti määrittää
käyttöoikeudet sinulle.
Tämä ei ole asia, mutta kun luot normaali tiedosto tyhjästä,
Syynä on yleensä et halua olla mitään tiedoston koneellesi on täytäntöönpanokelpoinen,
joten sinun todella täytyy mennä ja käsin tehdä se.
Helpoin tapa tehdä se on kanssa chmod-komennolla,
ja chmod + x sanoo lisää executable bit
koska siellä lukea hieman, kirjoittaa vähän ja executable bit,
r, w ja x,
ja sanomalla chmod + x syttyy executable bit
sillä silloin tiedoston me täsmentää, mikä tässä tapauksessa on dynamic.php.
>> [Opiskelija] Onko se päällä kaikille?
Katsotaanpa tarkistaa tämän, joten miten voisin tarkistaa käyttöoikeudet?
Tiedätkö miten olisin tarkistaa käyttöoikeuksia tiedoston?
[Äänetön opiskelija vastausta]
Anteeksi? >> [Student] XSD.
XSD antaa meille tiedosto hakata.
Luetellaan kaikki tiedostot,-l, näyttää minulle kaikki tiedostot minun hakemistossa
Tällainen on pitkästä, verbose listalle, joten tässä näemme, että
Tämän dynamic.php tiedosto
on viimeksi muutettu 5 marraskuu klo 16:21.
Omistaja tiedoston jharvard.
Tuo käyttäjän on kirjautunut sisään
Tuo käyttäjä olen työskennellyt,
ja jos olet myös laitteen olet myös työskennellyt käyttäjän jharvard.
Olette opiskelijoiden ryhmässä,
ja nämä ovat asioita, jotka näet riittävän usein.
>> Voimme mennä paljon yksityiskohtia täällä,
mutta suurimmaksi osaksi mitä haluat katsoa, ​​kun etsit nähdä
onko tiedosto on suoritettavan on ensisijaisesti
käyttäjä omistaa tiedoston, omistaja,
joten tämä jharvard, ja sitten meillä on
luvat bittiä tänne vasemmalla,
ja tapa lukea tähän on, että viimeinen bitti
tyypillisesti käytetään merkintää vai ei-ainakin tässä tapauksessa
tämä viimeinen bitti on usein asetettu ad ilmoittamaan
että tiedosto on hakemisto eikä vain normaali tiedosto.
Sitten seuraavat 3 bittiä täällä
määrittää käyttöoikeudet tiedoston omistaja on,
joten tässä tapauksessa jharvard, kuten tiedoston omistaja voi lukea ja kirjoittaa tätä tiedostoa
mutta siellä on viiva sanomalla, että jharvard voi suorittaa tätä tiedostoa.
Seuraavat 3 bittiä ovat ryhmän, niin tämä on opiskelijoiden ryhmä,
joten jos siellä oli useita käyttäjiä minun laitteessa,
ja meillä oli useita käyttäjiä osana opiskelijoiden ryhmä,
Sitten he kaikki voivat lukea tämän tiedoston, mutta he eivät voi kirjoittaa sitä,
ja samoin kukaan muu maailma
voi vain lukea tätä tiedostoa samoin.
On hyvä, pitkä kirjailla tästä,
joten voit lukea verkossa.
Vuonna Harjoitus spec menemme tämän tarkemmin.
>> [Opiskelija] Onko 218 viittaa maailmalle?
218 on-off pääni olen unohtanut,
mutta ei.
Katsotaanpa. Olen pimennys on juuri nyt.
Takaisin mitä aioimme tehdä tämän chmod + x
jossa halusimme antaa dynamic.php executable oikeudet,
ja kysymys oli, onko tämä antaisi executable oikeudet kaikille
tai vain jharvard, ja näemme tämän
käynnissä komennot ja kirjoittamalla ls-l,
ja nyt näemme, että se on merkitty suoritettavaksi.
Näetkö että oli värin muutos.
Nyt dynamic.php on lueteltu vihreä,
ja se näyttää vastaus kysymykseen mitä, Charlotte?
[Charlotte] Vain jharvard. >> Vain jharvard, joo.
>> Jos haluamme kääntää executable bitin kaikille
miten voisi sen teemme?
Mitään ajatuksia? >> + X?
Joo, aivan.
Charlotte sanoi voimme tehdä chmod a + x ja dynamic.php,
ja jos nyt otamme ls-l näemme että suoritettavan bitit
todellakin käytössä kaikille.
Ja voit itse tehdä kääntöpuolella, joten voit sammuttaa sen kaikille
käyttäen miinus.
Nyt se on pois päältä, ja nyt voimme kääntää sen takaisin päälle jharvard
jotta voimme ajaa sen nyt,
ja nyt näet, kun otamme koodia tässä erityinen #! viiva huipulla,
#! linja, kertoi kuori,
kertoi terminaaliimme Hei, kun tätä tiedostoa suoritetaan,
käyttää / usr / bin / php tulkita tämän tiedoston
ja sitten tulostaa tuotoksen.
[Äänetön opiskelija kysymys]
Toki haluan vierittää takaisin ylös. Aivan näin.
Näet kaikki nämä direktiivit aloittaa tämän punnan ja huutomerkki,
joskus kutsutaan roska, hash bang.
>> [Opiskelija] Miten voimme ajaa sen php dynamic.php ennen kuin teemme siitä executable?
Kysymys oli siitä, miten voimme suorittaa tämän käyttämällä PHP binary
vaikka dynamic.php ei ole suoritettava?
Tämä on erittäin tärkeää, koska juuri näin
se tulee toimimaan, kun kirjoitat Harjoitus 7.
Suurimman osan ajasta PHP-tiedostot eivät ole suoraan suoritettavissa.
Siten, että toimii, koska se on PHP binary se executable.
Tulkki on asia, joka on parhaillaan toteutetaan,
ja niin mitä se tekee on kirjaimellisesti slurping koko sisältö
meidän dynamic.php tiedosto ja menee rivi riviltä
ja täytäntöönpanovaltion nuo komennot, joten se käyttämällä PHP-tiedosto
listana ohjeita.
Se ei suoraan täytäntöönpanovaltion sitä.
Siellä sanotaan, että nämä tiedostot tulkitaan ajon aikana.
Se ajoaika kielensä sijasta jotain, joka määräytyy käännöksen yhteydessä,
ei käännetty kieli kuten C.
>> Onko tapa saada käyntiaika kielen toimimaan, jos se kääntää aikaa kielen,
kuten jos sinulla on kaikki käynnissä tehty palvelimelle
kuin-sinä tiedät mitä tarkoitan?
Kyllä, joten kysymys on
on olemassa tapa saada juosta aikaa kielillä toimia enemmän kuin kääntää aikaa eri kielillä?
Ja siellä ovat, en tarkoita, että on aktiivinen tutkimusalue on paljon näistä yrityksistä.
Uskon Facebook on tehnyt paljon työtä PHP
kääntämiseen alas, joten se nopeammin, optimoi se
koska heidän sivusto on rakennettu PHP.
Jos olet seurannut node.js ollenkaan,
joka on eräänlainen JavaScript-tulkin
pystyä toimimaan JavaScript ulkopuolelle selaimen ulkopuolella selaimessasi,
koska perinteisesti JavaScript olisi vain ajaa sisään Firefox tai Chrome,
ja se voidaan tehdä jäähtyä animaatioita tapahtuu web-sivulla
ja tehdä web sivun dynaaminen.
Tämä on ollut rakennettu paljon työtä, että Google on tehnyt
tehdä JavaScript ja C + +
sitoa yhteen, joten siellä on paljon aktiivista tutkimusta
päästä kielillä vuorovaikutuksessa ja optimoida niitä,
pääasiassa koska niin monet ihmiset voivat koodata PHP ja JavaScript
koska se on paljon helpompaa.
Se on paljon mukavampaa. Sinulla ei ole viitteitä.
Sinulla ei ole tyyppiä kelluva noin.
He halusivat saada hyötyä näistä kääntää aikaa kielillä
kaikki tyypin tarkkailun ja nopeuden ja alemman muistin käyttö ja kaikki tämä
mutta silti säilyttää joustavuus ja helppokäyttöisyys näitä uusilla.
>> Takaisin meidän alkuperäinen suunnitelma hyökätä.
Meillä muutama näistä kysymyksistä täällä meidän ongelma set spec.
Mennään läpi todella nopeasti, ja me menemme ympäri huonetta.
Charlotte, millainen on 3,50?
[Charlotte] Tuo kaksinkertainen. >> Se kaksinkertainen.
Jimmy, mitä on tämä seuraava? >> Array.
Array, mahtava, ja Jared, mikä on fopen?
[Jared] Se voimavara. >> Se voimavara.
Sellainen uusi, ei ole tiedosto tähden, ei tiedostoa.
Se on resurssi on tyyppiä PHP,
ja olen pahoillani, Ella, viimeinen nolla on mitä?
Null.
Null, miten se kirjoitettu PHP? >> Samalla tavalla.
Samoin pääkaupungeissa? >> Joo.
Joo, okei.
Täällä mennään, meillä kaksinkertainen, meillä array,
meillä resurssi, ja sitten meillä null.
Katsotaan nyt olet nähnyt,
Katsotaanpa, joten nyt kai mitä minäkin haluan tehdä on vetää ylös
Tämän sivun täällä, tämä php.net / manuaalinen,
joten jos te kopioit tämän ja avaa selain.
Aion vetää Chrome, laita se sisään
Haluan näyttää sinulle tämän ei vain siksi,
voimme puhua koko päivä tyypit ja kaikki hauskoja juttuja
vaan koska tämä on PHP käsikirja,
ja siellä on paljon PHP ohjelmoijat siellä.
On olemassa paljon PHP sivustot siellä,
ja seurauksena on paljon dokumentaatiota PHP,
ja manuaalinen, tämä php.net, on todella hyvä paikka mennä
kun sinulla on kysymyksiä siitä, mitä on paras tapa tehdä X PHP
tai mitä toimintoa näyttää?
Vain sellainen perehtyminen mitä tämä näyttää, koska
tulet tänne usein, bitti ongelma asetettu 7.
>> Jos päädyt tekemään opinnäytetyön, joka käyttää PHP
tämä on paikka sinun tulee hyvin perehtynyt.
Usein miten ihmiset tekevät tätä he käyttävät Google etsiä sivuston,
ja he eivät käytä hakukenttää, joka on täällä oikeassa yläkulmassa, joka on eräänlainen pieni.
Jos olet Googling noin jotain tekemistä PHP ja näet
yksi käsikirjan linkkejä pop up voit yleensä luottaa, että
koska melko hyvä voimavara.
Awesome, joten ulos näistä tyypeistä, vain uteliaisuudesta,
mitkä emme ole nähneet?
Mitään emme ole nähneet täällä?
[Student] Resource. >> Näimme resurssi fopen puhelun.
[Student] Objects. >> Objektit emme ole nähneet varmasti.
Jonotusten emme ole nähneet.
On olemassa joitakin näistä pseudo-tyyppejä.
Olemme ehdottomasti vain näki kokonaisluku ja kaksinkertainen.
Emme näe jotkut toiset, joten jos klikkaa kokonaislukuja
Voimme nähdä onko muita kokonaislukuja, että ne ovat täällä?
Ovatko ne kaikki niin kokonaisluku, kokonaisluvun, kokonaisluku.
Joillakin kielillä on suurempi kokonaisluku tyyppejä,
kuten näimme MySQL tänään oli int ja sitten iso int.
Cool.
>> Joten, PHP manuaali.
Mennään takaisin meidän ongelmamme asettaa spec, ja me nyt selaa sivu 4.
Yksi asioista, joita tapahtuu, kun saat kielillä
joilla ei ole tätä staattinen tyypitys, joten näitä kieliä, jos sinulla on julistaa
tyyppi muuttujan edessä
on saat jos saatat alkaa ottaa muuttujia erilaisia
vuorovaikutuksessa toistensa kanssa,
ja PHP tämä juttu, jossa se yrittää tehdä
mitä se pitää järkevintä tehdä
kun on 2 erilaista vuorovaikutuksessa toistensa kanssa.
Esimerkiksi jos katsomme näitä riviä koodia täällä
näette, että meillä mitä tapahtuu, kun
yritämme lisätä merkkijono 1 kokonaisluku 2.
Mitä tapahtuu, jos yritämme lisätä merkkijono, joka ei ole numeerinen arvo
vaan todellinen merkkejä, CS numero 50?
Sitten näemme onko jotain erilaista mitä tapahtuu jos
sijaan lisätä merkkijonon numero olemme lisäämällä numeron merkkijono,
ja niin edelleen ja niin edelleen siihen pisteeseen, jossa saamme
jonkinlainen outoja juttuja täällä missä meillä 7 + totta.
Mitä hittoa se tarkoittaa?
>> Jos te mennä eteenpäin ja liitä osa tämä koodi laitteeseen.
Voit pitää sitä dynamic.php.
Saa nähdä mitä tapahtuu.
[Opiskelija] Just käyttää print, ei printf?
Joo, niin huomaat, että tulosta on myös kelvollinen toiminto tulostaa PHP.
On olemassa monia erilaisia ​​tapoja tehdä sitä.
Näemme kanssa pari esimerkkiä myöhemmin, kun alamme keskustella
siitä ainutlaatuinen ongelma, että me aiomme kirjoittaa
ja sitten pitoisuudet ongelma, että me aiomme kirjoittaa
että vaikka meillä on fopen ja fclose
se useinkaan ole yksinkertaisin tapa lukea tiedoston sisällön.
PHP on paljon näitä C-like jäämiä jostakin.
[Opiskelija] Kun laitoin kaikki 6 näistä asioista minulla on vain numeron lähdön.
[Nate H.] Kun laittaa kaikki 6 nämä asiat.
Katsotaanpa on se, koska se on mahdollisesti-
Yksi asia on, että nämä print puheluja ei lakkauteta lopussa uusia linjoja.
Ei ole uutta erottavan jokainen tulostaa puhelujen
joten ehkä olet saada yksi suuri numero,
ja se on oikeastaan ​​vain amalgaami rivinvaihtomerkit.
[Student] Okei, miten varmista-
No, on olemassa joukko erilaisia ​​tapoja.
Voisit manuaalisesti laittaa tulostaa uuden rivin merkki,
kaiku uuden rivin merkki,
tulostaa uuden rivin.
[Student] Niin kaiku on sama asia kuin printf?
>> Printf on kuten C printf
missä olet tulostat muotoiltu merkkijono.
Olet toimittamisen muotomerkkijonoa ja sitten kaikki paikkamerkin muuttujat.
Se on usein jotain, joka ei ole käytössä,
Katsotaanpa, kuten vastuuvapauslauseke,
Olen niin tuttuja PHP kuin olen muilla web kieliä,
ja kun olen ohjelmoitu PHP En yleensä käytä printf
koska minusta on nopeampi käyttää merkkijono interpolointi ominaisuuksia, että se on,
jonka me mennä, ja minä näytän sinulle vain toinen,
taas C meillä sellainen täytyy tehdä tämä hacky asia saada se tulostaa oikein.
Voit itse laittaa muuttujia suoraan merkkijonoja PHP.
Printf on tavallaan liian pitkään, mitä yleensä teen. Kyllä, Ella.
[Ella] Yleensä jos saat jäsennysvirhe se tarkoittaa,
kuten C-se ei kerro tarkalleen, missä virhe on ja mitä se on,
niin se merkitsee katsoa läpi koko koodin ja tajuta se?
Se on yleensä enemmän kohdennettuja kuin.
Mielestäni tässä tapauksessa se oli hieman pois,
joten uskon siinä tapauksessa olimme puuttuu puolipiste.
Se yritti saada tolkkua kaikesta,
joten kuten nämä tulkita kielillä, tulkki aikoo kokeilla
ja tekemään parhaansa, jotta kaikki toimii asianmukaisesti.
>> Näet, esimerkiksi JavaScript-
Tulet usein-rivikäskyt päättyvät puolipisteellä aivan kuten he tekevät PHP,
aivan kuten he tekevät C.
JavaScript jotkut JavaScript-tulkit
on paljon selaimet laittaa puolipistettä sinulle
jos satut puuttuu niihin.
He yrittävät ja majoittaa joitakin epäjärjestys teidän.
Siellä se saattaa yrittää ja yrittää ja yrittää tehdä asiat toimivat,
ja lopuksi se päästä pisteeseen, jossa se sanoo okei,
En voi tehdä asioita toimi pelastamisesta, ja se jos saat rivinumero
että voi tuntua hieman pois tarkka paikka.
Okei, joten mennään läpi tämän todella nopeasti.
Jätimme pois Ella, joten mennään yli Missy,
ja Missy, mitä tulostaa merkkijonon 1 plus numero 2 antaa sinulle?
[Missy] 3. >> 3.
Onko siinä järkeä? Tavallaan?
Antaako se sinulle numero? Antaako se sinulle merkkijono?
[Missy] joukko. >> Se numero.
Mutta se tulostamista, joten se aio antaa teille jonkinlaisen merkkijono.
>> Yksi asia, mitä voimme tehdä tarkistaa tämän
on, jos teemme $ var = 1 + 2
ja sitten sanomme kaiku getType,
joten käytämme kolmasosa eräänlainen tulostaa täältä.
Nyt näemme, mitä tapahtuu täällä.
Täällä mitä meillä on meillä kokonaisluku pois tästä.
Vaikka olimme lisäämällä tämän merkkijonon numero,
emme saaneet merkkijono pois se, kuten Missy sanoi.
Olimme saada kokonaisluku.
Okei, joten katsotaanpa, seuraavaksi ylös, Kevin.
CS + 50? >> [Kevin] 50.
[Nate H.] 50. Onko siinä järkeä?
[Kevin] Joo.
[Nate H.] Miksi? Miksi se teistä järkeä?
[Kevin] Koska se on vain ottaa merkkijono, jossa numero nolla.
Hienoa.
Tavallaan epäselviä tilanteita, mutta on hyvä tietää, mitä tapahtuu.
Stella, mitä tapahtuu seuraavaksi numero 1 + merkkijono 2?
[Stella] 3. >> 3 uudelleen.
Ja tässä tapauksessa, saamme merkkijono tai numero?
>> Annetaanpa tämän kokeilla.
Joku minua nopeampi saada vastauksen? Charlotte?
Minä didn't-kunnossa, katsotaanpa, aiomme tehdä samanlaista asiaa
jossa meillä numero plus merkkijono, ja aiomme toistaa tyyppi,
mitä saamme.
Saamme myös kokonaisluku.
Sillä ei ole väliä kumpi on merkkijono, joista yksi on numero.
Olemme edelleen menossa saada kokonaisluku.
Se on silti aio tehdä mitä voimme odottaa.
Selvä, joten Sam, entä 90 + 9 pulloa olutta seinälle?
[Sam] 99. >> 99.
Ei pulloa olutta seinälle, vaikka.
Se antaa meille hieman enemmän tietoa siitä, mitä on tapahtumassa.
[Sam] Jos olisit kirjoittanut 9 kirjaimin
niin olisit 90, eikö?
[Nate H.] Joo.
Kysymys oli, jos olisimme kirjoittaneet 9 out N-I-N-E
olisimme saaneet 99 tai 90?
Me saisin 90.
Se on kirjaimellisesti vain etsivät numeromerkit.
Se ei fiksu tunnistaa useita sanoja ja juttuja. Kyllä.
>> [Student] Onko olemassa sellaista asiaa kuin tyypittely PHP?
On, ja se on juuri niin voisitte tehdä sen C
Entä 10/7, Charlotte?
[Charlotte] 1,4285.
[Nate H.] Niin, mitä voisi olla yllättävää tästä?
Mitä tapahtuisi, jos teit tämän samanlaista asia C-
Jos teit 10/7 C?
[Charlotte] Se vain antaa teille, riippuen siitä, miten typecasted luulisin
se antaa sinulle vain rajallinen määrä numeroita desimaalipilkun jälkeen.
Niin, joten rajoitettu määrä desimaalilla.
Mitä muuta voisi olla, olisi se anna mitään numeroita desimaalipilkun jälkeen?
Usein ei, joten jälleen, riippuen siitä, miten olet tyypittely sen
se voi tai ei muuntaa liukuluku.
Täällä se oli tavallaan mukavaa, että se teki.
Olimme osoittanut teille tämän takaisin, kun aloimme tehdä tällaista kamaa C
se todennäköisesti olisi tehnyt hieman järkeä
että se ei vain mennä 1.
Ja sitten lopuksi, Jamie, entä 7 + totta?
[Jamie] 8. >> 8.
Mitä se tarkoittaa?
Kai se vain antaa todellista arvoa 1.
Joo. Mitä tapahtuu, jos muutamme arvoksi false?
[Opiskelija] 7.
Joo, niin muista mistä puhumme näistä binääri arvoja
1 olemisesta, 0 on pois?
Nyt meillä on tosi on 1, 0 on epätosi,
ja et ehkä nähneet tämän C esimerkeissä että olemme tehneet viime lukukauden,
mutta historiallisesti bool tyyppi C ei ole ollut todellista tyyppiä,
joten ihmiset ovat käyttäneet 0 ja 1 sijasta oikean ja väärän.
Tämä on osoitus siitä.
>> Okei, joten yksi tärkeä osa tästä kaikesta
on, että meillä on nämä eri.
Ne voivat olla vuorovaikutuksessa toistensa kanssa.
Ne voivat usein olla vuorovaikutuksessa toistensa kanssa tavoilla, jotka ovat mukavia, kuten olemme nähneet täällä.
On kiva voida olla merkkijono 1 ja numero 2, lisää ne yhteen ja saat 3.
Siinä on järkeä.
Kuitenkin, kun kirjoitat sivustoja, ja varsinkin kun olet käsittelyssä
käyttäjä syöttää, niin sano olet kirjoittanut web-lomakkeen
joka kerää tietoja käyttäjän ja sitten menee käsitellä sitä
takana loppuun, palvelimen puolella PHP-koodin
Jos odotat, että arvo käyttäjän kirjoitettu ja toimitettu
lomakkeeseen olla kokonaisluku tai olla liukuluku tai jotain
sinun täytyy erikseen heittää sen
ja sitten tehdä joitakin tyyppi tarkkailun.
>> Et halua vain luottaa tällaisen jongleerausta järjestelmä tehdä asioita selvittää,
erityisesti turvallisuussyistä ja vain kestävyyttä sivuston.
Vain jotain pitää mielessä, että kun olet käsittely lomaketiedot,
mitä vastaan ​​tulee postitse tai GET Superglobaalit
Varmista, että olet aina vahvistaa sen ja muuntaa sen ja Typecast sitä.
Ja aivan kuten puhuimme hetki sitten, että tyypittely
PHP on täsmälleen sama kuin C, jossa olet sulkeet
ja sitten tyyppi.
Pidä se mielessä.
Yksi toiminto on kätevä, kun teet tämän
on olemme käyttäneet ja tämä on tavallaan kuin syrjään-
olemme käyttäneet tätä getType toimintoa täällä
selvittää tyypin muuttuja,
ja vaikka tämä on kätevä virheenjäljitykseen ja mitä Muuttujan tyyppi on
et halua käyttää tätä, esimerkiksi tila, jossa
olet tarkkailun nähdä jos getType dollaria var = kokonaisluku tehdä jotain.
Tämä on huono, huono, huono.
Sen sijaan on olemassa näitä toimintoja kutsutaan on kokonaisluku, on merkkijono,
on matriisi, jota haluat käyttää sen sijaan, joten tässä tapauksessa
mitä haluaisi tehdä eikä tämä kaveri täällä
on käyttää on kokonaisluku var.
Ja he usein nimitystä on is_ * siinä mielessä, että voisit korvata * kanssa kokonaisluku,
string, jne., ja varmuuden vuoksi todella nopea
on tämä on int php.
Taisit tehdä joko on int tai on kokonaisluku samoin?
Kyllä, alias, joten int kokonaisluku aliakset.
Cool.
>> Miten meillä menee?
Katsotaanpa nopeutuvan hieman.
Nyt aiomme puhua ryhmät, niin näet
seuraavassa osassa spec puhumme miten taulukot PHP
ovat hieman erilaiset kuin ne ovat C.
Todellisuudessa he tavallaan amalgaami
matriisit, että olet tullut tuntemaan ja rakastamaan C
jossa kaikki on samaa tyyppiä
tallennettu peräkkäin ja vierekkäin muistiin,
ja sinulla on näitä numeerisia indeksit.
Sinulla on indeksi 0, indeksi 1, indeksi 2,
ja voit tallentaa arvot nuo indeksit.
Voit myös C, kun kirjoitit oikeinkirjoituksen, monet teistä
teki tiiviste lähestymistapaa, ja näit, että meillä oli
erilaisia ​​varastointi jossa olimme kartoitus
avain-arvo, joten kun olet yrittänyt tallentaa jotain tiiviste
piti määrittää, että olet halunnut tallentaa sen tietyn avaimen,
ja että avain määrittää sijainti, arvo ja jossa se tallennetaan.
Olet tavallaan sai sekä näiden käsitteiden tapahtuu samaan aikaan PHP array,
ja sen seurauksena usein kutsuvat näitä assosiatiiviset taulukot
missä olemme yhdistämällä avaimen arvon.
Tässä seuraavassa osassa puhumme yksinkertainen PHP array
jossa meillä on avaimet a, b ja c,
kaikki jouset, mappaamiseen kokonaislukuja 1, 2, ja 3.
Ja voit olla avaimet erilaisia.
>> Sinulla voi olla joitakin avaimet ovat merkkijonoja, jotkut avaimet ovat kokonaislukuja.
Voi olla arvot erilaisia.
Sinulla voi olla arvo, joka on merkkijono, arvo on kokonaisluku,
arvo, joka on esineen tai toisen ryhmän, esimerkiksi
kaikki samassa array esine, joka on eräänlainen outo.
Sinun ei tarvitse olla array, joka on juuri yhdenlainen elementti.
Sinulla voi olla monia eri asioita tapahtuu siellä.
Toinen asia huomata on että kun teet nähdä jotain tämän koodin,
joka on voimassa PHP julistaa joukko aivan kuten tämä, 0, 1, 2, 3, 4, 5,
joka julistaa alustetaan $ arr olla tämän array.
Mutta mitä olet itse palaveriin konepellin alla on tällainen implisiittinen
sukupolven avaimet missä meillä 0-0, 1-1, 2-2, 3-3.
Ja näyttää siltä, ​​että vaikka sinulla on array kuten tämä kaveri täällä
jos sinulla on, b ja c avaimina
ja sitten aloitat array push tapa alkaa käyttää tätä array kuten pino-
joten voit nähdä, että tämä ryhmä vastustaa, matriisi on todella ylikuormittaa.
Voimme käyttää sitä array. Voimme käyttää sitä hash taulukon.
Voimme käyttää sitä pino.
Kun käynnistät kiire päälle tämän taulukon
ensimmäinen asia painat päälle tämä on indeksi 0 ja sitten indeksi 1 ja indeksi 2.
Voit saada tällainen implisiittinen sukupolven avaimet
ellet määritä niitä erikseen.
Miten määrittelet avaimet nimenomaisesti, tietenkin, on käyttää tätä kiinnike notaatio,
joka on samanlainen kuin paneelit paitsi sen sijaan sallii vain
kokonaisluku indeksit tänne, nyt annamme jotain.
Jos haluat avaimen olla merkkijono, haluat määrittää sen näin.
Jos haluat olla int, voit määrittää sen int haluat käyttää.
>> Kysymyksiä, jotka tähän mennessä?
Yksi mukavia asioita tämän ajatuksen
on, että voit aina vain yksi arvo tallennetaan tietty avain.
Jos me palata meidän laite-haluan poistaa joitakin tätä kamaa.
Ja sanokaamme I alustaa array olla 0, 1, 2, tehty.
Jos minä nyt tiedä, että esimerkiksi, jos toistan $ arr [0]
Aion saada arvon 0 tulostettu,
ja koska siellä voi vain olla yksi arvo säilytetään tietty avaimen
jos tallentaa jotain $ arr [0], sano,
Sitten tiedän kun olen echo $ arr [0] uudelleen
En aio saada 0 tulostaa kuin ennen.
Olen vain menossa.
Joten tämä on periaatteessa sanoa, että en voi olla $ arr [0] tallentamista 2 eri arvoja.
Se ei voi tallentaa sekä 0 ja merkkijono, kuten tämä kirjaimellisesti korvaa
Mikä oli $ arr [0] aikaisemmin.
Syy tuon tähän asti on ajaa se, mitä tapahtuu.
Katso tästä, että sain 0 tulostaa ja sitten tänne.
Ei ole uusi rivi siellä, koska olin laiska ja ei laittanut että sisään
Mitä viileä tästä on voimme käyttää tätä tapaa
vangita tämä ajatus joukon
jossa emme voi olla useita avaimia sisällä array.
Emme voi olla identtisiä avaimia sisällä array.
En voi olla avain 0 ja arvon 1 ja 0-näppäintä ja arvo
tai näppäintä 0 ja arvon true.
Avaimet ovat kaikki siellä on vain 1 avain array.
Vaikka sinulla voi olla sama arvo tallennetaan
useita kertoja ryhmän eri avaimia
se ei ole mahdollista saada samat avaimet useita kertoja PHP array.
>> Jos tarkastelemme tätä seuraava ongelma, unique.php,
jos haluamme avata PHP tiedosto
sisältää luettelon merkkijonoja, yksi merkkijono per rivi
ja haluamme löytää kaikki ainutlaatuisia jousille että tiedosto
kaikki mitä on tehtävä on käyttää jotakin näistä PHP paneelit
ja käyttää merkkijonot tiedostoon avaimet tähän array
ja Päivitämme array me tallentaa nämä uudet avaimet.
Kun luemme jokaisen rivin pois tiedoston voimme tallentaa sen array,
ja lopussa meillä on meidän avaimet meidän array
kaikki ainutlaatuisia merkkijonoja tiedostoon.
Onko siinä järkeä?
Katsotaanpa, miten tämä toimii.
Aiomme avata, mukaan spec, uusi tiedosto nimeltä unique.php.
Avaa. Anteeksi, uuden tiedoston.
Aiomme aloittaa se pois samalla alku ja loppu tageja.
Aiomme tallentaa sen 9 §, ja aiomme kutsua sitä unique.php.
Okei, nyt Lähennä
Ideana on avata tiedosto,
luetaan tiedostoa rivi riviltä.
Kunkin rivin tiedostoon
meillä on joukko, jossa meillä
riviä keskeisiä.
Ja sitten kun pääsemme loppuun täällä
$ Arr avaimet ovat ainutlaatuisia linjat
tiedostosta, koska tiedämme, että jos laitan line tähän array
useita kertoja se vain pitää pakottava vanha arvo
ja voimme todellakin laittaa array linjaa kuin itse vain.
>> Tämä on outo.
Olemme tallennetaan sama avaimen arvo parin uudestaan ​​ja uudestaan,
mutta koska me taataan, että siellä on vain 1 avain kutsutaan rivi
joten jos meillä on tiedosto, joka kertoo-tiedoston eläinten ääniä ja se on hau, hau,
Miau, miau, moo, moo, ja joka kerta me lukea eläimen ääntä ulos
kuten hau ja me tallentaa sen meidän array saamme Hau, ja sitten toisen kerran
Tallennamme woof se korvaa ensimmäinen kerta, kun se on tallennettu.
Lopulta me vain yksi merkintä array
kunkin eläimen ääniä meidän eläinten ääniä tiedosto.
Oletteko te luottaa siihen, että voit käsitellä avaamista tiedoston PHP?
Yksi tapa tehdä se, mennään yli tämän nopeasti-yksi tapa tehdä se
on kanssa fopen kuten näimme aikaisemmin.
Voit fopen some_file.txt.
Voit avata sen lukutilassa, aivan kuten C.
Se on yksi aivan hyvä tapa tehdä se.
Voit myös sitten lukemista tiedostoon rivi
on samat toiminnot, monet heistä, jotka teitte C.
Sinulla on fgets.
Sinulla on feof, vaikka emme pidä käyttää, että
koska muistan, että ei ollut suuri C.
Voit tehdä sen samalla tavalla,
mutta tässä on todella cool juttu.
Anteeksi, en halua tehdä $ tiedosto, mutta toiminto nimeltään tiedoston PHP,
ja tämä toiminto täällä on siistiä, koska se lukee koko sisältö
ja tiedostosta, niin some_file.txt,
lukee koko sisältö tiedoston array
ja sitten voit toistaa sen yli, mikä on melko näppärä.
>> Jos menemme, esimerkiksi web-selaimen
ja katsomme Google PHP tiedosto
näet tästä, että meidän käsikirja sanoo, että tiedosto lukee koko tiedoston array,
ja voimme file_get_contents palauttaa tiedoston sisällön merkkijonona,
mutta yleensä vain saada se joukko on todella mukavaa, koska mitä se tekee
on se rikkoo sen niin, että jokainen elementti
pakassa on yksi rivi tiedoston,
joten jos katsomme tiedoston 0, joka on ensimmäinen rivi tiedoston.
Tiedosto 1, toinen rivi, tiedosto 2, kolmas rivi, ja niin edelleen ja niin edelleen.
Eikö olisi hienoa, jos se oli kaikki mitä piti tehdä C?
Aika näppärä.
David osoitti tämän luennon, ja muotokieli hän osoitti oli
että sen lisäksi meidän standardi loop-in PHP meillä oli, että
for ($ i = 0; i <10; i + +),
ja voit tehdä tämän PHP myös saman-
meillä on myös tämän jäähtyä rakennelma nimeltään foreach.
Foreach on todella kätevä, kun iteroimalla yli pakkoja tai näiden tietorakenteet
koska sen avulla voit vetää pois jokaisen alkiota
ilman käsin tehdä indeksointi itse,
ilman käsin luoda indeksin muuttuja, kasvattaa se,
vedä arvo array tässä vaiheessa, koska se on hyvin yleinen asia tehdä.
>> Olet luultavasti tehnyt että tonneittain kertaa, kun olit tekemässä C juttuja
yli lukukauden, joten tässä foreach
voimme silmukan yli tämän tiedoston array,
ja syntaksi on, että haluamme nyt silmukan yli tämän taulukon
ja täsmennetään, että muuttuja aiomme käyttää tallentaa
osa tätä array paikallisesti, paikallista kuulu tämän foreach silmukan,
on aiomme kutsua sitä linjaa.
Jos se tiedosto vain sanojen ja siellä on yksi sana rivillä
Voisimme kutsua sitä sanaa myös, oikeastaan ​​vain annat tämän nimi,
mitä haluat kutsua sitä,
ja sitten sisällä silmukan, voit tehdä mitä haluat tämän linjan vaihtelevan.
Jos se ei riitä saamaan arvoon array ja haluat myös saada
indeksi sen mukana voit määrittää nimen indeksin
sekä arvo, ja nyt sinulla on mahdollisuus saada 2 muuttujia.
Sinulla on $ i ja linja
missä $ i on indeksi pakassa,
ja linja on linja, että noudetaan tiedosto.
Esimerkiksi, jos halusimme tulostaa echo rivillä 0 tiedoston tähän,
voisimme tehdä sen aivan kuten tämä "Line $ i tiedoston $ rivi"
ja tässä me myös ole nähneet vielä myöskään
missä olen totaalisesti ohitetaan tämä koko% s% d liiketoiminnan
että jouduimme käsittelemään C, ja sen sijaan olen mennyt suoraan
kirjallisesti muuttujat linjassa minun merkkijono.
>> Tätä kutsutaan muuttuja interpoloimalla, string interpolointi
missä olet täytteenä muuttujat oikeassa, ja PHP tulkin
on fiksu kun se lukee läpi merkkijono, joka alkaa lainausmerkkeihin-
ei lainausmerkkejä, yhdellä lainattu jouset, et voi tehdä tätä,
mutta kaksinkertainen lainattu jouset kuin se lukee sen läpi etsii muuttujia.
Se metsästys heitä, ja jos se näkee muuttujia kestää muuttujan arvo
ja tavaraa sen merkkijonon jos se voi muuntaa sen merkkijono edustus,
joka on melko näppärä.
Nyt mennään kommentoida pois muusta kaikesta,
tallentaa, ja mitä voimme tehdä nyt voimme avata tiedoston
että voimme kutsua some_file.txt-let 's luoda uuden tiedoston,
ja voimme laittaa nippu roskaa tavaraa täällä vain testata kaiken pois,
tallentaa, kutsua sitä some_file.txt, koska teen täällä ylhäällä,
ja nyt jos olen loitontaa vain varmistaa, että kaikki on samassa hakemistossa,
se näyttää olen unique.php ja some_file.txt samassa hakemistossa.
Jos juoksen php unique.php
miten se tulostuu jokaisen rivin minun tiedostoon ja mikä linja on?
>> Se on aika voimakas, eikö?
Katso, se kesti 3 riviä koodia avata tiedostoa.
No, 4 riviä koodia. En voi laskea tänään selvästi.
Mutta oikeastaan ​​vain 2 mielenkiintoista riviä koodia, koska muut 2 olivat aaltosulkeita,
mutta tässä paljon koodia pystyimme avaamaan tiedoston, toistaa sen kautta,
vedä rivin numero ja rivi itse
ja tulostaa sen.
Cool stuff. Charlotte.
[Charlotte] Minulla on kysymys syntaksi.
Joten foreach käsittelee jokaisen rivin tiedoston avaat,
ja sitten kun haluat tehdä asioita joka ikinen viiva juuri tee sitä
ja sitten liittää arvo.
[Nate H.] Mitä voit tehdä täällä-kysymys oli
foreach on tekemistä array, joten foreach syntaksia
on todella foreach, ja huomaa, että ei ole tilaa
tai jotain väliin osalta ja kunkin.
Heillä on mennä oikealle vierekkäin,
ja sitten se vie ryhmäksi,
ja sitten on tämä toinen avainsana kutsutaan se on siellä,
ja sitten sen jälkeen kuin voit joko laittaa yhden muuttujan nimi,
jolloin aiot olla vetämällä arvot array,
ei indekseihin, tai jos teet sen olemme kirjoittaneet alla
saat avaimet ja arvot.
Teillä on foreach alkiota tai parin array kiilattu arvo
tai vain arvo.
Riippuen siitä, mitä tarvitset, jos et tarvitse avaimia,
voit mennä arvoa.
Jos haluat avaimet voit mennä heidän kanssaan.
>> [Charlotte] Tajusin myös emme koskaan julistettu i tai linjaa.
Miten se edes tiedä, mitä ne ovat?
[Nate H.] Mitä tarkoitat julistaa?
[Charlotte] Emme koskaan kertonut heille, mitä minä tai linja keinoin.
[Nate H.] Emme koskaan kertonut tietokone mitä olen tai viiva tarkoittaa kannalta-
[Charlotte], että he indeksoitu tai että He-
[Nate H.] Emme koskaan kertonut sitä, että tämän pitäisi olla indeksi tai avain ja arvo,
ja se johtuu siitä, että on PHP tulkki.
Tämä toimii julistuksen ja sanoo okei, avain tulee olemaan
muuttuja nimeltään i tallennetaan muuttujaan nimeltä i.
Arvo tulee olemaan tallennettu muuttuja nimeltä linja,
joten tämä toimii ilmoitusta näiden muuttujien
ja sanoo $ i on avain, ja $ rivi on arvo.
Joo, Ella.
[Ella] Jos näppäimet eivät tehneet numeerisesti
miten se päättää, missä järjestyksessä se tulee tulostaa kaiken?
Onko se aivan kuten järjestys se merkitään?
[Nate H.] Mennään kokeilemaan sitä.
Luodaan muuttuja nimeltä arr,
ja voimme tehdä menee 7.
Sanotaan 0 menee toiselle array 1, 2 tai omena.
Sanotaan 7 menee 1, b menee 2,
ja 3 menee 4.
Tämä on eräänlainen hullu näköinen esimerkki, koska olemme sekoittaa
jouset ja kokonaislukuja koko paikka.
Ei ole todellista, jotta tämä array.
Tarkoitan, että voisimme tilata kaikki aakkosjärjestyksessä avaimet.
Voisimme tilata kaiken aakkosjärjestykseen arvon.
>> Voisimme yrittää ottaa huomioon, että jotkut ovat merkkijonoja, jotkut ovat ints,
ja voisimme yrittää muuntaa ne kaikki samaa tyyppiä ja katso mitä tapahtuu,
tai voisimme harkita niitä arvon, jonka olemme jo tulleet heille
jos panemme tämän kaveri ensin tämä kaveri toisella, tämä kaveri on kolmas,
tämä kaveri neljäntenä, jne..
Katsotaan mitä tapahtuu, kun otamme tämän koodin.
Jos me selaa ja tee sama sellainen asia,
ja täällä se ei tulostamalla uusia linjoja.
Kun se lukea asioita ulos tiedoston se myös uusien linjojen arvoja,
minkä vuoksi se tulostetaan kauniisti, kun taas täällä se ei ole,
joten siksi kaikki on smushed yhteen.
Katsotaanpa lisätä, että uusi linja vain tehdä asioita mukava.
Katsotaanpa uusintana se, ja niin tässä
mitä tapahtui.
Se tulostaa kaiken pois siinä järjestyksessä, jossa laitamme sen array.
Se säilyttää järjestyksen mielessä.
>> Palataan tähän ongelmaan yksilöityä
jos haluamme pystyä iteroida yli tiedosto,
ja annamme sen some_file.txt,
ja aiomme toistaa sen yli näin.
Sanoimme, että halusimme käyttää array varmistaa, että olimme saaneet kaikki
ainutlaatuinen linjat pois sieltä, ja voisimme tehdä todella helposti
vain hieman tallentaminen joukko, että me tietenkin julistaa ulkopuolella silmukka,
ja sanoimme, että jos käytämme rivit tiedoston avaimet meidän array
jos tuli kaksoiskappale linjaa olisimme ohittaa edellisen arvon.
Se ei ole koskaan mahdollista saada 2 avaimet, jotka ovat identtisiä samassa taulukossa.
Voimme tehdä juuri niin.
Saamme eroon tästä echo lausuma täällä.
Täällä me tallennetaan rivi tiedostossa meidän array
käyttäen itse avain.
Mitään sen, ja käy ilmi, että emme edes tarvitse tätä näppäintä.
Emme tarvis muuttuja.
Tässä vaiheessa, jos tekisimme toista foreach silmukka
ja olimme loop kullakin arr
ja linja nyt jos echo-Anteeksi.
Emme voi käyttää pilkkua. Meidän täytyy käyttää tätä avainsanaa.
Nyt jos me echo linjaa meidän pitäisi saada kaikki ainutlaatuisia sanoja tiedostoon.
Jos me mennä jopa some_file.txt,
ja sanotaanko teemme omena, banaani, omena, omena, banaani,
jos me tulostaa kaikki ainutlaatuisia sanoja tämän tiedoston pitäisi vain saada
omena ja banaani tulostaa.
Jos me tallentaa, nyt me zoomata takaisin,
php unique.php, ja ta-da.
Olemme onnistuneesti uniqued tiedosto.
>> Viimeinen osa tätä ongelmaa ei pyydä sinua lajitella tämän array ennen kuin tulostetaan ulos
koska tämä yksinkertainen esimerkki siitä, että olemme juuri tehneet
olimme onnekkaita siinä mielessä, että tiedosto-
teimme tämän teennäinen esimerkiksi omenat ja banaanit.
Se oli jo järjestetty.
Mutta käyttämällä yksinkertaista lajittelutoiminto voit lajitella taulukon, joka on melko näppärä.
Viimeinen asia halusin puhua teidän kanssanne siitä todella nopeasti
että tällainen PHP on kaikki hyvin ja hyvä, ja se on erittäin kätevä
osata tehdä, jos joudut tekemään vähän nopeasti asioita ohjelmallisesti.
Esimerkiksi, jos minun täytyy kirjoittaa ohjelma, eli
asettaa kaikille osiin en aio mennä ja kirjoittaa se C
Se tulee olemaan pitkä.
Se tulee olemaan eräänlainen kipua, varsinkin jos on tiedostoja mukana,
aivan kuten te olette nähneet.
Se on niin mukavaa, että vain tämä paljon koodia täällä
pystyimme rip kautta tiedoston, vedä kaikki ainutlaatuisia arvoja
ja tulostaa ne takaisin ulos.
>> Kuitenkin teidän tehtäviä, projekteihin,
Jos olet rakentamassa sivustoja PHP voima on, että
olemme käynnissä meidän PHP-tiedostoja tällä tulkin-
ja tulkki käsittelee kaiken PHP tunnisteet,
jolloin kaikki muu koskematon ja sylkee tuloksia.
Voimme tehdä tämän rakentaa HTML ohjelmallisesti.
Nyt, jos menemme takaisin spec, viimeinen ongelma spec
puhuu tästä ajatuksesta pitoisuuksien
ja luoda pudotusvalikosta,
joka voi tai halua tehdä, riippuen siitä, mitä opinnäytetyö on tekemässä,
jonka avulla käyttäjä voi valita luettelosta kaikki mahdolliset pitoisuudet
niiden yhden keskittymän.
Nyt tämä on eräänlainen tuskaa kirjoittaa tätä ulos
ja täytyy tehdä kaikki tämän manuaalisesti, varsinkin kun sinulla on varmistaa
että sinulla on kaikki kulmaraudat oikeassa paikassa ja kaikki lainaukset oikeassa paikassa,
joten PHP voit tehdä tämän ohjelmallisesti, ja voit tehdä tämän todella nopeasti.
>> Katsotaanpa, miten tämä.
Aiomme avata uuden tiedoston.
Aiomme laittaa meidän PHP tageja.
Aiomme kutsua concentrations.php,
ja nyt kun teet tämän, sellainen hyvä miettiä
kun yrität yhdistellä PHP ja HTML
on miettiminen, okei, mikä on osa että haluan ohjelmallisesti luoda?
Mikä osa voin ohjelmallisesti luoda?
On totta, että voit tehdä kaikki HTML
sisällä PHP lohkoja.
Voit toistaa kaikki HTML jouset.
Esimerkiksi, jos haluan alkaa tehdä valitse Tunnisteet sisällä PHP
Voin sanoa kaiku, sano valitse nimi = pitoisuus,
ja sitten alhaalla voisin olla toinen kaiku tag
tai toinen kaiku kutsutaan lähelle valitse.
Tämä on yksi tapa tehdä se, sillä mitä tämä on kirjaimellisesti aikoo tehdä
on tulosta tämän merkkijonon, kun se ajaa läpi PHP tulkin,
joten tulos on HTML.
Jos tallennan tätä tiedostoa, koska se on juuri nyt
ja minä ajaa php concentrations.php
katso mitä sain.
Sain tämän auki Sulje Valitse tunniste.
>> Jos tekisin tätä ja minä tallentaa tämän tuloksen tiedostoon,
sanoa, concentrations.html-odotus, se näyttää l on siirtynyt toiselle puolelle,
Nyt jos avaan tänne concentrations.html näet olen kelvollinen HTML-tiedoston.
Onko tämä outo?
Olemme PHP luoda HTML, luoda pätevä HTML.
Miten teemme sen on me vain ottaa PHP Print
HTML että haluamme tulostaa.
Tämä on kirjaimellisesti miten PHP sivustot toimivat.
Kun käyt sivustossa, joka lähettää sinut jotain
jotain, jotain, jotain dot com slash index.php
tietokone on kirjaimellisesti poimimalla index.php,
käynnissä läpi PHP tulkin, ja mitä roskaruokaa tulee ulos
se lähettää takaisin selaimen ja sanoo hei, selain, tulkitsen tämän HTML.
Kiva juttu on, että se voi olla tuskaa jatkuvasti kirjoittaa kaiku, kaiku, kaiku, kaiku
ja liittää kaikki lainausmerkit näin, joten jos haluat kirjoittaa
HTML että tulee olemaan staattinen itse voit tehdä sen näin,
laittaa sen ulkopuolella, sulje se,
ja sitten täällä vain laittaa sisälle PHP tageja, joka tiedät
haluat ohjelmallisesti luoda, ja tässä tapauksessa se on näiden optio tageja
jotka ovat kipu tuottaa.
>> Esimerkiksi voisimme tuottaa tuhat vaihtoehto tageja
tekemällä jotain tällaista, $ i <1000, i + +
ja sanomalla echo vaihtoehto value = $-Oho, en voi tehdä sitä.
No, katsotaanpa kokeilla sitä ja katso mitä tapahtuu.
$ I ja sitten sanomalla $ i </ option.
Sen sijaan, kirjoittaa, että vaihtoehto tag tuhat eri aikoina
Käytän PHP tuottaa automaattisesti, ohjelmallisesti.
Kind of näppäriä. Joo.
Muistan tämän mainitsemista joko luennolla tai esittely,
mutta mitä eroa lainausmerkeissä
normaali niistä ja nämä sinkku asioita?
Se on todella jotain, että olen tehnyt väärin täällä, että olin menossa näyttämään.
Puolilainausmerkkejä eivät salli mitään erikoismerkkejä,
joten kaikki sisällä yhden noteerattu merkkijono tulkitaan kirjaimellisesti.
Jos minulla olisi \ n sisällä puolilainausmerkkejä enkä tallentaa esimerkiksi
ja nyt minä menen tänne ja suorita se-
Oho, minne olen menossa?
Voi, se on koska unohdin $.
>> Nyt jos avaan ylös-todellisuudessa, täällä, me eroon kirjoittamalla sen tiedoston.
Me vain lukea sitä.
Täällä näet että olen saanut tämän kirjaimellinen \ n vuonna merkkijono, kuten ei todellista uutta linjaa,
ja samoin, sen sijaan, että itse asiassa interpoloimalla arvo tämän muuttujan
se antoi minulle $ i itse, mikä on tavallaan kipua.
Tapa kiertää tämä on käyttää lainausmerkkeihin,
ja sitten kun käytät lainausmerkkejä sitä todella
asianmukaisesti interpoloida arvot kaikkien näiden muuttujien tästä
ja tunnustavat myös tämän \ n olevan uusi rivi, joka on
eikä \ n.
Käyttämällä yhden niistä on mukavaa kun olet
merkit, jotka voitaisiin tulkita erikoismerkkejä, koska sinun ei tarvitse
paeta niitä jatkuvasti.
Asiat voi saada sotkuinen, ja usein niin teen sen,
vain tehdä asiat helposti, että jos aion olla mitään
HTML kuten minun koodin minä myös muokkaa sisällä puolilainausmerkkejä
ja sitten käyttää tätä Ketjutusmerkki
ja liität muuttujien sisään
Tämä on toinen tapa tehdä se
jossa meillä piste, joka tulee kytkeä tämä on merkkijono
Tämän tämän kanssa tämän,
ja nyt minun ei tarvitse paeta näitä lainausmerkkeihin.
Minun ei tarvitse käyttää tätä kaveri paeta.
He kirjaimellisesti tulostaa niin lainausmerkit ja sitten tämä kaveri täällä.
Tämä on toinen tapa sekoittamalla kaikki yhteen.
>> [Student] Lisäksi, kun toisti getType ei ollut lainausmerkeissä ollenkaan.
Oikea, joten kaiku on tavallaan erikoinen siinä mielessä, että sinun ei tarvitse sulkeisiin.
Sinun ei tarvitse olla lainausmerkit välttämättä ympärillä muuttujia,
kuin se on voimassa sanoa echo $ i, ja se tulee tulkita tämän merkkijono.
Se tulee tehdä valettu, jotta voisimme tehdä tämän, ja se on voimassa myös, mutta emme tarvitse sitä.
Se on vapaaehtoinen.
Tällä viikolla Harjoitus varoa paljon tällaista kamaa
missä olet yhdistelemällä HTML PHP
aivan kuten tämä, ja nyt jos selaa taaksepäin, ja otamme tämän
voimme nähdä, että meillä on koko joukko optio-arvojen
että juuri tulostettu.
Olemme kaikki tämä HTML että sai syntyy todella nopeasti meille.
Jätän sen harjoituksen.
Se on hyvin samankaltainen tiedoston käsittelyssä, että teimme aikaisemmin.
>> On concentrations.txt tiedosto, jonka voit vetää alas CDN,
ja voit avata sen käyttämällä samaa foreach temppu, että teimme aikaisemmin,
ja foreach sinun täytyy vain yhtyä vaihtoehto ja kytke
asianmukaiset arvot, asianmukaiset avaimet ja indeksit,
ja sitten saat pudotusvalikon, joka kirjaimellisesti luo
ohjelmallisesti teille kaikille eri pitoisuuksia Harvardin.
Kätevä juttu on.
On paljon kokoonpanon juttuja tähän tehtävään.
Jos et ole tehnyt sitä jo ottaa seuraava puoli tuntia, tunti,
jonkin aikaa tänä iltana varmasti varmasti,
kävellä Harjoitus spec,
Katso mitä tapahtuu perustamiseen vhosts, paikallinen isäntä, kaikki jutut.
Yksi asia huomauttaa nyt on, että
Useimmissa ongelma sarjaa olemme menossa omaan Dropbox kansioon
ja sitten lataamalla Harjoitus zip-tiedosto ja unzipping sitä.
Tämän ongelman setti et halua.
Haluat mennä tähän vhosts hakemistoon.
Sinun kannattaa mennä vhosts ja mennä paikallisen isännän hakemiston sisällä,
ja tämä on silloin sinun kannattaa vetää alas zip-tiedoston,
pura se ja saada valmis menemään.
Sinun täytyy seurata ohjeita tarkasti.
>> Jos sinulla on kysyttävää, lähetä sähköpostia, lähettää sen Keskustele, tulevat virka.
Kiitos kaverit. Ensi viikolla aiomme saada tarkistaa istuntoon tietokilpailu.
Nauti viimeinen ongelma asetettu. Toivottavasti kaikki menee todella hyvin.
[CS50.TV]