[Powered by Google Translate] [Sadaļa 8] [mazāk apmierināti]
[Nate Hardison] [Hārvarda]
[Tas ir CS50.] [CS50.TV]
>> Laipni lūgti mūsu otro līdz pēdējā sadaļā.
Šajā nedēļā mēs ejam runāt par PHP, un pēc tam nākamajā nedēļā
mēs darīsim nedaudz pārskatu par 1 viktorīnā.
Mēs ejam, lai sāktu no problēmas 3 lapā komplekti pack,
un mēs strādāt ar sadaļu jautājumiem diezgan ātri.
3 lapā, mēs sākam runāt par šo atšķirību starp C un PHP
tādā ziņā, ka PHP ir dinamiski drukāti valoda,
tā C statiski drukāti,
un ir kāds tiešām ātri izdarīt jebkādas kodēšanas kaut ko līdzīgu PHP
vai Python vai Rubīns pirms JavaScript?
Pilnīgi jauns? Labi.
>> Visi šie valodu, kas man tikko minēts
ļoti atšķiras no valodas, piemēram, C un C + + un Java
tādā ziņā, ka tad, kad jūs deklarēt mainīgo jums nav deklarēt
kāda veida mainīgo tā ir, tāpēc K mēs bija iestrēdzis, kam vienmēr saku
Tas būs int mainīgo, vai tas būs char * mainīgs,
tā kā ar PHP, ar Python, ar Ruby,
ar daudz no šiem vairāk mūsdienu valodas jums nav to darīt vispār.
Jūs vienkārši deklarēt savu mainīgo, un attiecībā uz PHP
Jums paziņot, ka tā ir mainīga ar apzīmētāju to ar $ zīmi,
un tad mainīgā veidu nosaka kāda vērtība tas ir saimniecības,
kas ir veida atdzist.
Spēlēt aptuveni ar šo mazliet, mums ir Paraugs PHP kodu tieši šeit
starp sākuma un beigu tagiem.
Mēs esam izmantojot šāda veida līdzīgi HTML tādā ziņā, ka
mēs esam ieguvuši šos leņķa iekavas šeit atvērt un aizvērt.
Jūs redzēsiet to ar HTML.
Jūs redzēsiet to pašu veida sintakse ar XML pārāk.
>> Tas norāda uz sākumu PHP bloku.
Šo? Php ir specifiska PHP.
Mēs aizvērt viss ar?> Kā arī.
Pieņemsim atvērt failu mūsu ierīces, izmantojot ko jūs vēlaties.
Šajā paketē ir teikts, lai izsauktu dynamic.php.
Patiesībā, jūs varat zvanīt tas ko jūs vēlaties, bet faila nosaukums būs jānāk klajā
un būt svarīgs vēlāk, tāpēc atceries kāds jums zvana to.
Es esmu gatavojas pārslēgties uz ierīces,
un es esmu gatavojas veikt direktoriju
9.pants Es uzskatu, ka mēs esam pie tagad.
Un mēs iet uz 9 sadaļā,
un es esmu gatavojas izmantot gedit.
Let 's redzēt, gedit, un es esmu dodas uz zvanu raktuves dynamic.php.
Uzplaukums.
Ietvaros dynamic.php, jo tas ir PHP failu
un es gribu palaist to caur PHP tulks
Man vajag, lai sāktu visu no šiem atvērtiem tagiem,
tāpēc es esmu gatavojas sākt šīs tiesības prom,
dotu sev maz vietas starp tagiem,
un tad Šī uzdevuma mērķis bija spēlēt aptuveni ar
Šī funkcija sauc gettype, tāpēc gettype, šo funkciju tieši šeit.
>> Ievērojiet, ka tur nav pasvītrojumu vai telpu vai defisi vai kaut kas tamlīdzīgs
atdalīšanai no 2 vārdiem, saņemt un rakstīt, tikai vienu vārdu vispār.
Bet ko tas būs jādara, ir, ja es iet uz mainīgo lielumu, lai gettype,
saka $ var vai $ x,
tas man pateikt veida kādā debugging formātā
kāda šāda veida nosaukums ir.
Mēs ejam, lai eksperimentētu šeit.
Jo īpaši, ja paskatās atpakaļ uz PSET spec
mēs esam ieguvuši dažas atšķirīgas rindiņas kodu šeit.
Pirmajā rindā kodu mēs sāktu šo mainīgo, $ var,
būs vienāds ar 7, un tad mums ir šis printf līniju
ka saka hey, printf VaR ir tukšs.
Printf ir viens no daudzajiem veidiem, kā mēs varam drukāt lietas PHP.
Bieži vien jūs redzēsiet atbalss funkciju vietā izmanto printf,
bet printf mēs visi esam iepazinušies ar kam ir kodēšanas C uz brīdi.
Ko jūs faktiski var darīt, ir, pieņemsim redzēt, ja kopēt un ielīmēt darbus.
Es esmu gatavojas sniegt šo izmēģināt.
Mēs iet atpakaļ pār ierīci.
Labi, un tur mēs ejam.
Un atstarpe ir mazliet bailīgs, bet šeit mēs iet.
Mēs esam ieguvuši šo kodu šeit.
>> [Studentu] Vai tas nav labs stils, lai tab to?
Žēl?
[Studentu] Vai tas tradicionālās uz cilni tā?
Labi, tāpēc Sems jautā, ja tas ir konvencija cilni to vai ne.
Parasti jā.
Šajā gadījumā es esmu izvēlējies to nedarīt.
Godīgi, jūs redzēsiet dažādas lietas starp dažādiem programmētājiem.
PHP parasti lieto bieži kopā ar HTML
un citās valodās, un tāpēc dažreiz drukāšanas izskatās mazliet bailīgs
ja jūs ievilkums ietvaros PHP sākuma un beigu tagiem.
Tas patiešām ir atkarīgs.
Šajā gadījumā kopēt un ielīmēt nav ielīmēt cilnēm par mani,
bet tas noteikti nav, kā jūs teicāt, padarīt to skaidrāku.
Labi, ja jūs saglabāt šo kodu dynamic.php
tad ko jūs varat darīt, ir nokritusies līdz jūsu termināla logu, kur es esmu uz leju šeit
jo gedit, un darīt to ekvivalentu sastādīt
izmantojot veikt un tad darbojas savu kodu C
viss, kas jums ir jādara ar PHP faila palaišanas PHP tulks,
kas ir maz programmu sauc par PHP,
un arguments jums dot tulka ir fails jūs vēlaties interpretēt.
Šajā gadījumā, dynamic.php.
Whoops, no kurienes man to?
Ak, man to 9.pants, un šeit es esmu. Tieši tāpēc.
>> Tagad, ja man palaist, ka atkal
mēs redzam, ka manā pirmajā gettype funkciju zvanu
VaR ir skaitlis.
Jo nākamais VaR ir virkne, un tad trešais VaR ir Būla.
Kas ir interesanti par šo ir, ja mēs ritināt atpakaļ uz augšu, mēs redzam, ka
Tie ir veidi līdzīgi tiem, kas mums bija C.
Mums bija Ints pilsētā C.
Mēs veida bija virknes C,
tāpēc stīgas nebija pilnīgi legit veids tādā ziņā, ka
Mūsu CS50 stīgu bija tiešām ko?
Žēl? Missy?
[Missy] Char *.
Jā, tas bija tas char * mēs izmantojām.
Pašā sākumā semestra mēs izmantojot virkni veidu,
bet tas bija tiešām CHAR * saskaņā ar kapuci.
Mēs vienkārši ierakstiet to definēja, bet PHP šie stīgas faktisko veidu.
Nav šīs char * tipa sīkumi vairāk.
>> Jūs redzēsiet, ka mēs varam darīt daudz vairāk lietas ar stīgām
daudz vieglāk PHP nekā mēs varētu C,
un tad beidzot, mums ir šis boolean tipa, un liela atšķirība šeit ir tā, ka
ja mēs ritināt atpakaļ uz leju, mēs redzam, ka vārds no šiem veidiem
tagad skaitlim, stīgu, un Būla vietā int un bool,
un kā jūs uzņemt dažādus programmēšanas valodas,
pieņemot, ka kādā brīdī jūsu dzīvē jūs nonākt saskarē ar
dažādi tie jūs pamanīsiet maz quirks kā šis
kur C aicina integers Ints.
Daži to sauc par skaitļu.
Ir arī citi noteikumi, kas jūs satikt.
Liels int mēs redzējām šodien SQL.
Ir arī vairāki, un tad loģiska, boolean,
visu veidu atšķirībām tur.
>> Tas nav briesmīgi interesants, bet tagad es esmu gatavojas sniegt jums mazliet laika,
ja mēs atkal tālināt-strādāt šī uzdevuma apakšā 3 lpp
ja tā jautā, kāda veida atbilst šīm vērtībām šeit apakšā.
Mums ir 3,50.
Mums ir šī lieta tieši šeit, kas ir interesanti.
Mēs neesam redzējuši, ka pirms, gan, ja jūs esat sekojuši līdzi lekciju
Jūs droši vien jau zināt, kas tas ir.
Tad mums ir tas, kas tas ir sava veida bailīgs.
Jums jāatzīst.
Kas tas ir C?
Sam? Kas būtu tas dod jums C?
Tas pavērtu failu sauc dynamic.php un padarīt to lasāms.
Jā, un kāda būtu veids mainīgā ka mēs nodotu šo? >> File zvaigzni.
Tieši tā, mēs nodotu šo failu zvaigzni.
Šis ir likumīgs PHP pārāk.
Palaist to. Redzētu, kas notiek, ja jūs iet, kas stājas gettype.
Un tad arī pārbaudīt, ko Null ir, ko tas varētu būt PHP.
Es jums pāris minūtes.
Jūs varat burtiski kopēt un ielīmēt šīs vērtības,
un tad mēs darīsim nedaudz izlases zvanu par jums
un redzēt, ko jums.
>> [Studentu] Man ir jautājums. << Jā.
Vienā no lekcijām Dāvids tur ir kaut kas jūs varat likt augšpusē faila
tā, ka jums nav rakstīt PHP katru reizi.
Kas tas bija?
Viņš droši vien runā par sterliņu sprādziena, hash sprādziena.
Tas ir direktīva, kas, ja jūs zīme jūsu failu kā izpildāmā
tad ko tas ir, kad jūs izpildīt failu
tas pateiks čaulas programma
izmantot PHP tulks interpretēt faila saturu.
Jautājums ir, kas bija šī īpaša līnija
ka mēs varētu ietvert augšā mūsu PHP failus nav jāiekļauj
Šis PHP līnijas vai šis PHP komandu, ja mēs vēlamies, lai izpildīt failu?
Un jūs faktiski var darīt ar ķekars dažādiem failiem.
Es uzskatu, ka tas ir atkarīgs no tā, kur PHP binārā tiek uzglabāti,
bet bieži usr / bin / php ir laba vieta, kur sākt.
Jūs varat izdomāt šo out tieši dodoties atpakaļ uz savu ierīci
un rakstīt, kura PHP.
Kuru komandu skaitļi, kad jūs izpildot bināro
vai komanda, kurā attiecīgā fails.
Tas man saka, ka PHP ir tiešām aliasing Šis binārais fails
kas glabājas usr / bin, kas ir, ja no sistēmas binaries daudz ir uzstādītas.
Piemēram, ja es ritiniet uz augšu uz augšu, tagad, ka es esmu nodot šo #! līnija šeit
Es var ritināt uz leju, un es varētu mēģināt palaist
dynamic.php, bet man šī kļūda par atļaujas atteikuma gadījumā
un ko tas nozīmē, ka šis fails nav šobrīd dod izpildāmā atļaujas.
Tas nav atzīmēts kā failu, kāds var darbināt.
>> Kad jūs skrēja veikt vai šķindēt un jums izpildāmā no tā
kompilators bija pietiekami gudrs, lai zinātu, ka hei, es esmu ēka izpildāmā.
Jūs, iespējams, vēlas to izpildīt, lai tā būtu automātiski konfigurēt
atļaujas, par jums.
Šis nav tas gadījums, lai gan, ja jūs izveidot normālu failu no nulles,
Iemesls ir parasti jūs nevēlaties būt jebkuru failu jūsu sistēmā piedziņu,
tāpēc jums tiešām ir iet un manuāli darīt.
Vieglākais veids, kā to izdarīt, ir ar chmod komandu,
un chmod + x saka pievienot izpildāmā mazliet
jo tur ir lasīt mazliet, rakstīt mazliet un izpildāmā mazliet,
R, W un X,
un saka chmod + x kļūs par izpildāmā bit
Jo tad lietas materiāliem, ka mēs precizēt, kas šajā gadījumā būs dynamic.php.
>> [Studentu], ka ieslēgts ikvienam?
Pieņemsim pārbaudīt šo out, tad kā man pārbaudiet atļaujas?
Vai jūs zināt, kā es gribētu pārbaudīt, lai redzētu atļaujas failu?
[Dzirdams studentu reaģēšanas]
Žēl >> [Studentu]? XSD.
XSD dod mums failu hacks.
Uzskaitot visus failus,-L, parāda man visus failus manā direktorijā
veida viņu ilgi, runīgs sarakstā, un tāpēc šeit mēs redzam, ka
Šis dynamic.php fails
pēdējās izmaiņas 5 novembris plkst 16:21.
Šī faila īpašnieks jharvard.
Tas ir lietotājs, kurš ir pieteicies collas
Tas ir lietotājs es esmu strādā kā,
un ja tu esi arī ierīces jūs arī strādā par lietotāju jharvard.
Tu esi studentu grupā,
un tās ir lietas, ka jūs redzēsiet pietiekami bieži.
>> Mēs varam iet daudz sīkāk šeit,
bet lielākā daļa to, ko jūs vēlaties, lai apskatīt, ja jūs meklējat, lai redzētu
vai fails ir izpildāms galvenokārt
lietotājs kam pieder failu, īpašnieks,
tāpēc tas jharvard, un tad mums ir
atļaujas biti nekā šeit pa kreisi,
un veids, kā izlasīt šo ir tas, ka pēdējā mazliet
parasti tiek izmantots marķējums vai ne-vismaz šajā gadījumā
Šī pēdējā mazliet bieži būs iestatīts uz sludinājumu norādīt
ka fails ir katalogs un ne tikai normāla lieta.
Tad šādu 3 biti šeit
nosaka atļaujas ka faila īpašnieks ir,
Tātad šajā gadījumā jharvard, kā īpašnieks failu, var lasīt un rakstīt šo failu,
bet tur svītra, sakot, ka jharvard nevar izpildīt šo failu.
Nākamajos 3 biti ir par grupu, tāpēc šis ir studentu grupa,
tāpēc, ja tur bija vairāki lietotāji uz manu ierīces,
un mums bija vairāki lietotāji kā daļa no studentu grupas,
tad viņi visi var izlasīt šo failu, bet nevar rakstīt,
un tāpat kāds cits, pasaule
var tikai lasīt šo failu, kā arī.
Tur labi, ilgi writeup par šo,
lai jūs varat izlasīt internetā.
Jo problēma noteiktā spec mēs iedziļināties šo sīkāk.
>> [Studentu] Vai 218 atsaucoties uz pasauli?
218 ir-off augšpusē manu galvu es esmu aizmirstot,
bet nē.
Pieņemsim redzēt. Es esmu blanking šīs tiesības tagad.
Atpakaļ uz to, ko mēs par to darīt ar šo chmod + x
kur mēs vēlējāmies dot dynamic.php izpildāmos atļaujas,
un jautājums bija par to, vai tas dotu izpildāmo atļaujas ikvienam
vai vienkārši jharvard, un mēs varam redzēt šo,
darboties komandas un ierakstot ls-l,
un tagad mēs redzam, ka tas ir atzīmēts kā izpildāmā.
Tu redzi, ka tur bija krāsu maiņa.
Tagad dynamic.php ir uzskaitīti zaļā krāsā,
un izskatās, ka atbilde uz jautājumu ir tas, Šarlote?
[Šarlote] Tikai jharvard. >> Tikai jharvard, jā.
>> Ja mēs vēlējāmies, lai ieslēgtu izpildāmo mazliet par visiem
kā varētu mēs to darām?
Jebkurš domas >>? + X?
Jā, tieši tā.
Šarlote teica mēs varam darīt chmod no + X dynamic.php,
un tagad, ja mēs palaist ls-l mēs redzam, ka izpildāmā biti
tiešām ieslēgts ikvienam.
Un jūs faktiski var darīt otrādi šo, lai jūs varētu to izslēgt ikvienam
izmantojot mīnuss.
Tagad tas ir izslēgts, un tagad mēs varam pārvērst to atpakaļ uz jharvard
lai mēs varētu kursēt to tagad,
un tagad jūs redzat, kad mēs palaist kodu šo īpašo #! līnija augšā,
#! līnija, pastāstīja čaumalu,
teica mūsu terminālu hei, kad šis fails ir palaist,
izmantot / usr / bin / php interpretēt šo failu
un pēc tam izdrukāt rezultātu.
[Dzirdams students jautājums]
Protams, ļaujiet man ritiniet atpakaļ uz augšu. Tāpat kā šis.
Jūs redzēsiet visu šo direktīvu sākt ar šo mārciņa un tad izsaukuma zīme,
dažreiz sauc zaņķis, hash sprādziena.
>> [Studentu] Kā mēs varam palaist to ar php dynamic.php pirms mēs to izpildāmā?
Jautājums bija, kā mēs varam palaist to, izmantojot PHP bināro
bet dynamic.php nav izpildāms?
Tas ir super svarīgi, jo tas ir tieši tā, kā
tas notiek uz darbu, kad jūs uzrakstīt problēmu komplekts 7.
Lielāko daļu laika PHP faili nav tieši izpildāms.
Tā, ka darbojas, ir, jo tas ir PHP binārā kas ir izpildāms.
Tulks ir lieta, kas tiek izpildīts,
un lai ko tas dara ir burtiski slurping visā saturam
Mūsu dynamic.php failu un iet pozīcijai
un izpildot šos komandas, tāpēc tas ir, izmantojot mūsu PHP failu
kā sarakstu instrukcijas.
Tas nav tieši izpildes to.
Tas ir, ja mēs sakām, ka šie faili ir interpretējami palaist laikā.
Tas izpildes laiks valoda, nevis kaut ko, kas ir noteikta kompilēšanas laikā,
nav apkopota valoda kā C.
>> Vai ir veids, kā iegūt Run laiks valodu rīkoties, it kā tas apkopo laiks valoda,
piemēram, ja jums ir visas darbību darīts pie servera
nevis-tu zini, ko es domāju?
Jā, tāpēc jautājums ir
Vai ir veids, kā iegūt Run laiks valodas rīkoties vairāk kā kompilēšanas laika veidiem valodu?
Un tur ir, es domāju, ka ir aktīvs pētniecības joma par daudz no šiem uzņēmumiem.
Es uzskatu, ka Facebook ir paveicis lielu darbu ar PHP
un apkopojot to uz leju, padarot to ātrāku, optimizējot to
jo viņu lapa ir veidota uz PHP.
Ja jūs esat pēc node.js vispār,
kas ir sava veida JavaScript tulka
lai varētu darboties JavaScript ārpus pārlūku, ārpus jūsu interneta pārlūku,
jo tradicionāli JavaScript vienkārši palaist iekšā Firefox vai Chrome,
un tas tiks izmantots, lai veiktu atdzist animācijas notikt uz mājas lapā
un padarīt jūsu mājas lapā dinamiska.
Kas ir veidota uz daudz darba, ka Google ir paveicis
padarīt JavaScript un C + +
saistīt kopā, tāpēc tur notiek aktīva izpēte uz partiju
get šīs valodas mijiedarboties un optimizēt tos,
galvenokārt tāpēc, ka tik daudzi cilvēki var kodēt PHP un JavaScript
jo tas ir daudz vieglāk.
Tas daudz nicer. Jums nav norādes.
Jums nav veidu peldošs apkārt.
Viņi vēlējās gūt labumu no šiem kompilēšanas laikā valodās
ar visu tipa pārbaudes un ātrumu un apakšējā atmiņas izmantošanu un visiem, kas
vienlaikus saglabājot elastību un izmantošanas šiem jaunāku ones vieglumu.
>> Atpakaļ uz mūsu sākotnējo plānu uzbrukums.
Mēs esam ieguvuši dažas no šiem jautājumiem šeit mūsu problēma noteiktā spec.
Iesim caur tiem tiešām ātri, un mēs iet pa istabu.
Šarlote, kāda veida ir 3,50?
[Šarlote] Tas dubultā. >> Tas dubultā.
Jimmy, kāda ir šī nākamais? >> Masīva.
Masīvs, laba, un Jared, kāda ir fopen?
[Jared] Tas resurss. >> Tas resurss.
Tas ir sava veida jaunu, ne failu zvaigzne, nevis faila.
Tas ir resurss ir veids PHP,
un man žēl, Ella, pēdējā Null ir tas, ko?
Null.
Null, kā tas ir uzrakstīts PHP? >> Vienādi.
Tāpat galvaspilsētas >> Yeah?.
Jā, viss labi.
Šeit mēs ejam, mēs esam ieguvuši dubultā, mēs esam ieguvuši masīvs,
mēs esam ieguvuši resurss, un tad mēs esam ieguvuši null.
Pieņemsim redzēt tagad esat redzējuši-
pieņemsim redzēt, tāpēc tagad es domāju, ko es arī gribu darīt, ir uzvilkt
Šī tīmekļa lapu tieši šeit, tas php.net / rokasgrāmatu,
Tātad, ja jūs puiši kopēt kas un atvērt interneta pārlūku.
Es esmu gatavojas uzvilkt Chrome, nodot, ka iekšā
Es gribu parādīt jums tas nav tikai tāpēc, ka
mēs varam runāt visu dienu par veidiem un visu, kas jautri sīkumi
bet gan tāpēc, ka tas ir PHP roku,
un tur ir PHP programmētāju, kas tur daudz.
Ir PHP mājas lapas, kas tur daudz,
un kā rezultātā pastāv dokumentācijas daudz uz PHP,
un roku, tas php.net, ir tiešām laba vieta, kur iet
ja jums ir jautājumi par to, kas ir labākais veids, kā to darīt X PHP
vai ko tas funkcija izskatās?
Tikko veida iepazīties ar to, kas tas izskatās, jo
jums tiks nāk šeit bieži, lai problēmu mazliet komplekts 7.
>> Ja jūs galu galā dara gala projekts, kas izmanto PHP
Tas būs vieta, kur jūs varēsiet kļūt ļoti labi iepazīties ar.
Bieži kā cilvēki to izdarīt, ir tie izmanto Google, lai meklētu vietu,
un tie nav izmantot meklēšanas lodziņu, kas ir šeit uz augšējā labajā, kas ir veida niecīga.
Ja jūs Googling ap kaut ko darīt ar PHP un jūs redzēt
viens no manuālās saitēm pop up jūs varat parasti paļauties uz to
kā diezgan labs resurss.
Awesome, tāpēc no šiem veidiem, tikai no zinātkāri,
kādi nav pieredzēts?
Kaut mēs neesam redzējuši šeit?
[Studentu] Resursu. >> Mēs redzējām resurss ar fopen zvanu.
[Studentu] Objekti. >> Objekti mēs neesam redzējuši, lai pārliecinātos.
Callbacks mēs neesam redzējuši.
Ir daži no šiem pseido-veidiem.
Mēs noteikti redzēja tikai skaitlim un dubultā.
Mēs neesam redzēt dažus no citiem, tāpēc, ja mēs noklikšķiniet uz integers
mēs varam redzēt ir citas skaitļu, ka viņi ir šeit?
Vai viņi visi tik vesels, vesels, vesels.
Dažām valodām ir lielāki integer veidus,
kā mēs redzējām MySQL šodien bija int un tad liels int.
Atdzist.
>> Tātad, PHP rokasgrāmatu.
Iesim atpakaļ uz mūsu problēmu komplekts spec, un mēs tagad uz leju līdz 4.lpp.
Viena no lietām, kas notiek tad, kad jūs saņemtu šos valodas
kas nav šo statisko rakstīt, tāpēc šīs valodas, kur jums ir deklarēt
tipa mainīga uzreiz
ir jums gadījumi, kad jūs varētu sākt ņemot mainīgos dažādu veidu
mijiedarbojas ar otru,
un PHP dara šī lieta, ja tā mēģina darīt
ko tā uzskata par vispieņemamākais lieta darīt
ja jums ir 2 dažādi savstarpēji mijiedarbojas.
Piemēram, ja mēs skatāmies uz šo kodu līniju tieši šeit
Jūs redzēsiet, ka mēs esam ieguvuši to, kas notiek, kad
Mēs cenšamies un pievienot virkni 1 līdz skaitlim 2.
Kas notiek, ja mēs mēģinātu pievienot virkni, kas nav skaitliskā vērtība
bet faktiskā rakstzīmes, CS uz numuru 50?
Tad mēs redzēsim, ir tur kaut kas atšķirīgs, kas notiek, ja
nevis pievienojot virkni ar vairākiem mēs pievienojot numuru virknes,
un tā tālāk un tā tālāk līdz vietai, kur mēs esam nonākuši
sava veida dīvaini sīkumi šeit, kur mēs esam ieguvuši 7 + taisnība.
Kas heck tas nozīmē?
>> Ja jūs puiši iet uz priekšu un ielīmēt dažas šo kodu savā ierīcē.
Jūs varat turēt to dynamic.php.
Redzēsim, kas notiks.
[Studentu] Tikai izmantot drukāt, ne printf?
Jā, lai jūs atradīsiet, ka druka ir arī derīga funkcija drukāšanai PHP.
Ir daudz dažādi veidi, kā to dara.
Redzēsim ar pāris piemērus vēlāk, kad mēs sākam runāt
par unikālo problēmu, ka mēs ejam, lai rakstītu
un tad koncentrācijas problēma, ka mēs ejam rakstīt
ka, lai gan mums ir fopen un fclose
tas bieži vien nav vienkāršākais veids, kā lasīt no faila saturu.
PHP ir daudz no šiem C-piemēram holdovers.
[Studentu] Kad man visu 6 no šīm lietām es tikai iegūt vienu numuru kā produkciju.
[Nate H.] Kad jūs nodot visu 6 no šīm lietām.
Let 's redzēt, ir, jo tas ir iespējams,
viena lieta ir, ka šīs drukas zvani netiek izbeigts beigās ar jaunām līnijām.
Nav jaunu atdala katru no šīm drukas zvaniem,
tāpēc varbūt jūs saņemat vienu lielu skaitu,
un tas patiešām ir tikai amalgama jaunu līnija rakstzīmes.
[Studentu] Labi, kā es varu pārliecināties,
Nu, tur ir dažādi veidi ķekars.
Jūs varētu manuāli ielikt drukā jaunas līnijas raksturu,
atbalss jaunu līniju rakstura,
izdrukāt no jaunās līnijas.
[Studentu] Tātad ECHO pats kā printf?
>> Printf ir kā C printf
kur jūs drukāšanas formatētu virkni.
Jūs esat sniedzot tai formāta stīgu un tad visi viettura mainīgos.
Tas bieži vien kaut kas nav izmantota,
pieņemsim redzēt, kā atruna,
Es esmu mazāk pazīstami ar PHP nekā es esmu kopā ar citām tīmekļa valodām,
un, kad man ir ieprogrammēts PHP es parasti neizmanto printf
jo man šķiet ātrāk izmantot stīgu interpolācijas iespējas, ka tā ir,
ko mēs iedziļināties un es jums parādīs, tikai otrkārt,
tā kā C mēs veida ir darīt šo Hacky lieta, lai saņemtu to izdrukāt pareizi.
Jūs faktiski var nodot mainīgos tieši stīgas PHP.
Printf ir veida pārāk ilgi par to, ko es parasti daru. Jā, Ella.
[Ella] Parasti, ja jūs saņemsiet parsēšanas kļūda tas nozīmē,
tāpat par C tas nav pateikt, kur tieši kļūda ir un kas tas ir,
Tātad tas nozīmē paskatīties caur jūsu visu kodu un to sapratīs?
Tas parasti mērķtiecīgāka nekā.
Es domāju, šajā gadījumā tā bija nedaudz off,
tāpēc es domāju, ka šajā gadījumā mēs trūkst semikolu.
Tā centās jēgas no visa,
tāpēc tāpat šīm interpretēt valodās, tulks gatavojas izmēģināt
un darīt visu iespējamo, lai padarītu visu darbu pienācīgi.
>> Jūs redzēsiet, piemēram, JavaScript
Jūs bieži līnijas pārskati beidzas ar semikolu tāpat kā viņi dara PHP,
tāpat kā viņi dara C.
Jo JavaScript daži JavaScript tulku
kas daudz pārlūkprogrammām ieliks semikoliem jums
ja jums gadās būt trūkst viņiem.
Tie būs izmēģināt un uzņemt kādu sloppiness no jūsu puses.
Tas ir, ja tā varētu mēģināt un mēģināt un mēģina darīt lietas darbu,
un tad beidzot tas saņems līdz vietai, kur ir teikts, labi,
Es nevaru darīt lietas darbu bailing, un tas ir, ja jūs saņemsiet līniju skaitu
kas varētu šķist mazliet off no precīzu vietu.
Labi, tāpēc pieņemsim iet cauri tas tiešām ātri.
Mēs left off ar Ella, tāpēc pieņemsim iet pāri uz Missy,
un Missy, ko tas drukas stīgu 1 plus numurs 2 dod jums?
[Missy] 3 >> 3..
Vai ir jēga? Šķirot no?
Vai tas jums numuru? Vai tas jums virkni?
[Missy] skaits >> Tas numurs..
Bet tas drukāšana, lai tā notiek, lai dotu jums dažas veida virknes.
>> Viena lieta, ko mēs varam darīt, lai pārbaudītu šo out
ir, ja mēs $ var = 1 + 2
un tad mēs sakām atstarojas gettype,
tāpēc mēs esam izmantojot trešo veida drukāšanas šeit.
Tagad mēs varam redzēt, kas notiek šeit.
Lūk, ko mēs esam ieguvuši, ir mēs saņēmām skaitlim no šīs.
Pat ja mēs pievienot šo virkni ar vairākiem,
mēs neesam iegūt virkni no tā, tāpat kā Missy teica.
Mums bija iegūt skaitlim.
Labi, tāpēc pieņemsim redzēt, blakus uz augšu, Kevin.
CS + 50 >> [Kevins] 50?.
[Nate H.] 50. Vai ir jēga?
[Kevins] Jā.
[Nate H.] Kāpēc? Kāpēc tas ir jēga, lai jūs?
[Kevins] Jo tas ir tikai, kam ir virkne, kam numurs nulles vērtību.
Jā, lieliski.
Veida neviennozīmīgi situācijām, bet tas ir labi zināt, kas notiek.
Stella, kas notiek tālāk ar numuru 1 + stīgu 2?
[Stella] 3 >> 3 vēlreiz..
Un šajā gadījumā, mēs varam iegūt virkni vai numuru?
>> Pieņemsim sniegt šo izmēģināt.
Kāds ātrāks nekā man iegūt atbildi? Šarlote?
Ak, es didn't-labi, pieņemsim redzēt, mēs esam gatavojas darīt to pašu veida lieta
kur mēs esam ieguvuši vairākus plus virkne, un mēs esam gatavojas atbalss veidu,
redzētu, ko mēs.
Mēs arī saņemt skaitlim.
Tas nav jautājums, kas viens ir virkne, kas viens ir numurs.
Mēs joprojām gatavojas saņemt skaitlim.
Tas joprojām gatavojas darīt to, ko mēs varētu sagaidīt.
Labi, lai Sam, ko par 90 + 9 pudeles alus pie sienas?
[Sems] 99 >> 99..
Nav pudeles alus pie sienas, though.
Tas dod mums mazliet vairāk informācijas par to, kas notiek.
[Sems] Ja tu būtu rakstījis 9 burtiem
tad jums būtu 90, vai ne?
[Nate H.] Jā.
Jautājums bija, ja mēs gribētu rakstīts 9 no kā N-I-N-E
būtu mēs esam gotten 99 vai 90?
Mēs gribētu saņemt 90.
Tas ir burtiski tikai meklē ciparu rakstzīmes.
Tas nav pietiekami gudrs, lai atpazīt numuru vārdus un ka stuff. Jā.
>> [Studentu] Vai pastāv tāda lieta kā typecasting PHP?
Tur ir, un tas ir tieši tā, kā jūs varētu darīt to C.
Ko par 10/7, Šarlote?
[Šarlote] 1,4285.
[Nate H.] Jā, lai to, ko varētu būt pārsteigums par šo?
Kas notiktu, ja jūs šo pašu veida lieta C,
ja jums bija pirms 10/7 C?
[Šarlote] Tas tikai jums, atkarībā no tā, kā jūs typecasted I guess
tas dod jums tikai ierobežotu ciparu skaitu pēc komata.
Yeah, tāpēc ierobežots skaits cipariem aiz komata.
Kāds cits varētu būt-vai tas jums dot nekādu cipariem aiz?
Bieži nav, tāpēc atkal, atkarībā no tā, cik jūs typecasting to
tā var vai nevar pārvērst to uz peldošo punktu skaitu.
Šeit tas bija sava veida jauki, ka tā darīja.
Ja mēs parādījis šo atpakaļ, kad mēs sākām darīt šo stuff veida C
tas, iespējams, būtu guvusi mazliet lielāka jēga
ka tas nav vienkārši aiziet uz 1.
Un tad beidzot, Džeimijs, kas par 7 + taisnība?
[Džeimijs] 8. >> 8.
Ko tas nozīmē?
Es domāju, tas tikai dod taisnība vērtība ir 1.
Yeah. Kas notiek, ja mēs mainītu, ka, lai nepatiess?
[Studentu] 7.
Yeah, tāpēc atcerieties, kad mēs runājam par šīm bināro vērtību,
1 ir par, 0 to off?
Tagad mums ir taisnība, ir 1, 0 ir nepatiesa,
un jūs varētu būt redzējis šo, C piemēriem, ka mēs esam darījuši pagājušā semestrī,
bet vēsturiski bool tips C nav bijis īsta veids,
lai cilvēki ir lietojuši 0 un 1 vietā patiess un nepatiess.
Tas ir izpausme kas.
>> Labi, tāpēc viena svarīga daļa par šo visu
ir tas, ka mums ir šie dažādu veidu.
Tās var mijiedarboties ar otru.
Viņi bieži vien var mijiedarboties ar otru veidos, kas ir jauki, jo mēs esam redzējuši šeit.
Tas ir jauki, lai varētu būt stīgu 1 un numurs 2, pievienojiet tos kopā un iegūt 3.
Ka ir jēga.
Tomēr, ja jūs esat rakstiski mājas lapas, un jo īpaši, ja jūs apstrādājot
lietotāja ievadi, tāpēc teikt, jūs esat uzrakstījis tīmekļa veidlapu
kas apkopo informāciju no lietotāja, un tad iet uz to apstrādāt
par atpakaļ beigās, uz servera pusē jūsu PHP kodu
ja jūs gaida, ka vērtība, ka lietotājs drukāti un iesniegti
uz jūsu veidlapas jābūt veselam skaitlim vai būt peldošo punktu skaitu vai kaut kas tamlīdzīgs
Jums ir nepieciešams, lai skaidri nodot to
un tad tie daži tipa pārbaude.
>> Jūs nevēlaties, lai tikai paļauties uz šāda veida juggling sistēmu, lai padarītu lietas izstrādāt,
īpaši drošības apsvērumu dēļ un tikai par pamatīgumu jūsu mājas lapā.
Tikai kaut ko paturēt prātā, ka, ja jūs esat apstrādes veidlapu datus,
jebkas, kas nāk pa pastu vai nokļūt superglobals
pārliecinieties, ka Jums vienmēr apstiprināt to un pārvērst to un typecast to.
Un tāpat kā mēs runājam par kādu brīdi pirms šīs typecasting
PHP ir tieši tāds pats kā C, kur jums ir iekavas
un tad veids.
Paturiet to prātā.
Viena funkcija, kas noderēs, ja jūs darāt šo
ir mēs esam izmantojuši, un šāda veida ir malā-
Mēs esam izmantojot šo gettype funkciju tieši šeit
izrēķināt, kāda veida mainīgo,
un, kamēr tas ir ērts debugging un redzēt, kas ir mainīgs tips ir
Jūs nevēlaties, lai izmantotu šo, piemēram, tādā stāvoklī, kur
jūs pārbaudi, lai redzētu, vai gettype no $ var = skaitlim kaut ko darīt.
Tas ir slikti, slikti, slikti.
Tā vietā ir šīs funkcijas sauc ir skaitlis, ir virkne,
ir masīvs, ka jūs vēlaties izmantot vietā, tāpēc šajā gadījumā
ko es gribētu darīt, nevis šo puisi šeit
ir izmantot, ir vesels skaitlis var.
Un viņi bieži dēvē ir is_ * tādā nozīmē, ka jūs varētu aizstāt * ar skaitlim,
stīgu, uc, un tikai, lai pārliecinātos tiešām ātri
Vai šis ir int PHP.
Izskatās, ka jūs varat darīt, vai nu ir int vai ir tur ir vesels, kā arī?
Jā, pseidonīms, tāpēc int integer aizgūtais.
Atdzist.
>> Kā mēs to darām?
Pieņemsim uzņemt tempu mazliet.
Tagad mēs esam gatavojas runāt par masīvu, lai jūs varētu redzēt
nākamajā daļā spec mēs runājam par to, kā matricas PHP
ir nedaudz savādāki nekā tie ir C.
Patiesībā, viņi veida amalgama
kā masīvi, ka jūs esat ieradušies zināt un mīlestību C
kur viss ir tā paša tipa
uzglabā secīgi un contiguously atmiņā,
un jums ir šīs ciparu indeksus.
Jums ir indekss 0, indeksa 1, indekss 2,
un jums uzglabāt vērtības pie šiem rādītājiem.
Jūs arī C, kad jūs rakstījāt Speller, daudz no jums
darīja hash tabulu pieeju, un jūs redzēja, ka tur mums bija
dažāda veida uzglabāšanas kur mēs bijām kartēšanu
Galvenais, lai vērtībai, tad, kad esat mēģinājis saglabāt kaut hash tabulā
jums bija norādīt, ka jūs vēlētos, lai saglabātu to ar īpašu atslēgu,
un kas galvenais noteica par vērtību atrašanās vietu un, ja tas būtu jāglabā.
Jūs esat veida ieguva gan no šiem jēdzieniem notiek tajā pašā laikā PHP masīvs,
un kā rezultātā, mēs bieži saucam šos asociatīvo masīvu
kur mēs asociējot ar atslēgu vērtību.
Šajā Nākamajā daļā mēs runājam par vienkāršu PHP masīvs
kur mums ir atslēgas A, B un C,
visi virknes, kartēšanu ar integers 1, 2, 3 un.
Un jūs varat būt atslēgas dažādu veidu.
>> Jums var būt daži taustiņi, kas ir stīgas, dažas atslēgas, ka ir veseli skaitļi.
Jums var būt vērtības dažādu veidu.
Jums var būt vērtība, kas ir virkne, vērtība, kas ir skaitlis,
vērtība, kas ir objekts vai cits masīvs, piemēram,
viss vienā masīva objekta, kas ir sava veida dīvaini.
Jums nav jābūt ar masīvu, kas ir tikai pie viena veida elementu tajā.
Jūs varat būt daudz dažādas lietas notiek tur.
Otra lieta ir tas, ka tad, kad jūs redzēt kaut kas līdzīgs šim savu kodu,
kas ir derīgs PHP deklarēt masīvu, tāpat kā tas, 0, 1, 2, 3, 4, 5,
ka atzīs inicializēts $ arr būt tas masīvs.
Bet ko jūs faktiski kļūst saskaņā ar kapuci, ir šāda veida netiešu
paaudzes atslēgu, kur mēs esam ieguvuši 0-0, 1-1, 2 līdz 2, 3 līdz 3.
Un izrādās, ka pat tad, ja jums ir masīvs līdzīgs šim puisis šeit
kur jums ir, B un C, kā taustiņiem
un tad jūs sākat, izmantojot masīva push metodi, lai sāktu izmantot šo masīvu kā kaudze,
lai jūs varētu redzēt, ka šis masīvs objekts, tas masīvs ir patiešām kļūst pārslogota.
Mēs varam izmantot to kā masīvs. Mēs varam izmantot to kā hash tabulu.
Mēs varam izmantot to kā kaudze.
Kad jūs sākat stumšanas lietas uz šī masīva
pirmā lieta, jūs push uz šī būs indekss 0 un tad indekss 1 un indekss 2.
Jūs varat saņemt šāda veida netiešu paaudzes atslēgu
ja vien jūs tos norādīt skaidri.
Tas, kā jūs norādiet atslēgas skaidri, protams, ir, izmantojot šo bracket apzīmējums,
kas ir līdzīgs masīvi izņemot vietā atļaujot vienīgi
integer indeksi šeit, tagad mēs varētu kaut ko.
Ja jūs vēlaties, lai jūsu galvenais būt virkne, jūs norādīt to, kā šis.
Ja jūs vēlaties, lai to int, jūs norādāt to ar int vēlaties izmantot.
>> Jautājumi par ka līdz šim?
Viens no nice lietas par šo ideju
ir tas, ka jūs varat tikai kādreiz būt viens vērtību uzglabā ar īpašu atslēgu.
Ja mēs ejam atpakaļ pie mūsu Ierīces-let me izdzēst kādu no šo stuff.
Un pieņemsim, ka es sāktu masīvs būt 0, 1, 2, darīts.
Ja es tagad zinu, ka, piemēram, ja es atkārtoju $ arr [0]
Es esmu gatavojas saņemt vērtība 0 izdrukāt,
un jo tur var tikai kādreiz būt viena vērtība uzglabāt konkrētā atslēgu
ja es glabāt kaut ko $ arr [0], teiksim,
tad es zinu, kad man echo $ arr [0] vēlreiz
Es neesmu gatavojas saņemt 0 izdrukā kā iepriekš.
Es esmu tikai gatavojas saņemt.
Tātad šis ir būtībā sakot, ka es nevaru būt $ arr [0] uzglabāšanai 2 dažādas vērtības.
Tā nevar uzglabāt 0 un string, piemēram, tas burtiski aizvieto
kāda bija $ arr [0] iepriekš.
Iemesls I celt šo up ir palaist, redzēt, kas notiek.
Skatīt šeit, ka es saņēmu 0 izdrukāt un tad uz leju šeit.
Nav jaunu līniju tur, jo es biju slinks un nav laidis ka iekšā
Kas ir cool par šo ir, mēs varam izmantot to kā veids
lai attēlotu šo ideju kopumu
kur mēs nevaram būt vairāki atslēgas ietvaros masīva.
Mēs nevaram būt identiskas atslēgas ietvaros masīva.
Es nevaru būt taustiņu 0 un vērtību 1 un taustiņu 0 un vērtību ar
vai galvenais 0 un vērtību patiess.
Taustiņi ir viss tur ir tikai 1 atslēga masīvā.
Pat ja jūs varat būt pats saglabāto vērtību
vairākas reizes masīvā zem dažādām atslēgām
tas nav iespējams, ir identiski atslēgas vairākas reizes jūsu PHP masīvs.
>> Ja mēs skatāmies uz šo nākamo problēmu, unique.php,
kur mēs vēlamies atvērt PHP failu
kas satur sarakstu ar virknes, viens stīgu katrā rindā,
un mēs vēlamies, lai atrastu visas unikālās stīgas šajā failā
viss, kas mums ir jādara, ir izmantot vienu no šiem PHP masīvu
un izmantot virknes failā kā atslēgas uz šī masīva
un uzturēt atjauninātu savu masīvs, kā mēs glabāt šos jaunos atslēgas.
Kā mēs lasām katru līniju no faila mēs varam uzglabāt to masīvā,
un beigās mums būs kā mūsu atslēgas mūsu masīvā
visi no unikālās virknes failā.
Vai ir jēga?
Let 's redzēt, kā tas darbojas.
Mēs esam gatavojas atvērt, saskaņā ar spec, jaunu failu ar nosaukumu unique.php.
Atvērt. Ups, sorry, jaunu failu.
Mēs ejam, lai sāktu to off ar to pašu sākuma un beigu tagiem.
Mēs ejam, lai saglabātu to 9 sadaļā, un mēs ejam, lai izsauktu to unique.php.
Labi, tagad pietuvinātu objektu
Ideja šeit ir atvērt failu,
lasīt failu pozīcijai.
Attiecībā uz katru līnijas failā
mums būs masīvs, kur mums ir
līnija kā mūsu atslēgu.
Un tad, kad mēs nokļūt līdz beigām šeit
$ Arr s taustiņi ir unikāls līnijas
no lietas materiāliem, jo ​​mēs zinām, ka, ja man līniju vērā šī masīva
vairākas reizes, tas būs tikai glabāt svarīgas veco vērtību,
un mēs faktiski var nodot masīvu līniju kā pati tieši tāpat.
>> Tas ir sava veida dīvaini.
Mēs esam uzglabājot to pašu atslēgu vērtību pāri atkal un atkal un atkal,
bet, jo mēs ir garantēta, ka būs tikai 1 atslēgas sauc līnija
tāpēc, ja mums ir fails, kas saka-failu dzīvnieku trokšņi un tas ir Vau, Vau,
Ņau, Ņau, Moo, Moo, un katru reizi, kad mēs lasīt dzīvnieku troksni ārā
piemēram Vau un mēs uzglabāt to mūsu masīvā mēs Vau, un tad otro reizi
mēs glabāt Vau tas tiks pārrakstīta pirmo reizi, ka mēs to saglabātu.
Beigu beigās mēs tikai viens ieraksts masīva
par katru dzīvnieku trokšņi mūsu dzīvnieku trokšņi failu.
Vai jūs puiši jūtas pārliecināts, ka jūs varat risināt atvēršanu failu PHP?
Viens veids, kā to izdarīt, bet iesim pa šo ātri, viens veids, kā to izdarīt
ir ar fopen, kā mēs redzējām agrāk.
Jūs varat fopen some_file.txt.
Jūs varat atvērt to lasīt režīmā, tāpat kā C.
Tas ir viens pilnīgi labs veids kā to darīt.
Jūs arī tad lasot failu pozīcijai
ir tādas pašas funkcijas, daudzas no tām, kas jums bija, C.
Jums ir fgets.
Jums ir feof, gan mums nepatīk, izmantojot, ka
jo, atcerieties, ka nebija liels C.
Jūs varat darīt tāpat,
bet šeit ir tiešām foršs lieta.
Atvainojiet, es nevēlos darīt $ fails, bet tur ir funkcija sauc failu PHP,
un šī funkcija šeit ir foršs, jo tas skan visu saturu
no lietas materiāliem, ka jūs norādāt, lai some_file.txt,
skan visu saturu šo failu masīvs
un tad ļauj atkārtot pār to, kas ir diezgan švītīgs.
>> Ja mēs ejam, piemēram, lai mūsu tīmekļa pārlūkprogrammu
un mēs apskatīt Google PHP failu
Jūs varat redzēt, ka mūsu rokas saka, ka fails skan visu failu masīvs,
un mēs varam file_get_contents atgriezties saturu failu kā virkne,
bet parasti tikai iegūt to kā masīva ir patiešām jauki, jo to, ko tā dara
ir tas saplīst ir izveidota tā, ka katrs elements
masīvā ir viena līnija no faila,
tāpēc, ja mēs skatāmies uz 0 failu, tas ir pirmais rindā failu.
File 1, otrajā rindā, failu 2, trešajā rindā, un tā tālāk un tā tālāk.
Vai tas nebūtu jauki, ja tas bija viss, kas jums bija darīt C?
Diezgan švītīgs.
Dāvids parādīja šo lekciju, un dialekts viņš parādīja bija
ka papildus mūsu standarta cilpa PHP mums bija, ka
par ($ i = 0, i <10; i + +),
un jūs varat darīt to PHP arī pats-
mums ir arī šī lieliskā būvēt sauc foreach.
Foreach ir patiešām ērts, ja atkārtojot pa blokiem vai šiem datu struktūras
jo tas ļauj jums izraut katrs elements masīva
bez manuāli darīt indeksēšanas pats,
bez manuāli izveidot indekss mainīgo, pieauguma to,
izvelciet vērtību masīva šajā brīdī, jo tas ir ļoti bieži lieta darīt.
>> Jūs, iespējams, ir darījuši, ka tonnas reizes, kad jūs darījāt C sīkumi
virs semestrī, tāpēc ar šo foreach
mēs varam cilpa pār šo failu masīvs,
un sintakse ir tāda, ka mēs vēlamies tagad cilpu pār šī masīva
un norāda, ka mainīgais mēs spēsim izmantot, lai uzglabātu
elements šī masīva lokāli, vietējā iekļauta šajā foreach cilpas,
tiek mēs ejam, lai izsauktu to līniju.
Ja tas ir fails tikai vārdi, un tur ir viens vārds rindā
mēs varētu saukt vārdu, kā arī, tiešām tikai jums sniegt šo nosaukumu,
ko jūs vēlaties, lai izsauktu to,
un tad iekšpusē cilpa jūs varat darīt, ko vien vēlaties ar šo mainīgo līniju.
Ja tas nav pietiekami, lai iegūtu vērtību masīva un jūs arī vēlaties, lai saņemtu
gar ar to indekss var norādīt nosaukumu indeksu
kā arī vērtību, un tagad jums ir pieejamas 2 mainīgajiem.
Jums ir $ i un līnija
kur $ i ir indekss masīvā,
un līnija ir līnija, kas jums iegūt no lietas materiāliem.
Piemēram, ja mēs vēlējāmies, lai izdrukātu atbalss līnija 0 failu kā šis,
mēs varētu darīt to tāpat kā šis, "Līnijas $ i no lietas materiāliem ir $ līnija,"
un šeit ir kaut kas, mēs arī neesam redzējuši vēl ne
kur es esmu tikai pilnīgi izlaidis vairāk šis viss% s% d biznesā
ka mums bija jāstrādā ar C, un tā vietā es esmu gājusi taisni uz
rakstot mainīgos līniju manā virknē.
>> To sauc mainīgs interpolācija, stīgu interpolācija
kur tu esi pildījumam mainīgos tiesības, un PHP tulks
ir pietiekami gudrs, ja tā ir lasīšanas, izmantojot virkni, kas sākas ar dubultās pēdiņas-
ne vienu pēdiņām, ar vienu kotēto stīgām jūs nevarat darīt,
bet ar dubultu kotētas stīgām, kā tas skan cauri tas meklē mainīgajiem.
Tas medību tos, un, ja tā uzskata, ka mainīgie paies vērtību mainīgā
un stuff to virknes, ja to var pārvērst to par stīgu pārstāvību,
kas ir diezgan švītīgs.
Tagad, pieņemsim komentārus no pārējās viss,
glābt to, un to, ko mēs varam darīt tagad, ir, mēs varam atvērt failu
ka mēs varam zvanīt some_file.txt-pieņemsim izveidot jaunu failu
un mēs varam īstenot ķekars muļķības sīkumi šeit tikai, lai pārbaudītu visu, kas,
saglabājiet to, sauc to some_file.txt, jo es esmu dara šeit augšā,
un tagad, ja es zoom veic tikai lai pārliecinātos, viss ir tajā pašā direktorijā,
izskatās, ka man ir unique.php un some_file.txt tajā pašā direktorijā.
Ja es palaist php unique.php
redzēt, kā tas izdrukā katru līniju manā failā un kāda līnija ir?
>> Tas ir diezgan spēcīgs, labi?
Paskaties, tas bija 3 rindiņas kodu, lai atvērtu failu.
Nu, 4 līnijas kodu. Es nevaru saskaitīt šodien, skaidri.
Bet tiešām tikai 2 interesantas rindas kods, jo citi 2 bija cirtaini bikšturi,
bet šajā daudz kodu mums bija iespēja atvērt failu, atkārtot, izmantojot to,
izvelciet līniju skaitu un līnija pati
un izdrukāt to ārā.
Cool stuff. Šarlote.
[Šarlote] Man ir jautājums par sintaksi.
Tātad foreach nodarbojas ar katru faila rindā ka atverot,
un tad, kad jūs vēlaties darīt lietas ar katru līniju jūs vienkārši darīt to kā
un tad saistīt vērtību.
[Nate H.] Ko jūs varat darīt tieši šeit-jautājums bija
the foreach ir saistīts ar masīvu, tāpēc foreach sintakse
ir patiešām foreach, un paziņojums, ka tur nav vietas
vai kaut kas starp par un katram.
Viņiem ir jāiet blakus viens otram,
un tad tas aizņem masīvā,
un tad jums ir šī citus atslēgvārdu sauc kā ir tur,
un tad pēc kā jūs varat uzdot vienu mainīgā nosaukumu,
tādā gadījumā jūs esat būs izbrauc vērtības masīvā,
ne indeksi, vai arī, ja jūs to, kā mēs esam rakstīts zemāk
Jūs saņemsiet atslēgas un vērtības.
Jums ir foreach elementu masīvā vai pāra masīva kā keyed vērtības
vai kā vienkārši vērtību.
Atkarībā no tā, kas jums nepieciešams, ja jums nav nepieciešams atslēgas,
tad jūs varat doties ar vērtību.
Ja jūs vēlaties atslēgas jūs varat doties ar tiem pārāk.
>> [Šarlote] Es arī sapratu, mēs nekad paziņoja I vai līniju.
Kā tas pat zināt, ko viņi ir?
[Nate H.] Ko jūs saprotat ar pasludināt?
[Šarlote] Mēs nekad nav teicis to, ko es vai līnijas līdzekļiem.
[Nate H.] Mēs nekad teica datora, ko es vai līnija nozīmē attiecībā-
[Šarlote] Ka viņi indeksēti vai tās ir bez-
[Nate H.] Mēs nekad nav teicis to, ka tas ir vajadzēja būt indekss vai taustiņu un vērtību,
un tas ir tāpēc, ka ir PHP tulks.
Tas kalpo kā deklarācijā un saka labi, galvenais būs
mainīgo sauc man glabājas mainīgo sauc i.
Vērtība būs jāuzglabā mainīgo sauc līnijas,
lai tas kalpo kā deklarācijā par šiem mainīgajiem
un saka $ i ir galvenais, un $ līnija ir vērtība.
Jā, Ella.
[Ella] Ja taustiņi netiek darīts skaitliski
kā tas izlemt, ko lai tas notiek, lai drukātu viss?
Tas ir tāpat kā rīkojumu tas ievadīta?
[Nate H.] Pieņemsim pamēģināt.
Pieņemsim izveidot mainīgo sauc arr,
un mēs varam darīt iet līdz 7.
Teiksim 0 dodas uz citu masīvu ar 1, 2 vai ābolu.
Teiksim 7 iet uz 1, b iet uz 2,
un 3 iet līdz 4.
Tas ir sava veida crazy meklē piemēram, tāpēc mēs esam jaukt
virknes un integers visas vietas.
Tur nav reālu lai šī masīva.
Es domāju, mēs varētu pasūtīt visu alfabētiskā secībā pēc atslēgas.
Mēs varētu pasūtīt visu alfabētiski pēc vērtības.
>> Mēs varētu mēģināt un ņemt vērā, ka daži ir stīgas, daži ir Ints,
un mēs varētu mēģināt pārvērst tos visus uz tā paša tipa un redzēt, kas notiek,
vai mēs varētu apsvērt tās vērtības, kurā mēs jau stājās viņiem
kur mēs nodot šo puisis, pirmkārt, tas puisis otrais, tas puisis trešajā vietā
šis puisis ar ceturto, uc.
Paskatīsimies, kas notiek, kad mēs palaist šo kodu.
Ja mēs uz leju un darīt to pašu veida lieta,
un šeit tas nav izdrukāt jauno līniju.
Kad tas izlasīt lietas no lietas materiāliem tika ieskaitot jaunās līnijas vērtībām,
kas bija, kāpēc tā jāizdrukā labi, bet šeit tā nav,
tā, ka tāpēc viss ir smushed kopā.
Pieņemsim pievienot šo jauno līniju tikai, lai lietas jauki.
Pieņemsim atkārto to, un tāpēc šeit
apskatīt, kas noticis.
Tas iespiests viss, tādā secībā, kurā mēs ieliekam to masīvā.
Tas saglabāt kārtību šajā ziņā.
>> Dodas atpakaļ uz šo problēmu uniques
kur mēs gribam, lai varētu atkārtot pa failu,
un mēs arī tā some_file.txt,
un mēs esam gatavojas atkārtot pār to, kā šis.
Mēs teicām, ka mēs vēlējāmies izmantot masīvu, lai pārliecinātos, ka mēs gribētu ieguva visi
unikālo līnijām no tur, un mēs varētu darīt patiešām viegli
, tikai uzglabājot masīvā, ka mēs, protams, atzīt ārpus cilpas,
un mēs teicām, ka, ja mēs izmantojām rindiņas failā kā atslēgas mūsu masīvā
ja mēs ieraksta dublikātu līnijas mēs gribētu būt svarīgas iepriekšējo vērtību.
Tas nav kādreiz iespējams, ir 2 atslēgas, kas ir identiski vienā masīvā.
Mēs varam darīt tieši to.
Mēs atbrīvoties no šīs atbalss paziņojumu šeit.
Šeit mēs esam uzglabājot līniju failā mūsu masīvā
izmantojot sevi kā atslēga.
Nekas ar to, un izrādās, ka mums nav pat nepieciešams šo taustiņu.
Mums nav nepieciešams, ka es mainīga.
Šajā brīdī, ja mēs to darītu citu foreach cilpu
un mums bija cilpa pār katru arr
un līnijas tagad, ja mēs atbalss-Ups, sorry.
Mēs nevaram izmantot komatu. Mums ir jāizmanto to kā atslēgvārdu.
Tagad, ja mēs atbalss līniju mums vajadzētu saņemt visus unikālu vārdiem failā.
Ja mēs ejam līdz some_file.txt,
un pieņemsim, ka mēs ābolu, banānu, ābolu, ābolu, banānu,
ja mēs izdrukāt visus unikālos vārdus šajā failā mums vajadzētu tikai iegūt
ābolu un banānu izdrukāt.
Ja mēs saglabātu šo, tagad šeit mēs tuvinātu atpakaļ,
PHP unique.php, un ta-da.
Mēs esam veiksmīgi uniqued failu.
>> Pēdējā daļa no šīs problēmas tev jautā, lai sakārtotu šo masīvu pirms izdrukāt to ārā
jo šo vienkāršo piemēru, ka mēs esam tikko veikts
mums bija laimīgs tādā nozīmē, ka failu
Mēs to darījām contrived piemērs ar āboliem un banāniem.
Tas jau bija sakārtots.
Bet izmantojot vienkāršu kārtošanas funkciju jūs varat kārtot masīvs, kas ir diezgan švītīgs.
Pēdējā lieta es gribēju runāt ar jums, puiši par patiešām ātri
ir, ka šis PHP veida viss ir labi un labs, un tas ir super ērts
zināt, kā to darīt, ja jums kādreiz ir nepieciešams darīt maz, ātri lietas programmiski.
Piemēram, ja man vajag uzrakstīt programmu, kas, teiksim,
liek visiem sadaļām es neesmu gatavojas iet un rakstīt to C.
Tas būs garš.
Tas būs sava veida sāpes, īpaši, ja ir iesaistīti failus,
Tāpat kā jūs puiši ir redzējis.
Tas ir tik jauki, ka tikai ar šo daudz kodu tepat
mums bija iespēja izvilkt caur failu, izraut visus unikālās vērtības
un izdrukāt tos atpakaļ out.
>> Tomēr, lai jūsu uzdevumu, par jūsu projektiem,
ja jūs ēkas mājas lapas ar PHP jauda ir tāda, ka
mēs esam darbojas mūsu PHP failus caur šo tulks,
un tulks ir pārstrādes visu, kas PHP tagus,
atstājot viss pārējais neskarta un spitting veic rezultātus.
Mēs varam darīt, lai izveidotu HTML programmiski.
Tagad, ja mēs ejam atpakaļ uz spec, pēdējā problēma spec
runā par šo ideju par koncentrāciju
un radot nolaižamo izvēlni,
kas jums var vai nevar gribu darīt, atkarībā no jūsu gala projektu dara,
kas ļauj lietotājam izvēlēties no saraksta visu iespējamo koncentrāciju
Viņu viens koncentrācija.
Tagad tas ir sava veida sāpes rakstīt šo out
un ir jādara viss manuāli, jo īpaši, ja jums ir, lai pārliecinātos
ka jums ir visas leņķa iekavās īstajā vietā un visiem pareizajā vietā citātus,
lai ar PHP jūs varat darīt programmiski, un jūs varat izdarīt tiešām ātri.
>> Let 's redzēt, kā to izdarīt.
Mēs ejam, lai atvērtu jaunu failu.
Mēs ejam, lai mūsu PHP tagus.
Mēs ejam, lai izsauktu to concentrations.php,
un tagad, kad jūs darāt to, sava veida laba lieta, lai padomātu par
kad jūs mēģināt jaukt un saskaņot savu PHP un jūsu HTML
ir norādītas, labi, kāda ir daļa, ka es gribu, lai programmiski radītu?
Kas ir daļa, kas man varētu programmatiski radīt?
Tā ir taisnība, ka jūs varat darīt visu jūsu HTML
iekšpusē PHP blokiem.
Jūs varat atbalss visu HTML kā stīgas.
Piemēram, ja es gribu, lai sāktu darīt Select tagus iekšpusē PHP
Es varu teikt atbalss, teiksim izvēlieties name = koncentrācija,
un tad lejā, es varētu būt cits Atbalss tag
vai cita atbalss sauc tuvu izvēlēties.
Tas ir viens veids, kā to darīt, jo tas, ko tas burtiski gatavojas darīt
ir izdrukāt šo virkni, kad tas ir palaist caur PHP tulks,
tāpēc rezultāts būs HTML.
Ja es saglabājiet šo failu kā tas ir šobrīd
un es palaist php concentrations.php
Apskaties, ko es saņēmu.
Man šo atklāto ciešo izvēlieties tagu.
>> Ja es būtu to darīt, un man bija, lai saglabātu šo rezultātu failā,
saka, concentrations.html-pagaidiet, tas izskatās l aizgāja uz otru pusi-
tagad, ja es atvērt šeit concentrations.html jūs redzat Man ir derīga HTML failu.
Ir šāda veida dīvaini?
Mēs esam izmantojot PHP, lai izveidotu HTML, izveidot derīgu HTML.
Veids, kā mēs darām tā mēs esam tikai, kam PHP drukāt
HTML ka mēs gribam, lai drukātu.
Tas ir burtiski kā PHP tīmekļa vietnes darbojas.
Kad jūs apmeklējat vietni, kas sūta jums kaut ko līdzīgu
kaut, kaut, kaut dot com slīpsvītra index.php
dators ir burtiski izsaukšanai index.php,
darbojas to caur PHP tulks, un kāds junk nāk
tas ir nosūtījis atpakaļ uz pārlūku un saka hey, pārlūku, interpretēt to kā HTML.
Jauka lieta ir tā, ka tas var būt sāpes pastāvīgi rakstīt atbalss, atbalss, atbalss, atbalss
un pievienot visu, pēdiņās, piemēram, tas, tādēļ, ja jūs vēlaties, lai rakstītu
HTML, kas būs statiska sevi jūs varat izdarīt to, kā šis,
nodot to ārā, aizveriet to,
un tad šeit jūs tikai likts iekšā PHP tagus, ko jūs zināt
Jūs vēlaties, lai programmiski radītu, un šajā gadījumā tas ir tiem opciju tagi
kas ir sāpes, lai radītu.
>> Piemēram, mēs varētu radīt tūkstoš opciju tagus
darot kaut kas līdzīgs šim, $ i <1000, i + +
un saka Atbalss iespēju vērtību = $-Whoops, es nevaru darīt.
Nu, pieņemsim arī tā izmēģināt un redzēt, kas notiek.
$ I un tad sakot $ i </ variants.
Nevis rakstīt, ka iespēju frāzi tūkstoš dažādos laikos
Es esmu, izmantojot PHP kodu, lai radītu automātiski, programmiski.
Veida modes. Yeah.
Es atceros šo ir minēts vai nu lekciju vai walkthrough,
bet kāda ir starp pēdiņās atšķirība,
parastās tiem, un šiem vienas lietas?
Tas ir tiešām kaut kas es esmu darījusi nepareizi šeit, ka man bija gatavojas parādīs.
Vienu pēdiņām neļauj speciālās rakstzīmes,
tāpēc viss iekšpusē vienu kotēta virknes interpretē gramatiski.
Ja man bija \ n vienotā pēdiņas iekšā un es glābt tas, piemēram,
un tagad man iet uz leju šeit un palaist to-
Hmm, kur es dodos?
Ak, tas ir tāpēc, ka es aizmirsu $.
>> Tagad, ja man atvērt-reāli, šeit, mēs atbrīvoties no rakstīt to failu.
Mēs vienkārši izlasīt.
Šeit jūs redzēsiet, ka man tas burtiski \ n virknē, tāpat nav faktiskā jaunā rindā,
un tāpat, nevis faktiski intrapolējot vērtību šo mainīgo
tas deva man $ i pati, kas ir sava veida sāpes.
Ap šis ceļš ir izmantot dubultās pēdiņas,
un tad, kad jūs izmantot dubultās pēdiņas tas patiešām
pareizi interpolēt vērtības visus šos mainīgo šeit
un atzīt arī šo \ n būs jaunā līnija, ka tā ir
un nevis \ n.
Izmantojot vienotu tiem ir jauki, ja jums ir
rakstzīmes, kas varētu tikt interpretēts kā īpašas rakstzīmes, jo tad jums nav
aizbēgt viņiem pastāvīgi.
Lietas var iegūt netīrs, un bieži kā es to darīt,
tikai, lai padarītu lietas viegli, ir tas, ka ja es esmu nāksies neko
HTML patīk manā kods es ņemšu ietver edit laikā vienu pēdiņām
un pēc tam izmantot šo konkatenācijas operatoru
saķēdēt mainīgos iekšā
Tas ir vēl viens veids, kā to darīt
kur mēs esam ieguvuši dot kas notiek, lai savienotu tas ir virkne
ar to ar šo ar šo,
un tagad man nav izvairīties šos pēdiņas.
Man nav izmantot šo puisis aizbēgt.
Tie būs burtiski izdrukāt kā pēdiņas un tad šis puisis šeit.
Tas ir vēl viens veids, sajaucot visu kopā.
>> [Studentu] Arī tad, ja atkārtojas gettype nebija pēdiņas vispār.
Labi, tāpēc atbalss ir veida īpašs tādā ziņā, ka jums nav nepieciešams iekavas.
Jums nav nepieciešams, lai būtu pēdiņas vienmēr around mainīgajiem,
kā tas ir pareizi teikt echo $ i, un tas notiek, lai interpretēt to kā virkni.
Tā gatavojas darīt cast, lai mēs varētu darīt, un tas ir derīgs arī, bet mums tas nav vajadzīgs.
Tas ir obligāts.
Šajā nedēļas problēmu kopumu piesargies par daudz šāda veida stuff
kur tu esi sajaucot un saskaņotību HTML ar PHP
tāpat kā šis, un tagad, ja mēs ritināt atpakaļ, un mēs palaist šo
mēs varam redzēt, ka mums ir vesela ķekars izvēles vērtību
ka tikko got izdrukāt.
Mums ir visu šo HTML, kas saņēmu rada patiešām ātri mums.
Es atstāt to kā izmantot.
Tas ir ļoti līdzīgs ar failu lasījumā, kas mums bija agrāk.
>> Ir concentrations.txt failu, kuru var vilkt uz leju no CDN,
un jūs varat atvērt to, izmantojot to pašu foreach triks, ko mēs darījām agrāk,
un foreach jums vienkārši ir atbalss iespēju un iespraudiet
atbilstošas ​​vērtības, attiecīgie atslēgas un indeksi,
un tad jūs saņemsiet nolaižamo kas burtiski rada
programmiski jums visiem dažādas koncentrācijas Hārvardas.
Ērts lieta ir.
Ir no konfigurācijas sīkumi par šo cesiju daudz.
Ja jums nav izdarīts tas jau nākamo pusstundu, stundu,
kādu laiku šovakar noteikti pārliecināts,
staigāt pa problēma noteiktā spec,
redzēt, kas notiek ar izveido vhosts, vietējo uzņēmēju, visu, kas stuff.
Viena lieta ir norādīt tieši tagad ir tas, ka
vairumā problēmu kopas mēs esam dodas savā Dropbox mapē
un tad lejupielādējot problēmu iestatīto zip fails un unzipping to.
Par šo problēmu kopumu jūs nevēlaties.
Jūs vēlaties doties uz šo vhosts direktorijā.
Jūs vēlaties doties uz vhosts un doties uz vietējo uzņēmēju direktorijā tajā,
un tas ir, ja jūs vēlaties, lai vilktu uz leju zip fails,
unzip to un saņemt gatava iet.
Jums ir sekot soļiem cieši.
>> Ja jums ir kādi jautājumi, sūtiet e-pastu, ievietot to apspriest, nāk ar biroja darba.
Paldies puiši. Nākamnedēļ mēs esam nāksies pārskatīšanas sesiju par viktorīnas.
Izbaudiet savu pēdējo problēmu kopumu. Es ceru, ka tas viss iet ļoti labi.
[CS50.TV]