[Powered by Google Translate] [Sehemu ya 8] [Less Starehe] [Nate Hardison] [Chuo Kikuu cha Harvard] [Hii ni CS50.] [CS50.TV] Karibu pili yetu kwa sehemu ya mwisho. Katika wiki hii sisi ni kwenda kwa majadiliano juu ya PHP, na kisha wiki ijayo tutaweza kufanya marekebisho kidogo kwa Quiz 1. Sisi ni kwenda kuanza ukurasa 3 ya tatizo seti pakiti, na tutaweza kazi kupitia sehemu ya maswali haki haraka. Katika ukurasa 3, tunaanza kuzungumza kuhusu hii tofauti kati ya C na PHP kwa maana kwamba PHP ni lugha dynamically typed, ambapo C ni statically typed, na ina mtu yeyote kweli haraka kufanyika coding yoyote katika kitu kama PHP au chatu au Ruby kabla, JavaScript? Mpya kabisa? Sawa. Yote ya lugha hizi kwamba mimi tu zilizotajwa ni tofauti sana na lugha kama C na C + + na Java kwa maana kwamba wakati wewe kutangaza variable huna kutangaza aina gani ya kutofautiana ni, hivyo katika C sisi walikuwa kukwama kuwa na daima kusema hii itakuwa ni variable int, au huu ni kwenda kuwa Char * variable, ambapo kwa PHP, na chatu, na Ruby, na mengi ya lugha hizi za kisasa zaidi huna kufanya hivyo wakati wote. Wewe tu kutangaza variable yako, na katika kesi ya PHP wewe kutangaza kwamba ni kutofautiana na prefixing na alama ya $, na basi aina ya kutofautiana ni kuamua na chochote thamani ni kushika, ambayo ni aina ya baridi. Kucheza karibu na kidogo kidogo hii, tuna sampuli PHP code hapa hapa katika kati ya vitambulisho mwanzo na mwisho. Sisi ni kutumia aina hii ya kama HTML kwa maana kwamba sisi tumepewa mabano haya angle hapa kwa kufungua na kufunga. Utaona hii kwa HTML. Utaona aina moja ya syntax kwa XML pia. Hii inaonyesha mwanzo wa block PHP. Hii php? Ni maalum kwa PHP. Tunafunga kila kitu pamoja na> kama? Vizuri. Hebu kufungua faili katika appliance wetu kwa kutumia chochote kile Ningependa. Katika pakiti hii inasema kuwaita dynamic.php. Kwa kweli, unaweza kuiita chochote ungependa, lakini jina faili kuja na kuwa muhimu baadaye, hivyo kumbuka tu chochote simu yake. Mimi nina kwenda kubadili juu ya appliance, na mimi naenda kufanya directory kwa kifungu cha 9 naamini sisi ni saa sasa. Na tutaweza kwenda katika sehemu ya 9, na mimi naenda kutumia gedit. Hebu angalia, gedit, na mimi nina kwenda kuwaita dynamic.php mgodi. Boom. Ndani ya dynamic.php, kwani hii ni faili PHP na mimi nataka hii kukimbia kupitia mkalimani PHP Mimi haja ya kuanza kila kitu mbali na vitambulisho hayo wazi, hivyo mimi nina kwenda kuanza wale haki mbali, kutoa mwenyewe nafasi kidogo katika kati ya vitambulisho, na kisha kumweka ya zoezi hili lilikuwa kucheza karibu na kazi hii inaitwa gettype, hivyo gettype, hii kazi hapa hapa. Ona kwamba kuna hakuna underscore au nafasi au hyphen au kitu kama hicho kutenganisha maneno 2, kupata na aina, moja tu neno kabisa. Lakini nini hii kufanya ni kama mimi kupita katika variable kwa gettype, kusema $ var au $ x, hii uniambie aina ya format katika debugging nini jina la aina hiyo ni. Sisi ni kwenda majaribio hapa. Hasa, kama wewe kuangalia nyuma katika spec pset sisi tumepewa chache mistari tofauti ya maadili ya hapa. Katika mstari wa kwanza wa code sisi initialize hii variable, $ var, kuwa sawa na 7, na kisha tuna line hii printf kwamba anasema hey, var printf ni tupu. Printf ni moja ya njia nyingi tunaweza magazeti mambo katika PHP. Mara nyingi utaona kazi echo kutumika badala ya printf, lakini printf tuko wote familiar na baada ya coding katika C kwa muda. Nini unaweza kufanya ni kweli hebu angalia kama miujiza nakala na kuweka. Mimi naenda kukupa hii kujaribu. Tutaweza kwenda nyuma zaidi kwa appliance. Okay, na kuna sisi kwenda. Na nafasi ni funky kidogo, lakini hapa sisi kwenda. Sisi tumepewa hii code katika hapa. [Mwanafunzi] Je, ni si nzuri kwa mtindo tab yake? Samahani? [Mwanafunzi] Je, ni kawaida kwa tab yake? Haki, hivyo Sam anauliza kama ni mkataba kwa tab au siyo. Kawaida ndiyo. Katika kesi hii nimechagua si kwa. Uaminifu, utaona mambo mbalimbali miongoni mwa programmers tofauti. PHP ni kawaida kutumika mara nyingi pamoja na HTML na lugha nyingine, na hivyo wakati mwingine uchapishaji itakuwa kuangalia funky kidogo kama wewe Indent ndani ya PHP kuanza na vitambulisho mwisho. Ni kweli inategemea. Katika kesi hii nakala na kuweka hawakuwa kuweka tabs katika kwa ajili yangu, lakini ni dhahiri hana, kama wewe alisema, kufanya ni wazi. Wote haki, kama wewe ila hii code katika dynamic.php basi nini unaweza kufanya ni kuja chini terminal dirisha yako ambapo mimi ni haki ya chini hapa katika gedit, na kufanya sawa wa kukusanya kutumia kufanya na kisha kukimbia code yako katika C wote una kufanya na faili PHP ni kuanzisha mkalimani PHP, ambayo ni programu kidogo kuitwa PHP, na hoja wewe kutoa na mkalimani ni faili unataka kutafsiri. Katika kesi hiyo, dynamic.php. Whoops, wapi mimi kuweka yake? Oh, mimi kuiweka katika kifungu cha 9, na mimi hapa. Hiyo ni kwa nini. Sasa kama mimi kukimbia kwamba tena tunaona kwamba katika wito wangu kwanza gettype kazi var ni integer. Katika var ijayo moja ni kamba, na kisha katika var tatu moja ni ya bulin. Nini kuvutia kuhusu hili ni kama sisi kitabu nyuma juu tunaona kwamba hizi ni aina sawa na wale ambao tulikuwa katika C. Tulikuwa ints katika C. Sisi aina ya masharti alikuwa katika C, hivyo masharti walikuwa si aina kabisa legit kwa maana kwamba kamba yetu CS50 ilikuwa kweli nini? Samahani? Missy? [Missy] Char *. Yeah, ilikuwa hii * Char sisi kutumika. Katika mwanzo sana ya muhula tungetumia aina kamba, lakini ilikuwa kweli * Char chini ya Hood. Sisi tu aina Alilitafsiri, ambapo katika PHP hawa masharti ni aina halisi. Hakuna zaidi ya mambo haya Char * aina. Utaona kwamba tunaweza kufanya mambo mengi zaidi kwa masharti kwa urahisi zaidi kuliko katika PHP tunaweza katika C, na kisha hatimaye, tuna aina hii ya bulin, na tofauti kubwa hapa ni kwamba kama sisi kitabu nyuma chini tunaona kwamba jina la aina hizi ni sasa integer, kamba, na badala ya bulin int na bool, na kama wewe kuchukua lugha ya programu mbalimbali, kuchukua kwamba wakati fulani katika maisha yako wewe kuja katika kuwasiliana na ndio tofauti utasikia taarifa quirks mdogo kama huyu ambapo C wito ints integers. Baadhi wanauita integers. Kuna maneno mengine kwamba utasikia kukimbia katika. Big int tuliona leo katika SQL. Kuna pia idadi na kisha bool, bulin, kila aina ya tofauti huko. Hii si sana ya kuvutia lakini sasa mimi naenda kukupa wewe muda kidogo- kama sisi zoom nyuma nje-kufanya kazi kwa kupitia zoezi hili chini ya ukurasa wa 3 ambapo inauliza aina gani yanahusiana na maadili haya hapa chini. Tuna 3.50. Tuna jambo hili hapa hapa, ambayo ni ya kuvutia. Hatujaona kwamba kabla, ingawa kama tumekuwa kufuatia pamoja katika hotuba pengine tayari kujua nini ambacho ni. Kisha sisi kuwa hii, ambayo hii ni aina ya funky. Wewe kutambua hili. Nini hili katika C? Sam? Nini huyu nitakupa katika C? Itakuwa kufungua faili inayoitwa dynamic.php na kufanya ni someka. Yeah, na nini itakuwa ya aina ya kutofautiana kwamba tunataka hawawajui hii kwa nyota? >> File. Hasa, tunataka hawawajui hii kwa nyota faili. Hii ni halali PHP pia. Kuendesha. Angalia kinachotokea wakati kupita katika gettype. Na kisha pia kuangalia nini null ni, nini hiyo inaweza kuwa katika PHP. Mimi nitakupa dakika kadhaa. Unaweza literally nakala na kuweka maadili haya katika, na kisha tutaweza kufanya kidogo random wito juu ya wewe na kuona kile got. [Mwanafunzi] Nina swali << Yeah.. Katika moja ya hotuba Daudi alisema kuna kitu unaweza kuweka saa ya juu ya faili yako hivyo kwamba huna aina katika PHP kila wakati. Nini ilikuwa hivyo? Yeye alikuwa pengine kuzungumza juu ya bang pound, bang hash. Ni maelekezo kwamba kama wewe alama faili yako kama executable kisha kile yake ni wakati nitafanya faili itakuambia mpango shell kumtumia mkalimani PHP kutafsiri yaliyomo ya faili. swali kuwa nini ilikuwa hii line maalum kwamba tunaweza pamoja kwa juu ya files wetu PHP si lazima ni pamoja na hii PHP mstari au amri hii PHP wakati wowote tunataka nitafanya faili? Na unaweza kweli kufanya pamoja na rundo la files tofauti. Naamini ni inategemea ambapo binary PHP ni kuhifadhiwa, lakini mara nyingi Usr / bin / php ni nafasi nzuri kuanza. Unaweza takwimu hii nje hasa kwa kwenda nyuma chini ya appliance yako na kuandika nje ambayo php. amri ambayo takwimu nje wakati wewe ni utekelezaji binary au amri ambapo faili sambamba ni. Hii inaniambia kwamba PHP ni kweli aliasing faili hii binary ambayo imehifadhiwa katika Usr / bin, ambayo ni ambapo mengi ya binaries mfumo ni imewekwa. Kwa mfano, kama mimi kitabu juu kwa juu, na kwamba sasa nimekuwa kuweka hii #! Mpya katika hapa Naweza kitabu chini, na mimi siwezi kujaribu kukimbia dynamic.php, lakini mimi kupata kosa hili kuhusu kunyimwa ruhusa, na nini maana ya ni kwamba faili hii si sasa kutoa ruhusa kutekelezwa. Ni si alama kama faili kwamba mtu anaweza kukimbia. Wakati mbio kufanya au Clang na wewe got executable kutoka humo compiler alikuwa smart kutosha kujua kwamba hey, mimi nina kujenga executable. Pengine unataka nitafanya hivyo, hivyo itakuwa moja kwa moja configure ruhusa kwa ajili yenu. Hii si kesi, ingawa, wakati wewe kuunda faili kawaida kutoka mwanzo, sababu ya kuwa kwa kawaida wewe si unataka kuwa na faili yoyote juu ya mfumo wako kuwa executable, hivyo kweli una kwenda katika na manually kufanya hivyo. Njia rahisi ya kufanya hivyo ni pamoja na amri chmod, na chmod + x anasema kuongeza kidogo executable sababu kuna kidogo kusoma, kuandika na kidogo kidogo executable, r, w na x, na kusema chmod + x geuka juu kidogo executable kwa basi faili kwamba sisi bayana, ambayo katika kesi hii itakuwa dynamic.php. [Mwanafunzi] Ni kwamba akageuka juu kwa kila mtu? Hebu angalia hii nje, hivyo ni jinsi gani mimi kuangalia kuona ruhusa? Je, unajua jinsi ningependa kuangalia kuona ruhusa ya faili? [Inaudible mwanafunzi majibu] Samahani? >> [Mwanafunzi] XSD. XSD inatupa faili katika HACKS. Kuorodhesha mafaili yote,-l, atanionyeshea wote wa files katika saraka yangu aina ya katika muda wao, orodha verbose, na hivyo hapa tunaona kwamba faili hii dynamic.php umebadilisha mara iliyopita Novemba 5, saa 04:21. mmiliki wa faili hili ni jharvard. Hiyo ni mtumiaji ambaye ni logged in Hiyo ni mtumiaji Mimi ni kazi kama, na kama wewe ni pia katika appliance wewe pia kufanya kazi kama jharvard mtumiaji. Wewe ni katika kundi la wanafunzi, na haya ni mambo ambayo utaona mara nyingi ya kutosha. Tunaweza kwenda katika mengi ya undani hapa, lakini kwa sehemu kubwa ya nini unataka kuangalia wakati wewe ni kuangalia na kuona kama au faili executable kimsingi ni mtumiaji ambaye anamiliki SVG, mmiliki, hivyo hii jharvard, na kisha tuna bits ruhusa juu hapa upande wa kushoto, na njia ya kusoma hii ni kwamba kidogo mwisho kawaida hutumiwa kwa kuashiria kama au-angalau katika kesi hii kidogo hii ya mwisho mara nyingi kuwa na kuweka tangazo kuonyesha kwamba faili ni directory na si tu faili kawaida. Kisha zifuatazo 3 bits haki hapa kuamua permissions kuwa mmiliki wa faili ina, hivyo katika kesi hii jharvard, kama mmiliki wa faili, unaweza kusoma na kuandika faili hii, lakini kuna dash akisema kwamba jharvard hawezi kutekeleza faili hii. ijayo 3 bits ni kwa ajili ya kundi, hivyo hii ni kundi ya wanafunzi, hivyo kama kulikuwa nyingi watumiaji wa juu appliance yangu, na tulikuwa na watumiaji mbalimbali kama sehemu ya kundi wanafunzi, basi wanaweza kusoma yote faili hii, lakini hawawezi kuandika, na vivyo hivyo mtu mwingine, dunia anaweza tu kusoma faili hili pia. Kuna nzuri, mrefu writeup kuhusu hili, hivyo unaweza kusoma online. Katika spec kuweka tatizo sisi kwenda katika hili kwa undani zaidi. [Mwanafunzi] Je 218 akimaanisha dunia? 218 ni-mbali juu ya kichwa yangu mimi nina kusahau, lakini hakuna. Hebu angalia. Mimi blanking juu ya haki ya kwamba sasa. Nyuma kwa nini sisi walikuwa karibu na huyu chmod + x ambapo sisi alitaka kutoa ruhusa executable dynamic.php, na swali lilikuwa kama hii bila kutoa ruhusa executable kwa kila mtu au tu jharvard, na tunaweza kuona hili kwa mbio amri na kuandika ls-l, na sasa tunaona kwamba ni alama kama kutekelezwa. Unaweza kuona kwamba kulikuwa mabadiliko ya rangi. Sasa dynamic.php waliotajwa katika kijani, na inaonekana kama jibu la swali ni nini, Charlotte? [Charlotte] tu jharvard. >> Tu jharvard, yeah. Kama sisi alitaka kugeuka kidogo executable juu kwa kila mtu jinsi tunavyoweza kufanya hivyo? Mawazo yoyote? >> A + x? Yeah, kwa uhakika. Charlotte alisema tunaweza kufanya chmod ya x + ya dynamic.php, na sasa ikiwa sisi kukimbia ls-l tunaona kwamba bits executable ni kweli akageuka juu kwa kila mtu. Na unaweza kweli kufanya kinyume cha hili, hivyo unaweza kugeuka kuwa mbali kwa kila mtu kutumia bala. Sasa ni akageuka mbali, na sasa tunaweza kugeuka kuwa nyuma kwa jharvard ili tuweze kweli kukimbia sasa, na sasa wewe kuona wakati sisi kukimbia code hii maalum #! mstari saa ya juu, #! mstari, aliiambia shell, aliiambia terminal yetu hey, wakati faili hii ni kukimbia, kutumia / Usr / bin / php kutafsiri faili hii na kisha magazeti pato. [Inaudible mwanafunzi swali] Hakika, basi mimi kitabu nyuma juu. Tu kama hii. Utaona wote wa maelekezo haya kuanza na chupa hii na kisha kumweka Moderators, wakati mwingine huitwa shebang, hash bang. [Mwanafunzi] Tunawezaje kukimbia na dynamic.php php kabla sisi kufanya hivyo executable? swali ni jinsi gani tunaweza kukimbia hii kutumia binary PHP wakati dynamic.php si executable? Hii ni super muhimu kwa sababu hii ni hasa jinsi itakavyo kazi wakati wewe kuandika tatizo kuweka 7. Zaidi ya muda files PHP si moja kwa moja la kutekelezwa. njia kwamba kazi ni kwa sababu ni binary PHP kwamba kutekelezwa. mkalimani ni kitu ambacho wanaendelea kunyongwa, na hivyo kile ni kufanya ni halisi slurping katika yaliyomo yote ya faili wetu dynamic.php na line kwenda kwa mstari na utekelezaji wa amri hizo, hivyo ni kutumia faili wetu PHP kama orodha ya maelekezo. Ni si moja kwa moja utekelezaji yake. Hiyo ambapo sisi kusema kwamba hizi files ni kufasiriwa wakati kukimbia. Ni kukimbia wakati Lugha badala ya kitu ambacho amedhamiria wakati kukusanya, si lugha compiled kama C. Je, kuna njia ya kupata muda kukimbia Lugha ya kutenda kama ikiwa ni wakati kukusanya lugha, kama kama una mbio wote kufanyika katika server badala ya-unajua ninachomaanisha? Ndiyo, hivyo swali ni kuna njia ya kupata lugha wakati kukimbia kutenda zaidi kama aina kukusanya wakati wa lugha? Na huko ni, I mean, kwamba ni eneo kazi ya utafiti kwa ajili ya mengi ya makampuni haya. Naamini Facebook amefanya mengi ya kazi na PHP na kuandaa ni chini, na kufanya hivyo kwa haraka, optimizing ni tangu tovuti yao imejengwa juu ya PHP. Kama tumekuwa kufuatia node.js wakati wote, ambayo ni aina ya mkalimani JavaScript kuwa na uwezo wa kukimbia JavaScript nje ya kivinjari, nje ya mtandao browser yako, kwa sababu kijadi JavaScript ingekuwa tu kukimbia ndani ya Firefox au Chrome, na itakuwa kutumika kufanya Animations baridi kutokea kwenye mtandao na kufanya mtandao wako ukurasa nguvu. Hiyo umejengwa juu ya kazi kubwa ambayo Google amefanya kufanya JavaScript na C + + kumfunga pamoja, hivyo kuna mengi ya utafiti kazi kwa kupata hizi lugha ya kiutendaji na optimize yao, hasa kwa sababu watu wengi wanaweza code katika PHP na JavaScript kwa sababu ni rahisi sana. Ni mengi nicer. Huna kuyatumia. Huna aina yaliyo karibu. Walitaka kupata faida ya lugha hizi kukusanya wakati pamoja na yote ya kuangalia aina na kasi na chini matumizi ya kumbukumbu na yote ya kwamba wakati bado kudumisha kubadilika na urahisi wa matumizi ya wadogo hawa karibu zaidi. Nyuma na mpango wetu wa awali wa shambulio hilo. Sisi tumepewa chache ya maswali haya hapa katika spec tatizo letu kuweka. Hebu kuzipitia kweli haraka, na tutaweza kwenda kuzunguka chumba. Charlotte, ni aina gani ni 3.50? [Charlotte] Hiyo ni mara mbili >> Ni mara mbili.. Jimmy, ni nini hii moja ijayo? >> Safu. safu, kushangaza, na Jared, ni nini fopen? [Yaredi] Ni rasilimali >>. Ni rasilimali. Hiyo ni aina ya mwezi mmoja, si nyota ya SVG, si faili. Ni rasilimali ni aina katika PHP, na mimi nina sorry, Ella, null mwisho ni nini? Null. Null, ni jinsi gani yameandikwa katika PHP? >> Njia hiyo hiyo. njia sawa, miji mikuu? >> Yeah. Yeah, haki ya wote. Hapa sisi kwenda, sisi tumepewa mbili, sisi tumepewa safu, sisi tumepewa rasilimali, na kisha sisi tumepewa null. Hebu angalia sasa umeona- hebu angalia, hivyo sasa mimi nadhani nini mimi pia wanataka kufanya ni kuvuta up hii ukurasa wa mtandao wa kulia hapa, hii php.net / mwongozo, hivyo kama wewe guys nakala hiyo na kufungua kivinjari. Mimi nina kwenda kuvuta up Chrome, kuweka kwamba in Nataka kukuonyeshea hii si tu kwa sababu tunaweza kuongea siku zote juu ya aina na mambo ambayo yote fun bali kwa sababu hii ni mwongozo PHP, na kuna mengi ya programmers PHP huko nje. Kuna mengi ya Nje PHP huko nje, na matokeo yake, kuna mengi ya nyaraka kwenye PHP, na mwongozo, hii php.net, ni mahali mzuri wa kwenda wakati wowote wewe ni kuwa na maswali kuhusu nini ni njia bora ya kufanya X katika PHP au nini kazi kuangalia kama? Aina tu ya kupata ukoo na nini hii inaonekana kama sababu wewe utakuwa kuja hapa mara nyingi, kidogo kwa ajili ya tatizo kuweka 7. Kama wewe kuishia kufanya mradi wa mwisho kwamba anatumia PHP hii itakuwa mahali utasikia kuwa vizuri sana khabari. Mara nyingi watu njia ya kufanya hivyo ni wao kutumia Google kutafuta tovuti, na hawana kutumia sanduku tafuta kwamba ni juu hapa katika haki ya juu, ambayo ni aina ya vidogo. Kama wewe ni googling karibu kwa kitu cha kufanya na PHP na unaweza kuona moja ya viungo mwongozo pop up unaweza kawaida kutegemea kuwa kama rasilimali haki nzuri. Ajabu, hivyo nje ya aina hizi, tu nje ya udadisi, ambayo ndio kuwa si sisi kuonekana? Chochote hatujaona hapa? [Mwanafunzi] rejea. >> Tuliona rasilimali na wito fopen. [Mwanafunzi] vitu >> vitu. Hatujaona kwa uhakika. Callbacks hatujaona. Kuna baadhi ya hawa Pseudo-aina. Sisi dhahiri kuona tu integer na mbili. Hatukumwona baadhi ya wengine, hivyo kama sisi bonyeza integers tunaweza kuona kuna yoyote integers mengine kwamba wana hapa? Je, wote-hivyo integer, integer, integer. Baadhi ya lugha kuwa kubwa aina integer, kama tuliona juu ya MySQL leo kulikuwa int na kisha int kubwa. Cool. Hivyo, PHP mwongozo. Turudi kwa spec tatizo letu kuweka, na tutaweza sasa kitabu chini ya ukurasa 4. Moja ya mambo ambayo hutokea wakati kupata lugha hizi kwamba hawana kuandika tuli, hivyo lugha hizi ambapo una kutangaza aina ya mbele hadi variable ni wewe kupata kesi ambapo unaweza kuanza kuwa na vigezo wa aina tofauti Kushirikiana na kila mmoja, na PHP gani jambo hili ambapo anajaribu kufanya nini anser kuwa jambo la busara kufanya wakati una 2 aina tofauti wanavyohusiana. Kwa mfano, tunapotazama katika mistari haya ya maadili ya haki hapa unaweza kuona kwamba sisi tumepewa kile kinachotokea wakati sisi kujaribu na kuongeza string 1-2 integer. Nini kinatokea kama sisi kujaribu na kuongeza string kwamba si thamani numeric lakini badala ya wahusika halisi, CS na idadi 50? Kisha tutaweza kuona ni kuna kitu tofauti ambayo hufanyika ambapo badala ya kuongeza string kwa idadi sisi ni kuongeza idadi ya kamba, na kadhalika na kadhalika kwa uhakika ambapo sisi ni kupata baadhi ya aina ya mambo weird haki hapa ambapo sisi tumepewa 7 + kweli. Nini heck haina maana? Kama wewe guys kwenda mbele na kuweka baadhi ya kanuni hii katika appliance yako. Unaweza kuitunza katika dynamic.php. Tutaweza kuona nini kinatokea. [Mwanafunzi] Tu kutumia magazeti, si printf? Yeah, hivyo utapata kwamba magazeti pia ni kazi halali kwa uchapishaji katika PHP. Kuna njia nyingi tofauti ya kufanya hivyo. Tutaweza kuona na michache ya mifano baadaye mara moja tunaanza kuzungumza kuhusu tatizo kipekee kwamba sisi ni kwenda kuandika na kisha tatizo viwango kwamba sisi ni kwenda kuandika kwamba hata kama tuna fopen na fclose hiyo ni mara nyingi si njia rahisi ya kusoma katika maudhui ya faili. PHP ina mengi ya holdovers haya C-kama. [Mwanafunzi] Wakati mimi kuweka katika yote 6 ya mambo mimi tu kupata namba moja kama pato. [Nate H.] Wakati wewe kuweka katika yote 6 ya mambo haya. Hebu angalia ni kwa sababu ni uwezekano wa- jambo moja ni kwamba simu hizi magazeti si terminated mwishoni na mistari mpya. Kuna hakuna mstari mpya kutenganisha kila ya simu hizi magazeti, hivyo labda wewe ni kupata moja kubwa ya idadi, na ni kweli tu amalgam ya wahusika mpya line. [Mwanafunzi] Sawa, jinsi gani mimi kuhakikisha- Naam, kuna rundo ya njia tofauti. Unaweza manually kuweka katika magazeti ya tabia mpya line, mwangwi wa tabia mpya line, magazeti ya mstari mpya. [Mwanafunzi] Basi echo ni kitu kimoja kama printf? Printf ni kama C printf ambapo wewe ni uchapishaji string formatted. Wewe ni kusambaza string format na kisha vigezo vyote placeholder. Ni mara nyingi kitu ambacho si kutumika- hebu angalia, kama disclaimer, Mimi ni chini ya ukoo na PHP kuliko mimi na lugha nyingine za mtandao, na wakati mimi iliyowekwa katika PHP mimi kawaida si kutumia printf kwa sababu mimi kupata kasi ya kutumia nyongeza katika kitabu string uwezo kwamba ina, ambayo tutaweza kwenda na mimi nitakuonyesha katika haki ya pili, ambapo katika C sisi aina ya kufanya jambo hili hacky ya kupata magazeti nje vizuri. Unaweza kweli kuweka vigezo moja kwa moja katika masharti katika PHP. Printf ni aina ya overly muda mrefu kwa nini mimi kawaida kufanya. Ndiyo, Ella. [Ella] ujumla kama kupata Hazrat kosa inamaanisha- kama kwenye C haina kukuambia hasa ambapo kosa ni na nini, hivyo haina maana kwamba kuangalia njia code yako yote na takwimu ni nje? Ni kawaida zaidi ya walengwa zaidi ya hiyo. Nadhani katika kesi hiyo ilikuwa mbali kidogo, hivyo nadhani katika kesi hiyo sisi walikuwa missing semicolon. Ni alikuwa anajaribu kufanya akili ya kila kitu, hivyo kama lugha hizi kufasiriwa, mkalimani kwenda kujaribu na kufanya bora zake kufanya kila kitu kazi ipasavyo. Utaona, kwa mfano, katika JavaScript wewe utakuwa mara nyingi-line kauli ya mwisho na semicolon tu kama wanavyofanya katika PHP, tu kama wanavyofanya katika C. Katika baadhi ya wakalimani JavaScript JavaScript katika mengi ya browsers kuweka katika semicolons kwa wewe kama kutokea kwa kuwa kukosa kwao. Wao nitajaribu na malazi kwa baadhi sloppiness sehemu yako. Hiyo ambapo inaweza kuwa na kujaribu na kujaribu na kujaribu kufanya mambo ya kazi, na kisha hatimaye itakuwa kupata kwa uhakika ambapo anasema sawa, Mimi siwezi kufanya mambo ya kazi juu ya kuziokoa, na hiyo ambapo utapata idadi mstari kwamba inaweza kuonekana mbali kidogo kutoka mahali halisi. Sawa, hivyo hebu kwenda kwa njia hii kweli haraka. Sisi kushoto mbali na Ella, hivyo hebu kwenda juu kwa Missy, na Missy, nini magazeti ya string 1 2 pamoja na idadi kukupa? [Missy] 3 >> 3.. Je, hiyo mantiki? Aina ya? Je, ni kukupa namba? Je, ni kukupa kamba? [Missy] namba >> Ni idadi.. Lakini ni uchapishaji, hivyo ni kwenda kukupa baadhi ya aina ya kamba. Jambo moja tunaweza kufanya kwa kuangalia hii nje ni kama sisi kufanya $ var = 1 + 2 na kisha sisi kusema mwangwi wa gettype, hivyo sisi ni kutumia aina ya tatu ya uchapishaji hapa. Sasa tunaweza kuona nini kinatokea hapa. Hapa kile tulichopata ni tulipata integer nje ya hii. Hata ingawa tulikuwa akiongeza kuwa hili string kwa idadi, sisi hawakuwa kupata kamba nje ya hayo, kama Missy alisema. Sisi walikuwa kupata integer. Sawa, hivyo hebu angalia, ijayo juu, Kevin. CS + 50? >> [Kevin] 50. [Nate H.] 50. Je, hiyo mantiki? [Kevin] Yeah. [Nate H.] Kwa nini? Kwa nini ni maana kufanya wewe? [Kevin] Kwa sababu ni kuwa tu kamba, kuwa na idadi thamani sifuri. Yeah, kubwa. Aina ya hali ya utata, lakini ni vizuri kujua nini kinatokea. Stella, nini kitatokea na idadi 1 + string 2? [Stella] 3 >> 3 tena.. Na katika kesi hii, tunapata kamba au kamba ya namba? Hebu kutoa hii kujaribu. Anybody kasi zaidi kuliko mimi kupata jibu? Charlotte? Oh, mimi didn't-sawa, hebu angalia, tunakwenda kufanya aina moja ya kitu ambapo sisi tumepewa idadi plus kamba, na tunakwenda echo aina, kuona nini sisi kupata. Sisi pia kupata integer. Haijalishi ambayo moja ni kamba, ambayo moja ni idadi. Bado tuko kwenda kupata integer. Ni bado anaenda kufanya kile sisi kutarajia. Haki ya wote, hivyo Sam, nini kuhusu 90 + 9 chupa ya bia juu ya ukuta? [Sam] 99 >> 99.. Hakuna chupa ya bia juu ya ukuta, ingawa. Hiyo inatupa kidogo na taarifa zaidi kuhusu nini kinatokea. [Sam] Kama ameandika 9 katika barua basi ingekuwa 90, sawa? [Nate H.] Yeah. swali lilikuwa kama tunatarajia imeandikwa 9 nje kama N-I-N-E ingekuwa sisi Gotten 99 au 90? Tunatarajia kupata 90. Ni literally kuangalia tu kwa wahusika tarakimu. Ni si smart kutosha kutambua maneno ya idadi na kwamba mambo ya ajabu. Ndiyo. [Mwanafunzi] Je, kuna kitu kama typecasting katika PHP? Kuna, na ni njia hasa ungefanya katika C. Je kuhusu 10/7, Charlotte? [Charlotte] 1.4285. [Nate H.] Yeah, hivyo nini kinaweza kuwa inashangaza kuhusu hili? Nini kingetokea kama alivyofanya hii aina moja ya kitu katika C, kama alivyofanya 10/7 katika C? [Charlotte] Ingekuwa tu kukupa-kulingana na jinsi typecasted mimi nadhani ingekuwa kukupa tu idadi ndogo ya tarakimu baada ya decimal. Yeah, hivyo idadi ndogo ya tarakimu baada ya decimal. Nini kingine inaweza kuwa-itakuwa ni ya kukupa tarakimu yoyote baada ya decimal? Mara nyingi si hivyo tena, kulingana na jinsi wewe ni typecasting ni au anaweza kubadilisha kwa idadi floating uhakika. Hapa ilikuwa aina ya nice kwamba alifanya. Alikuwa na sisi umeonyesha wewe hii nyuma tulipoanza kufanya aina hii ya mambo ndani ya C pengine ingekuwa alifanya kidogo maana zaidi kwamba hana tu kwenda 1. Na kisha hatimaye, Jamie, nini kuhusu 7 + kweli? [Jamie] 8. >> 8. Hiyo ina maana gani? Mimi nadhani ni tu anatoa thamani ya kweli ya 1. Yeah. Nini kinatokea kama sisi mabadiliko kwamba kwa uongo? [Mwanafunzi] 7. Yeah, hivyo kumbuka ambapo sisi kuzungumza juu ya maadili haya binary, 1 kuwa juu, 0 kuwa mbali? Sasa tuna kweli ni 1, 0 ni uongo, na unaweza kuwa umeona hii mifano C kwamba tumefanya huu muhula uliopita, lakini kihistoria aina bool katika C haijawahi aina halisi, hivyo watu wametumia 0 na 1 katika nafasi ya kweli na uongo. Hii ni ishara ya kwamba. Sawa, hivyo moja muhimu kuhusu sehemu yote hii ni kwamba tuna aina hizi mbalimbali. Wao unaweza kuingiliana na kila mmoja. Wao mara nyingi unaweza kuingiliana na kila mmoja katika njia ambazo ni nzuri, kama tumeona hapa. Ni nzuri na kuwa na uwezo wa kuwa string 1 na namba 2, kuongeza yao pamoja na kupata 3. Kwamba hufanya akili. Hata hivyo, wakati wewe kuandika tovuti, na hasa wakati wewe ni usindikaji mtumiaji wa pembejeo, hivyo kusema ve yameandikwa fomu mtandao ambayo inakusanya habari kutoka kwa mtumiaji na kisha unaendelea na mchakato ni tarehe ya mwisho ya nyuma, upande wa server katika code yako PHP kama wewe ni kutarajia kwamba thamani kwamba mtumiaji typed katika na in kwa fomu yako kwa kuwa integer au kuwa floating kumweka idadi au kitu kama hicho unahitaji kupanga kuwatupia na kisha kufanya baadhi ya kuangalia aina. Wewe hawataki tu kutegemea mfumo huu juggling aina ya kufanya mambo ya kazi nje, hasa kwa sababu za usalama na haki kwa robustness ya tovuti yako. Tu kitu kukumbuka kwamba wakati wowote wewe ni utunzaji data za fomu, chochote ambacho huja katika posta au superglobals Get kuhakikisha kwamba daima ni kuhalalisha na kubadili na typecast yake. Na kama tu sisi walikuwa wanazungumza juu ya muda iliyopita typecasting kwamba katika PHP ni sawa kama katika C ambapo una mabano na basi aina. Keep kwamba katika akili. Moja ya kazi kwamba atakuja katika Handy wakati wewe ni kufanya hii ni sisi tumekuwa kutumia-na hii ni aina ya kama kando- sisi tumekuwa kutumia kazi hii gettype haki hapa kufikiri ya aina ya kutofautiana, na wakati huu ni Handy kwa debugging na kuona aina gani variable ni wewe hawataki kutumia hii, kwa mfano, katika hali ambapo wewe ni kuangalia kuona kama gettype ya $ var = integer kufanya kitu. Hii ni mbaya, mbaya, mbaya. Badala yake kuna kazi hizi inaitwa ni integer, ni kamba, ni safu ya kwamba unataka kutumia badala yake, hivyo katika kesi hii nini napenda wanataka kufanya badala ya guy haki hii hapa ni kutumia ni integer var. Na wao ni mara nyingi inajulikana ni is_ * katika maana kwamba unaweza kuchukua nafasi ya * kwa integer, kamba, nakadhalika, na tu kuhakikisha kweli haraka ni hii ni int php. Inaonekana kama wewe unaweza kufanya ama ni int au kuna integer vile vile? Ndiyo, pak, hivyo int integer Majina bandia. Cool. Je ni vipi tuna kufanya? Hebu kuchukua kasi kidogo. Sasa sisi ni kwenda kuzungumza kuhusu arrays, hivyo kama unaweza kuona katika sehemu ya pili ya spec sisi majadiliano kuhusu jinsi arrays katika PHP ni tofauti kidogo kuliko katika C. Kwa kweli, wao ni aina ya amalgam ya arrays kwamba ve kuja kujua na upendo katika C ambapo kila kitu ni ya aina moja kuhifadhiwa mfululizo na contiguously katika kumbukumbu, na una fahirisi hizi numeric. Una index 0, index 1, index 2, na kuhifadhi maadili katika fahirisi hizo. Wewe pia katika C, wakati aliandika Speller, mengi ya wewe alifanya hash meza mbinu, na ninyi kuona kwamba kuna tulikuwa aina mbalimbali za kuhifadhi ambapo tulikuwa ramani muhimu kwa thamani, hivyo wakati wewe alijaribu kuhifadhi kitu katika meza hash alikuwa na bayana kwamba alitaka kuhifadhi na muhimu maalum, na muhimu ambayo amedhamiria eneo la thamani na ambapo itakuwa kuhifadhiwa. Ve got aina ya wote ya dhana wale kinachotokea wakati huo huo katika safu PHP, na matokeo yake, sisi mara nyingi simu arrays haya associative ambapo sisi ni kujihusisha muhimu katika thamani. Katika sehemu hii ya pili sisi majadiliano juu ya safu rahisi PHP ambapo tuna funguo b, na c, wote nyuzi, ramani kwa integers 1, 2, na 3. Na unaweza kuwa na funguo za aina mbalimbali. Unaweza kuwa na funguo baadhi ya kwamba ni masharti, baadhi funguo kwamba ni integers. Unaweza kuwa na maadili ya aina tofauti. Unaweza kuwa na thamani hiyo kamba, thamani hiyo integer, thamani hiyo ni kitu au nyingine safu, kwa mfano, wote katika kitu sawa safu, ambayo ni aina ya weird. Huwezi kuwa na safu hiyo tu got aina moja ya kipengele katika hilo. Unaweza kuwa na mambo mengi tofauti kinachoendelea huko. Kitu nyingine kutambua ni kwamba wakati wa kufanya kuona kitu kama hiki katika code yako, ambayo ni halali PHP kutangaza safu tu kama hii, 0, 1, 2, 3, 4, 5, kwamba atatangaza initialized $ arr kuwa hii safu. Lakini nini wewe kweli kupata chini ya Hood ni aina hii ya thabiti kizazi ya funguo ambapo sisi tumepewa 0-0, 1-1, 2-2, 3-3. Na zinageuka kuwa hata kama una safu kama guy hii hapa ambapo una b, na c kama funguo na kisha kuanza kutumia msukumo safu mbinu kuanza kutumia safu kama stack, hivyo unaweza kuona kwamba kitu hiki safu, safu hii ni kweli akikosa overloaded. Tunaweza kutumia kama safu. Tunaweza kutumia kama meza hash. Tunaweza kutumia kama stack. Baada ya kuanza kusukuma mambo kwenye safu hii Jambo la kwanza kushinikiza kwenye hii itakuwa index 0 na kisha index 1 na index 2. Unaweza kupata aina hii ya kizazi thabiti ya funguo isipokuwa wewe taja yao wazi. njia bayana funguo waziwazi, bila shaka, ni kwa kutumia hii nukuu bracket, ambayo ni sawa na arrays isipokuwa badala ya kuruhusu tu fahirisi integer katika hapa, sasa sisi kuruhusu kitu chochote. Kama unataka muhimu yako kuwa kamba, wewe d bayana ni kama hii. Kama unataka kuwa ni int, wewe taja kwa int unataka kutumia. Maswali juu ya kwamba hadi sasa? Moja ya mambo mazuri juu ya wazo hili ni kwamba unaweza tu milele kuwa moja ya thamani ya kuhifadhiwa na muhimu hasa. Kama sisi kurudi nyuma zaidi kwa wetu appliance-basi mimi kufuta baadhi ya mambo haya. Na hebu sema mimi initialize safu kuwa 0, 1, 2, kufanyika. Kama mimi sasa kujua kwamba, kwa mfano, kama mimi echo $ arr [0] Mimi naenda kupata 0 thamani kuchapishwa, na tangu hapo unaweza tu milele kuwa moja ya thamani ya kuhifadhiwa kwa ajili ya muhimu hasa kama mimi kuhifadhi kitu saa $ arr [0], kusema, basi mimi kujua wakati mimi echo $ arr [0] tena Sitakuja kupata 0 kuchapishwa kama kabla. Mimi tu kwenda kupata. Hivyo hii ni kimsingi akisema kwamba siwezi kuwa na $ arr [0] hifadhi 2 tofauti maadili. Haiwezi kuhifadhi wote 0 na kamba, kama hii literally nafasi nini ilikuwa saa $ arr [0] hapo awali. sababu mimi kuleta hii ni kukimbia, kuona nini kinatokea. Angalia hapa kwamba mimi got 0 kuchapishwa na kisha chini hapa. Hakuna mstari mpya kuna sababu nilikuwa wavivu na hawakuwa kuweka kwamba in Nini baridi kuhusu hili ni tunaweza kutumia hii kama njia kukamata wazo hili la kuweka ambapo hatuwezi kuwa na funguo nyingi ndani ya safu. Hatuwezi kuwa na funguo kufanana ndani ya safu. Siwezi kuwa na 0 muhimu na thamani 1 na 0 muhimu na thamani au ufunguo 0 na thamani ya kweli. funguo ni wote-kuna tu 1 muhimu katika safu. Hata ingawa unaweza kuwa na thamani sawa kuhifadhiwa mara nyingi katika safu chini ya funguo mbalimbali kuwa si rahisi kuwa na kufanana funguo mara nyingi katika safu yako PHP. Kama sisi kuangalia tatizo hili ijayo, unique.php, ambapo tunataka kufungua faili PHP ulio na orodha ya masharti, moja kamba kwa kila mstari, na tunataka kupata yote ya masharti ya kipekee katika faili kwamba wote sisi kufanya ni kutumia moja ya arrays haya PHP na kutumia masharti katika faili kama funguo safu hii na kushika uppdatering safu yetu kama sisi kuhifadhi funguo hizi mpya. Kama sisi kusoma kila mstari nje ya faili tunaweza kuhifadhi katika safu, na mwishoni tutakuwa na kama funguo wetu katika safu yetu ya yote ya masharti ya kipekee ndani ya faili. Je, hiyo mantiki? Hebu angalia jinsi hii matendo. Sisi ni kwenda kufungua, kulingana na spec, faili mpya iitwayo unique.php. Fungua. Lo, sorry, faili mpya. Sisi ni kwenda kuanza kuwa mbali na vitambulisho kuanza sawa na mwisho. Sisi ni kwenda kuokoa ni katika sehemu ya 9, na sisi ni kwenda kumwita unique.php. Okay, sasa zoom in Wazo hapa ni kufungua faili, kusoma katika mstari na mstari wa faili. Kwa kila mstari katika faili tutaweza kuwa na safu ambapo tuna  mstari kama ufunguo yetu. Na kisha wakati sisi kupata mwisho hapa $ Arr ya funguo ni mistari ya kipekee kutoka faili tangu tunajua kwamba kama mimi kuweka mstari katika safu hii mara nyingi itakuwa tu kuweka kuu thamani ya zamani, na tunaweza kweli kuweka safu line katika kama yenyewe tu kama hiyo. Hii ni aina ya weird. Sisi ni hifadhi hiyo muhimu thamani jozi tena na tena na tena, lakini tangu sisi ni uhakika kuwa kutakuwa tu 1 muhimu inaitwa mstari hivyo kama tuna faili kwamba anasema-faili ya noises mnyama na ina lililosokotwa, lililosokotwa, meow, meow, moo, moo, na kila wakati tunasoma kelele mnyama nje kama lililosokotwa na sisi kuhifadhi katika safu yetu sisi kupata lililosokotwa, na kisha mara ya pili sisi kuhifadhi lililosokotwa itakuwa overwrite mara ya kwanza kwamba sisi ni kuhifadhiwa. Katika mwisho tutaweza moja tu ya kuingia katika safu kwa kila noises mnyama katika faili mnyama wetu noises. Je guys kujisikia hakika kwamba wewe unaweza kukabiliana na ufunguzi wa faili katika PHP? Njia moja ya kufanya hivyo-hebu kwenda juu ya njia hii haraka-moja ya kufanya hivyo ni pamoja na fopen, kama tuliona mapema. Unaweza fopen some_file.txt. Unaweza kufungua ni katika mode kusoma, kama vile katika C. Hiyo ni moja kikamilifu nzuri njia ya kufanya hivyo. Wewe pia kisha kwa ajili ya kusoma katika mstari na mstari wa faili wana kazi moja, wengi wao, kwamba alifanya katika C. Una fgets. Una feof, ingawa sisi si kama kutumia kwa sababu, kumbuka, hiyo haikuwa kubwa katika C. Unaweza kufanya hivyo kwa njia hiyo hiyo, lakini hapa ni kitu kweli cool. Samahani, sijui wanataka kufanya $ faili, lakini kuna kazi kuitwa faili katika PHP, na kazi haki hii hapa ni baridi kwa sababu ni wasomaji yaliyomo yote ya faili kwamba wewe taja, hivyo some_file.txt, anayesoma yaliyomo yote ya faili hili ndani ya safu na kisha inakuwezesha iterate juu yake, ambayo ni pretty nifty. Kama sisi kwenda, kwa mfano, kivinjari wetu na sisi kuangalia Google kwa ajili ya faili PHP unaweza kuona hapa kwamba mwongozo wetu anasema faili kwamba anasoma faili nzima katika safu, na tunaweza file_get_contents kurudi yaliyomo ya faili kama kamba, lakini kawaida tu kupata ni kama safu ni nzuri kwa kweli kwa sababu kile yake ni inavunja it up ili kila kipengele katika safu ni moja mstari wa faili, hivyo kama sisi kuangalia faili 0, hiyo ni mstari wa kwanza wa faili. File 1, mstari wa pili, saizi 2, tatu line, na kadhalika na kadhalika. Je, si ni kuwa nzuri kama kwamba ilikuwa wote mnatakiwa kufanya katika C? Pretty nifty. Daudi alionyesha hili katika hotuba, na nahau alionyesha alikuwa kwamba kwa kuongeza kiwango chetu kwa kitanzi-katika PHP tulikuwa kwamba kwa ($ i = 0; i <10; i + +), na unaweza kufanya hivyo katika PHP pia, kitu kimoja- sisi pia kuwa hii kujenga cool kuitwa foreach. Foreach ni kweli Handy wakati iterating juu ya arrays au miundo hizi data kwa sababu inaruhusu wewe kujiondoa kila kipengele cha safu bila ya kuwa na manually kufanya Indexing mwenyewe, bila ya kuwa na manually kujenga variable index, increment yake, kujiondoa thamani katika safu katika hatua hiyo, kwa sababu hilo ni jambo la kawaida sana ya kufanya. Wewe pengine wamefanya kwamba tani ya mara wakati wewe walikuwa wakifanya C stuff juu ya muhula, hivyo pamoja na hii foreach tunaweza kitanzi juu ya safu hii ya SVG, na syntax ni kwamba tunataka sasa kitanzi juu ya safu hii na bayana kwamba variable tunakwenda kutumia kuhifadhi kipengele cha safu hii ndani ya nchi, serikali za mitaa kwa upeo wa kitanzi foreach, ni tunakwenda kuiita mstari. Kama ni faili ya maneno tu na kuna neno moja katika mstari tunaweza kuiita neno pia, kwa kweli tu unaweza kumpa jina hili, chochote unataka simu yake, na kisha ndani ya kitanzi unaweza kufanya chochote unataka na line hii kutofautiana. Kama siyo ya kutosha kupata thamani ya safu na wewe pia wanataka kupata index pamoja na hayo unaweza specify jina kwa index kama vile thamani, na sasa unaweza kupata vigezo 2. Una $ i na mstari ambapo $ i ni index katika safu, na line ni mstari kwamba wewe Rudishwa kutoka faili. Kwa mfano, kama sisi alitaka magazeti nje echo line 0 wa faili kama hii, tunaweza kufanya hivyo tu kama hii, "Line $ i ya faili ni $ line," na hapa ni kitu sisi pia hawajaona bado ama ambapo nimekuwa tu kabisa juu ya skipped% hii% nzima s d biashara kwamba alikuwa na kukabiliana na katika C, na badala yake mimi tumeenda moja kwa moja kwa kuandika vigezo katika mstari katika kamba wangu. Hii inaitwa variable nyongeza katika kitabu, kamba nyongeza katika kitabu ambapo wewe ni stuffing vigezo sahihi katika, na mkalimani PHP ni smart kutosha wakati ni kusoma kwa njia ya kamba kwamba huanza na mbili quotes- si enda quotes, pamoja na nyuzi moja alinukuliwa huwezi kufanya hili- lakini kwa masharti mbili alinukuliwa wasomaji kupitia ni kuangalia kwa vigezo. Ni uwindaji yao chini, na kama anaona vigezo itachukua thamani ya kutofautiana na mambo ndani ya kamba kama inaweza kubadili kwenye uwakilishi kamba, ambayo ni pretty nifty. Kwa sasa, hebu maoni nje ya mapumziko ya kila kitu, kuokoa huu, na nini tunaweza kufanya sasa ni tunaweza kufungua faili kwamba tunaweza kuwaita some_file.txt-hebu kuunda faili mpya- na tunaweza kuweka katika rundo la stuff nonsense katika hapa tu kwa mtihani kila kitu nje, niuokoe, simu yake some_file.txt, kama mimi kufanya juu hapa saa ya juu, na sasa ikiwa mimi zoom nje tu kuhakikisha kila kitu ni sawa katika saraka- inaonekana kama nina unique.php na some_file.txt katika saraka ya sawa. Kama mimi kukimbia php unique.php kuona jinsi Prints nje ya kila mstari katika faili wangu na kile line ni? Hiyo ni pretty nguvu, haki? Angalia, ni alichukua mistari 3 ya maadili ya kufungua faili. Naam, 4 mstari wa kanuni. Siwezi kuhesabu leo, kwa uwazi. Lakini kweli tu 2 kuvutia mstari wa kanuni, kwa sababu 2 wengine walikuwa braces curly, lakini katika code sana hii tulikuwa na uwezo wa kufungua faili, iterate kwa njia hiyo, kuvuta nje ya idadi ya mstari na mstari yenyewe na magazeti nje. Cool stuff. Charlotte. [Charlotte] Nina swali kuhusu syntax. Hivyo foreach inahusika na kila mstari wa moja ya faili kwamba wewe kufungua, na kisha wakati unataka kufanya mambo kwa line moja kila wewe tu kufanya hivyo kama na kisha kujiunga thamani. [Nate H.] Nini unaweza kufanya hapa hapa-swali lilikuwa foreach ina nini na safu, hivyo syntax foreach ni kweli foreach, na taarifa kwamba kuna nafasi hakuna au kitu chochote kati ya kwa na kila mmoja. Wao wana haki ya kwenda karibu na kila mmoja, na kisha inachukua katika safu, na kisha una hii Keyword nyingine iitwayo kama kwamba ina kuwa huko, na kisha baada ya kama unaweza ama kuweka moja kutofautiana jina, katika kesi ambayo mtaenda kuunganisha nje maadili ya safu, si fahirisi, au kama wewe kufanya hivyo kama tumekuwa imeandikwa chini kupata funguo na maadili. Una kipengele foreach wa safu au jozi ya safu kama keyed kwa thamani au kama tu thamani. Kutegemea juu ya nini unahitaji, kama huna haja funguo, basi unaweza kwenda na thamani. Kama unataka funguo unaweza kwenda pamoja nao pia. [Charlotte] Pia niligundua sisi kamwe alitangaza i au mstari. Jinsi gani hata kujua nini wao ni? [Nate H.] Nini maana na kutangaza? [Charlotte] Sisi kamwe aliwaambia nini i au mstari njia. [Nate H.] Sisi kamwe aliiambia kompyuta nini i au mstari maana katika suala la- [Charlotte] Hayo wao ni indexed au kwamba they're- [Nate H.] Sisi kamwe aliiambia ni kwamba hii ni walidhani kuwa index au muhimu na thamani, na kwamba kwa sababu hiyo ni mkalimani PHP. Hii hutumika kama tamko na anasema sawa, muhimu ni kwenda kuwa variable kuitwa i kuhifadhiwa katika variable kuitwa i. thamani ni kwenda kuhifadhiwa katika mstari variable walioitwa, hivyo hii hutumika kama tamko la vigezo hivi na anasema $ i ni muhimu, na $ line ni thamani. Yeah, Ella. [Ella] Kama funguo ni si kufanyika numerically jinsi gani kuamua nini ili itakavyo magazeti kila kitu? Je, ni kama tu ili ni aliingia katika? [Nate H.] Hebu kutoa ni kujaribu. Hebu kujenga variable kuitwa arr, na tunaweza kufanya inakwenda 7. Hebu sema 0 huenda kwa safu mwingine na 1, 2, au apple. Hebu sema 7 inakwenda 1, b inakwenda 2, na 3 inakwenda 4. Hii ni aina ya mfano mambo kuangalia kwa sababu sisi ni kuchanganya juu masharti na integers kila mahali. Hakuna utaratibu halisi wa safu hii. I mean, tunaweza kuagiza kila kitu katika herufi kwa funguo. Tunaweza kuamuru kila kitu alphabetically na thamani. Tunaweza kujaribu na kuchukua katika akaunti kwamba baadhi ni masharti, baadhi ni ints, na tunaweza kujaribu na kubadili yao yote kwa aina moja na kuona nini kinatokea, au sisi inaweza kufikiria yao kwa thamani ambayo sisi tayari iliwaingia ambapo sisi kuweka hii katika guy kwanza, hii guy katika pili, hii guy katika tatu, this guy katika kadha wa nne, et. Hebu kuona nini kinatokea wakati sisi kukimbia hii code. Kama sisi kitabu chini na kufanya aina moja ya kitu, na hapa siyo kuchapa nje mistari mpya. Wakati kusoma mambo ya nje ya faili ilikuwa ikiwa ni pamoja na mistari mpya katika maadili, ambayo ilikuwa ni kwa nini kuchapishwa nicely, ambapo hapa haikuwa, hivyo ndiyo sababu kila kitu ni smushed pamoja. Hebu kuongeza katika mstari kwamba mwezi tu kufanya mambo mazuri. Hebu rerun yake, na hivyo hapa kuangalia nini kilitokea. Ni kuchapishwa kila kitu nje katika utaratibu ambao sisi kuiweka katika safu. Haina kuhifadhi ili katika maana ya kwamba. Tukirudi kwenye tatizo hili la uniques ambapo tunataka kuwa na uwezo wa iterate juu ya SVG, na tutaweza kuwapa some_file.txt, na sisi ni kwenda iterate juu yake kama hii. Sisi alisema kuwa sisi alitaka kutumia safu kuhakikisha kwamba tunatarajia got yote ya kipekee mistari nje ya hapo, na tunaweza kufanya kweli kwamba urahisi na tu kuhifadhi katika safu kwamba sisi bila shaka kutangaza nje ya wigo wa kitanzi, na sisi alisema kwamba kama sisi kutumika katika mistari faili kama funguo katika safu yetu ya kama sisi aliingia mstari duplicate tunatarajia kuwa na thamani kuu uliopita. Ni si milele inawezekana kuwa na funguo 2 kwamba ni kufanana katika safu moja. Tunaweza kufanya tu. Tutaweza kujikwamua kauli hii echo haki hapa. Hapa sisi ni hifadhi ya mstari katika faili katika safu yetu ya kutumia yenyewe kama muhimu. Kitu, na ni zinageuka kuwa hatuna hata haja hii muhimu. Hatuna haja ya kuwa i kutofautiana. Katika hatua hii kama tulikuwa kufanya mwingine kitanzi foreach na sisi tulikuwa na kitanzi juu ya kila arr na mstari sasa kama sisi echo-oops, sorry. Hatuwezi kutumia comma. Tuna hii kutumia kama Keyword. Sasa kama sisi echo line tunapaswa kupata yote ya maneno ya kipekee katika faili. Kama Tunakwenda some_file.txt, na hebu sema sisi kufanya apple, ndizi, apple, apple, ndizi, kama sisi ni uchapishaji nje yote ya maneno ya kipekee katika faili hili tunapaswa tu kupata apple na ndizi na magazeti nje. Kama sisi kuokoa hii, sasa hapa tutaweza zoom nyuma katika, php unique.php, na ta-da. Tumekuwa mafanikio uniqued faili. sehemu ya mwisho ya tatizo hili ni kuuliza wewe kutatua hii safu kabla kuchapishwa nje kwa sababu katika mfano huu rahisi kwamba tumekuwa tu kufanyika sisi walikuwa na bahati kwa maana ya kwamba-file sisi gani mfano huu contrived kwa apples na ndizi. Ilikuwa tayari Iliyopangwa. Lakini kutumia kazi rahisi aina unaweza aina safu, ambayo ni pretty nifty. Jambo la mwisho nilitaka kuongea na nyie kuhusu kweli haraka ni kwamba aina hii ya PHP ni vizuri wote na nzuri, na ni super Handy kujua jinsi ya kufanya kama wewe milele haja ya kufanya kidogo, mambo haraka programmatically. Kwa mfano, kama mimi haja ya kuandika mpango kwamba, kusema, unaweka kila mtu katika sehemu Sitakuja kwenda na kuandika ni katika C. Ni kwenda kuwa kwa muda mrefu. Ni kwenda kuwa aina ya maumivu, hasa kama kuna files wanaohusika, tu kama wewe guys tumeona. Ni hivyo nice kwamba pamoja na haki hii code sana hapa hapa tulikuwa na uwezo wa mpasuko kwenye faili, kujiondoa maadili yote ya kipekee na magazeti yao nyuma nje. Hata hivyo, kwa kazi yako, kwa ajili ya miradi yako, kama wewe ni kujenga tovuti kwa PHP nguvu ni kwamba sisi ni mbio yetu files PHP kupitia mkalimani hii, na mkalimani ni usindikaji kila kitu ndani ya vitambulisho PHP, kuacha kila kitu kingine bila kuguswa na kutema mate nje ya matokeo. Tunaweza kufanya hili kwa kujenga HTML programmatically. Sasa, kama sisi kurudi nyuma kwa spec, tatizo la mwisho katika spec mazungumzo kuhusu hili wazo la viwango na kujenga drop-down menu, ambayo wewe au anaweza wanataka kufanya, kutegemea na nini mradi wako wa mwisho ni kufanya, ambayo inaruhusu user kuchagua kutoka orodha ya viwango vya wote inawezekana zao moja ukolezi. Sasa, hii ni aina ya maumivu ya aina hii nje na kufanya yote haya manually, hasa wakati wewe ni kuwa na kuhakikisha kwamba una mabano angle wote katika mahali sahihi na quotes wote katika mahali pa haki, hivyo kwa PHP unaweza kufanya hili programmatically, na unaweza kufanya hivi kweli haraka. Hebu angalia jinsi ya kufanya hili. Sisi ni kwenda kufungua faili mpya. Sisi ni kwenda kuweka tags wetu PHP. Sisi ni kwenda kumwita concentrations.php, na sasa wakati wewe ni kufanya hivyo, aina ya kitu nzuri kufikiri juu ya wakati wewe ni kujaribu kuchanganya na mechi PHP yako na HTML yako ni kuhesabia, sawa, kile ni sehemu kuwa nataka programmatically kuzalisha? Je, ni sehemu ya kwamba naweza programmatically kuzalisha? Ni kweli kwamba unaweza kufanya yote ya HTML yako ndani ya vitalu PHP. Unaweza echo yote ya HTML kama masharti. Kwa mfano, kama nataka kuanza kufanya tags kuchagua ndani ya PHP Naweza kusema echo, kusema chagua jina = ukolezi, na kisha chini chini mimi naweza kuwa na mwingine tag echo au mwingine aitwaye echo karibu kuchagua. Hii ni njia moja ya kufanya hivyo kwa sababu ya maneno haya ni halisi kwenda kufanya ni magazeti nje hii string wakati ni kukimbia kupitia mkalimani PHP, hivyo matokeo itakuwa HTML. Kama mimi kuokoa faili hii kama ni haki sasa na mimi kukimbia concentrations.php php kuangalia nini mimi got. I got hii wazi karibu kuchagua tag. Kama ningekuwa na kufanya hivi na mimi walikuwa kuokoa matokeo na faili, kusema, concentrations.html-kusubiri, inaonekana kama l yamepita juu kwa upande mwingine- sasa kama mimi kufungua hapa concentrations.html mnionavyo halali HTML faili. Ni kwamba aina ya weird? Sisi ni kutumia PHP kujenga HTML, kujenga HTML halali. njia ya sisi ni kufanya hivyo ni sisi ni kuwa tu magazeti PHP HTML kwamba tunataka kuwa na magazeti. Hii ni halisi jinsi tovuti PHP ni kazi. Wakati wewe kutembelea tovuti ya kwamba hutuma wewe kitu kama jambo, jambo, kitu dot com slash index.php kompyuta ni halisi wito up index.php, mbio kupitia mkalimani PHP, na chochote Junk hutoka nje ni kutuma nyuma kwa kivinjari na kusema hey, browser, kutafsiri hii kama HTML. Jambo zuri ni kwamba inaweza kuwa maumivu ya mara kwa mara kuandika echo, echo, echo, echo na uambatanishe kila kitu katika quotes kama hili, hivyo kama unataka kuandika HTML kwamba itakuja kuwa tuli mwenyewe unaweza kufanya hivyo kama hii, kuiweka nje, karibu ni, na kisha hapa wewe tu kuweka ndani tags PHP kwamba ambayo unajua unataka programmatically kuzalisha, na katika kesi hii ni chaguo tags wale kwamba ni maumivu ya kuzalisha. Kwa mfano, tunaweza kuzalisha tags chaguo elfu kwa kufanya kitu kama hiki, $ i <1000, i + + na kusema echo chaguo thamani = $-Whoops, siwezi kufanya hivyo. Naam, hebu kutoa ni kujaribu na kuona nini kinatokea. $ I na kisha kusema $ i