DOUG LLOYD: Beraz dugu lan asko egin C, eta C benetan cool bat Hizkuntza duzu ematen duelako benetan murgiltzeko gaitasuna maila baxua Zure programetan. Gauzak bezala egin ahal dugu benetan minutuko manipulatzeko gisa byteko memoria banakako. Hori erakusleak benetan Berreskuratu ahalbidetzen duen malgutasuna. Baina ez da beti behar dugu izan fin-alearen xehetasun maila duten gure programak ere? Seguruenik, ez da, ezta? Eta badugu ari behar joan izatearen arteko merkataritza-off benetan egin, benetan gai Minutu gauza eta benetan, benetan ez garela dute uste gauza handiak buruz, ez dugu ezartzea ideia benetan handia hauetan bada Dagoeneko ari dira eraiki Gurekin, Oro har, handiak eraikitzeko programa edo proiektu handi, seguruenik ari gara alde err joan izanaren gehiago hizkuntza stuff eraikia guretzat, ordez izatearen behe-mailako gauza. Eta hor PHP benetan dator. Orain, arrazoi bat CS50 PHP irakasten dugu da dela hein handi batean inspiratuta C. Eta, hain zuzen ere, nire ustez, daude benetan bi gurasolehenarengandik hizkuntzek Oso ohikoak dira gaur egun. C eta Lisp. Eta ari dira gurasolehenarengandik hizkuntzetan beste programazio moderno guztietan delako hori garatu hizkuntza Orduz geroztik dago inspiratuta Beste sintaktikoki bat edo arabera. PHP oso antzekoa da sintaktikoki C, Erregimen bezalako hizkuntzetan, ostera, Adibidez, zein zuk entzun izan daiteke, gogor hizkuntza batean inspiratuta Lisp izeneko, horrek hizkuntza zaharragoa da. Beraz, arrazoia irakasten dugu PHP CS50 da, C funtsean bezala jakitea egiten duten bezala, puntu honetan duzu, picking PHP, horrek ematen dizu askoz ere handiagoa mailan gauzak egiteko gaitasuna C baino ez, ez da Hori oztopoa bat askoz, Dagoeneko delako sintaxia oinarrizko ideia. C izan inguruan ia for 45 urte, puntu honetan. PHP izan inguruan 20 urte inguru. Eta 25 urte horretan , programatzaileak artean zehaztuko askoz litzateke dutela baizik eta goragoko maila gaitasun izan, eta akatsak eta borrokak 20 urte arteko urtean PHP eta beste hizkuntza moderno ekarri. PHP-ren aukera handi bat software for hizkuntza allow-- dela non duzu horrelako software gauza egin direla behar C benetan zaila. Beraz, adibidez, lan C kateak Oso zaila da, zeren dakigunez, C kateak pertsonaien multzo besterik ez dira benetan. Ez da datu-mota eraiki-a. Edo agian funtsean, zerbait ez dugu, nahiz C estaltzeko, zer egin behar baduzu ordenagailuan networking batzuk? Ados? C egin behar den gaitasuna du, baina hain da Urrutira eta hain zaila benetan egiten. Ez litzateke polita egin bada, izango da Hizkuntza bat eraiki-, modu erraz izan Sare ezartzeko? Eta PHP egiten duen hizkuntza bat da, edo errazten nahiko pixka bat, hori gehiago. Esan dudan bezala, PHP oso handia inspiratutako C. arabera Sintaxia oso antzekoa da. Eta beraz, espero dugu egin behar da batetik bestera trantsizio batzuk baino pixka bat leunagoak beste hizkuntzetan egongo den. Idazten PHP hasteko, besterik ireki the .php fitxategia luzapeneko fitxategi bat. Teknikoki, hau ez da benetan beharrezkoa, baina sintaxia bezalako gauzak nahi baduzu IDE ere nabarmenduz, beraz, mota horretako izenak, edo aldagai izenak, funtzioak, Dakizuenez, hizkuntzaren hitz gakoak dira batez markatuko kolore jakin, oro har, Zure fitxategiak izendatzeko ekin nahi fitxategi-luzapen jakin bat. Beraz, gure fitxategia izendatu dugun .php batekin luzapena, baina gero, PHP, PHP kodea duten guztiak ere idatzi dugu fitxategia dauka PHP horiek eranskin izango den mugatzaileak ikusten dugun Hemen pantailan. Xebroi? Php hasteko. Ondoren, gure PHP guztia idatzi dugu Hori nahi dugu arteko kodea. Eta gero ? xebroi ixteko. Ez badugu egin, orduan zer gertatuko? Ez da huts egingo. Ez da joan gure programa benetan hondatu. Baina ez da izan joan nahi dugun efektua. Zer gertatuko, benetan, da denean saiatzen gara eta programa hau exekutatu dela, dena ez mugatzaileak dutenen artean da inprimatu beharreko egindako literalak joan. Ez da joan benetan exekutatu kodea, egingo da, besterik gabe, inprimatu literalak. Orain zergatik da kasua? Beraz, C zer ezaguna da konpilatu hizkuntza gisa. Ezagutzen duzu, ziurrenik, Zure programak egiteko urratsa, C fitxategiak eta h fitxategiak inflexio make exekutagarri bakar batean, bereziki erabiliz Gure konpiladorea gisa Clang. PHP, ordea, ez du baliokidea hauxe. PHP da zer bat deitu Lengoaia interpretatu. Eta zer esan nahi du horrek? Beno, ez dugu bihurtzeko esan nahi du Gure iturburu zeroen eta kode aldez aurretik. Baizik eta, beste programa bat da, bertan ere deitzen PHP, PHP eta ulertzen duela Sort egin ahal izango da, hegan. Hori ez da benetan zehazki zehatza, baina analogia nahiko ona da zer gertatzen ari den. Honez horiek interpretatzeko unean zero eta bai. Eta hala bada, ez du jakin Zerbait nola prozesatu, ez dakit bada nola Prozesu PHP, seguruenik duzu Testu horretan jarri hor nahi, ezta? Ziurrenik kodea jartzea nahi duzu ez, ez da PHP artean bada ere PHP zatitu du. But-- beraz, ez da joan ezabatu duzu, besterik ez da, funtsean, baztertu egingo da. Beraz, inprimatzeko joan pantailaren gura. Honek badirudi da txarra bezala Gauza da, baina benetan da benetan bat izango da Gauza onak, dugu gisa ikusi duenean hitz egiten dugunean PHP web garapenerako, esan nahi duelako, ahal dugun tartekatzeraino PHP eta HTML. Haiekin batera erabili ahal izango dugu Web orria dinamika handiagoa. Baina hori on gehiago Bideo PHP web garapenean. Beraz, zer PHP sintaxia da? Hori zer bideo hau guztiei buruz. Horretaz hitz egin dezagun. Beraz, hasteko, aldagaiak. PHP aldagaiak existitzen. Ez dago besterik ez dira bi big C. desberdintasun Lehenengoa da, ez dagoela motaren espezifikatzailea ez. Guk ez dugu izan int esateko, char, karroza, guzti hori. Guk ez dugu izan duten gehiago egin. PHP hizkuntza modernoa da. Irudikatu daiteke out zer zaren egin edo onena bat egin nahian zer egiten saiatzen ari zaren bezala asmatzen. Beraz, nahiko polita da. Beste gauza aldakorra guztia dela izenak dolarraren ikurra batekin hasiko dute. Hori besterik ez da zerbait erabili ahal izateko da. Apur bat arraroa da, zeren da, beraz, PHP ulertu ahal zer aldakorra da eta zer ez. Beraz, aldagai izen guztietan dolarraren ikurra batekin hasten da. Beraz, C dugu zerbait esateko Hau atsegin, int x = 54. Ez dugu jada ez da egin PHP. Bakarrik esan dezakegu $ x = 54 gara. Eta esaten dugu, esate baterako, C, genuen libra-sartzen bada CS50 h du goiburua fitxategia, esan genezake katea Esaldi = "Hau CS50 da." Guk ez dugu horretarako PHP, baina. Bakarrik esan dezakegu, $ Esaldi = "Hau CS50 da." Eta hain zuzen ere, katea da gaur PHP datuak horma-a, edo, hobeto esanda, PHP ulertzen kate bat zer den. Da array bat bereizteko pertsonaien da C. bezala Zure gogoko guztiak C-tik baldintzapeko adierazpenak erabiltzen duzun eskuragarri daude oraindik. Beraz, ez da trantsizio big dago. Esaten ahal dugu izan dezakegu Hau bezalako adierazpenak dira. $ y 43 bada, edo $ z = 15. Beraz, nahiko erraza da. Ezin dugu bada, eta bestela izan. Izan dezakegu eta beste galtzen. Eta zerbait nabarituko Nahiko hemen polita, eta hau horietakoa moduko da PHP abantailak versus C, aldez aurretik abisatu zer funtzio ez gabiltza hemen erabiliz? == Erabiltzen ari gara konparatu aldakorra, $ izena, kate bat. Ezin izan dugu ez dela C, ezta? Izeneko funtzio bat erabili izan dugu StrComp edo StrEndComp edo edozein inguruneko lehengusuak. Eta beraz, dagoeneko abantaila horiek ikusiko dugu. Guk ez dugu izan, zerbait egin behar bezain txoroa edo agian unintuitive deitzen baitiote izeneko funtzio bat StrComp badut besterik probatu nahi ala balioa kate bat berdin. Besterik ez dut erabili izan berdin berdin, bezalako beste ezer egin ahal izan dut. Beraz, ez da abantaila bat da. Batzuetan, bide batez, baliteke ikusi beste hitz bakar bat balitz bezala, ELSEIF. Eta hori da, PHPn OK baita. Beraz, batzuetan, hori ikusi liteke. Ez da typo. PHP benetan ulertzen ELSEIF. Ez dakit zergatik hori ezartzea erabaki, baina askotan ikusi dugun bezala orain arte gure bideoak zehar, programatzaileak dugu maite badu gauzak azkar egin ahal izango dugu, beraz ohitu espazio hori kentzeko itxuraz abantaila handi bat. Beraz, hori bada eta ELSEIF da. Horrez gain, bat hirutarra operadorea, abisuaren galdera ikur bi puntu, Sasoi oso laburra ez bada for edo baldintzapeko adarkatze. Eta itxuraz, hau da, hemen zer egiten saiatzen ari gara aldakorreko esleitu da $ Gutun bai egia edo gezurra, $ var den arabera hizki bat da. Beraz, hau nahiko isalpha antzekoa da C. bertatik ezagutzen ari garela Hau PHP baliokidea sort da. Funtzioa da itxuraz ctype_alpha deitzen, baina hori nola egiten dugun PHP. Beraz, hori guztia instalatu izango da, bada $ Var gutun bat da, $ gutun egia da. $ Var ez da gutun bat izanez gero, $ Gutun faltsua da. Halaber switch adierazpenak daukagu ​​oraindik. C etorritakoak baita gogoratzen dugu. Oso goian dago, hori nola egiten dugun int edo kate lortu antzeko zerbait. Beraz PHP eraiki ditu. Ez dugu behar CS50 liburutegia jada. Besterik ezin dugu erabili funtzioa ReadLine du. Zer dela egin egingo da inprimatu mezua out, "Your egoera, mesedez, "eta, ondoren, keinuka gonbita sarrerari erabiltzaileari zain Informazio batzuk. Orain konturatu zer gehiago switch egin ahal izango dugu. Duzu, erabili izan balitz, switch dagoela gogoratzen dezakezu Nahiko askoz mugatua da zenbaki osoen eta pertsonaiak, baina orain kateak erabili ahal izango dugu. Eta hain zuzen ere, aldatzeko adierazpena PHP eta pixka bat gehiago nahiko malguak Bere C. from lehengusina baino Begiztak. Just baldintzazkoak bezala, guztia oraindik ere zure zaharretan daude. Aldaketa hori loops bitartean daukagu 1etik kasu honetan 100 da. Loops bitartean egin behar dugu Hori 1etik 100 zenbatu, eta loops dugula Hori 1etik 100 zenbatu. Beraz, ez da jauzi handi han. Sintaxia nahiko da askoz berdin, orain erabiltzen ari gara ezik ordez dolarraren ikurra aldakorra zenbaki oso aldagai geratuko edo Gure kontagailuen horrelako zerbait. Hemen da non gauza bat C baino askoz hobeto, baina. Arrayak. Beraz, gogora ekarri geundenean C buruz hitz egiten, ordena Gurekin hazten eta txikitu informazio multzo, lehenetsiari ordenatzeko behar genuen lotutako zerrenda baten ideia hau, C matrizeak tamaina finkatu zituzten delako. Ezin izan dugu txikitu. Ezin izan dugu hazten horiek. Memoria berresleitu behar izan genuen eta erokeria hau guztia egin edo erabili lotuta zerrendak, eta horrek hartzen dute espazio nahiko bit gehiago. Baina PHP, array dira Ez tamaina finkoa jada. Hazi daitezen eta txikitu ahal izango dute. Beraz, berriro ere, 20 urte hauetan bazela C lehen oharra arteko eta lehen oharra PHP, duten, badakizu erabaki genuen, benetan handia izango litzateke Horretarako izan bagenu. Eta, beraz, hau inplementatu dugu. Beraz PHP arrayak ari finkoak tamaina, eta PHP ez delako benetan programatzaile aurrean begira dute mota nozioak, Datu mota nahastu ahal izango dugu gure parkeetan, gehiegi. Beraz, ez dira ezta dugun guztia erabili Osoko zenbaki edo ur gaineko puntu guztiak, guztien nahasketa bat izan dezakegu array bakar bat ere mota desberdinak. Deklaratzea array bat da nahiko erraza. Besterik ez da beste edozein aldagai bezalakoa da. $ Nums = array (1, 2, 3, 4), array funtzioa izateaz hori PHP txertatua dagoela zuretzat array bat sortuko du. Honek lau balore multzo bat sortzen du, Kasu honetan, zenbakiak, $ Nums deitzen. Eta ez da egiteko modu bat baino gehiago da. Eta goaz Ikusten hau PHP asko. PHP garatu da, hainbat arabera Jende eta hazten eta hazten eta hazten. Ez da, normalean ez soilik bi edo hiru modu zerbait egin PHP, ez da normalean 10 edo 20 bezala. Hemen da besterik beste komun modu array bat aldarrikatu. $ Nums = kortxetea 1, 2, 3, 4. Beraz, hau da Ordena C-ren angelu antzekoa br-- kizkur giltza notazio, baizik. $ - edo int Nums plazan izango litzateke Parentesi kizkur 1, 2, 3, 4, berdin. PHP da $ Nums = plazan Parentesi 1, 2, 3, 4. Baina adibide horiek, bai hemen eman me lau sorta bat, kasu honetan, zenbaki osoen. Zer Hemendik zerbait Tack nahi badut? Beno besterik ez dut esan daiteke $ Nums 4, bertan Berriro, ari gara oraindik 0 hemen hasita PHP, bosgarrena litzateke array elementu. Besterik ezin dut esan. Ez dut seg jasango joan errua, nire array besterik ez delako Hori egokitzeko hazten joan da. Hori nahiko polita, ezta? Eta hain zuzen ere, nahiz eta ez dut behar den Zehaztu non jarri nahi dut. Besterik ezin dut esan hau eta besterik Tack da azkenera arte an, edo besterik gabe, ezin izan dut $ Nums esan 20 edo 1.000. Ez da benetan axola. Eta oraindik ere, besterik joan Tack da erdiraketa amaieran. Beraz, hazten ahal izango dut, eta as-- gaude Ez estaltzeko joan hemen, baina splice ahal dut edo banda elementu array kanpo ere bai, eta array egokitzeko txikitu orain falta edo espazio hutsa dela. Han Tack beste modu bat array bat gainean zerbait, izeneko array_push funtzio bat da. Beraz, berriro ere, izatearen ideia hori besterik Gauza asko modu ezberdinetan egin ahal izango. Beraz, hiru modu desberdinetan ikusi dugu orain beste elementu bat Tack array bat gainean. Beraz, honetan beste elementu bat gehitzen $ Nums array amaieran izateko. Eta nahastu ahal izango dugu, gure datu motak. Beraz, ez da array bat izan nuen 1, 2, 3, 4, baina 1, egia, 3, 4, non egia da boolear bat, eta, ondoren, den beste elementu bat Tack nahi badut array hori, agian, kate bat, katea "bost", hori egin izan dut. Eta orain, nire array litzateke izan 1, egia, 3, 4, bost. Hitzaren bost, ez osokoa 5. Beraz, malgutasun handia dago. Malgutasuna lortzen are hobeto, nahiz eta, PHP zerbait laguntza duelako elkarte-sorta bat deitzen. Eta nolako vaguely hitz egin dugu C elkartze array hash taulak testuinguruan, zeren zer dira elkarte multzo benetan guztiak ari gakoa hartzeko buruz balio bikotea mappings. Eta, kasu honetan, keys-- bada C-tik matrizeak ezagutzen ari gara, gakoak indize zenbakiak dira. 0, 1, 2, 3. Eta balioak zer aurkitu dugun array 0, array 1, array 2, eta abar. Beraz gakoak indizeak dira, eta balioak zer array kokapen hori da, Indize hori zehazten. Baina PHP, ez dugu hori egin ahal izateko array 0 nozioa, array 1, array 2 jada. Orain benetako hitzak erabili ahal izango dugu gakoak mapa balioetan. Eta beraz, honen antzeko zerbait esan izan dut. Array eragin ditzaketen I erabiliz kortxetea honela sintaxia. $ Pizzak = kortxetea "Gazta", eta, ondoren, gezi bikoitza notazio moduko hau, 8.99, "pepperoni," gezi 10.99-- 9.99, eta abar. Eta beraz, zer gertatzen da hemen? Zer am benetan egiten dut? Gako bikotea mappings sortzen ari naiz. Beraz ordez esaten, adibidez, pizzak 0, pieza 1, 2 pizzak, Orain I pizzak esan daiteke gazta, pizzak pepperoni, eta balioen erreferentzia horiei lotutako. Hortaz, hona hemen gure giltzak berdean. Gazta, pepperoni, barazki, bufaloarena oilasko. Hemen gezi hori egiten da gako bikotea mapping honetan. Eta gero, hara balioak array kokapena hartan. Eta hori esanik array 0 funtzioak 8.99 bezala. Gakoa 0 da. Balioa 8,99 da. Orain I array gazta esan daiteke, edo honetan Kasu pizzak gazta, gazta gakoa da, eta zer aurkituko at I pizzak gazta 8.99 da. Hau da, ez dagoela aurkitu dut. Beraz, esan dezaket gauzak gustatzen. $ Pizza gazta = 7.99. Esan sale bat dut. Dis-- nahi dut askatu nahi dut gazta pizza prezioaren. Edo landare erabili ahal izango dut pizza baldintza baten parte gisa, edo elementu berri bat gehitu ahal izango dut nire array, bezala, aldez aurretik egin izan dut. Elementu berri bat gehitzeko horri ezin dut the "hirugiharra" giltzaz elkarte-sorta eta 13,49 balio du. Baina arazo bat sort aurkezten, uste duzu bada bigarren bat. Nola litzateke batetik bestera joateko array honen bidez? Eskuin? C, besterik ez genuke bat begizta, normalean, hori 0 exekutatu litzateke izateko ken 1 array tamaina. Array n at dauden elementu ditu, baliozko indizeak 0 zaude n ken 1 da. Beraz, bat erabili izan dugu behar begizta elementu bakoitza bidez urratsa. Baina hori ez da benetan Kasu jada, ezta? Orain bertan gako bikotea daukagu mappings non gakoak hitzak dira, nola ez zehar batetik bestera joateko hitz guztiak? Beno, zorionez, PHP ditu modu bat horri aurre egiteko ere bai, eta, beraz, atzera salto egingo dugu bigarren bat begiztak Laugarren begizta moduko bat aurkeztu nahi duten PHP foreach begizta bat izeneko existitzen. Eta zer foreach begizta bat egiten da funtsean, ideia bera. Erabili ahal izango duzu edozein array mota da. Baina da, funtsean, begizta baten ideia bera, ordez erabiliz ezik Indize zenbakiak, besterik ez sintaxia bitxi hau non dute elementu bakar behin deitzen duzunean begizta honen helburuetarako izen bat. Beraz, kasu honetan, foreach ($ array $ key bezala). Funtsean, iruzkin ohar gisa, foreach begizta horren barruan, izan gehiago single guztietan joan joan $ array, hau da, normalean elementu elkarte-sorta bat izango da, baina ezin benetan edozein array mota izan PHP nahi duzula. Eta hori, aldi bakoitzean begizta baten dituzun esan dute $ array karratu parentesi $ I, ezin duzu esan $ gakoa. Beraz $ key duten bakoitzean dagoen alias bat bihurtzen da Zure PHP elkartze-array indizea, eta beraz, erabili ahal izango duzu horrelako. Beraz, adibidez, dugu orain gure pizzak array. Motatako Nik bilduta izkinan han sartu beraz, erabili ahal izango dugu, adibidez azkar bat egiteko. Foreach ($ pizzak bezala esaten badut $ Pizza), bai, zer gertatzen da? Beno, nik behin bidez batetik bestera joateko joan nintzen array $ pizzak elementu bakar, eta, hala ere, ez naiz deitzera joan elementu guztietan, betiere barruan nago Hori gorputzean begizta egiteko, pizza $. Beraz, a moduko stand-batean, gogoratzen, $ pizza dagoela stand-a dela esateko $ Pizzak karratu parentesi $ i dugu bat erabiliz gero, begizta, non garen ezin $ i = 0, aurrera joan kasu honetan, $ I = 3. Ez bagenu gako bikote dute Hemen, honek elementu 0, 1, 2, 3 izango litzateke, eta bat erabiliko genuke joan begizta for $ Pizzak 0, $ pizzak 1, $ 2 pizzak, $ Pizzak 3. Beraz, gaur egun besterik $ pizza ordezkatuz da banakako gako bat da. Beraz, zer da hori inprimatu joan? Egindako naiz inprimatzeko $ pizza. Zer ari naiz at-- aurkituko joan $ pizzak inprimatu dut bada, $ i? Eskuin? Naiz inprimatu nahi izanez gero igarren pizzak elementua, zer ari naiz argitaratzeko? To inprima noa kokapena hartan balioak, ezta? Egiten ari ginen bada Like hau C testuinguru batean, ez ohi gure Iterator erabiltzen dugu aldakorra, int i = 0, i 3 baino txikiagoa da, i ++, 0, 1, 2, 3 inprimatu. Array 0 egindako inprimatzeko ari gara, array 1, array 2, 3 lerrotan. Eta beraz, zer inprimatzen da hau. Prezioen zerrenda da. 8.99, 9.99, 10.99, 11,99. Orain Ohartxo bat hemen. Foreach begizta batek ez du nahitaez Gauzak inprimatu ahal izateko. Erabat bermatuta ez. Ez ohi da. Honez normalean oinarritutako ordena on Zein elementu dira array gehitu, beraz, besterik ez daramaten kontuan. Agian ez da ordena izan. Baina foreach begizta bat, batetik bestera joateko dizu elementu bakar guztietan zehar Galdera array. Kasu honetan, berriz ere, Array hori $ pizzak da. Sintaxia aldatu ahal dut, ordea, bada Bai gakoa eta balioa nahi dut. Horren ordez $ pizzak esaten $ pizza gisa, hau esan ahal izango dut. Eta begiratuz gero zer egin dut at berdez hemen, gako bikotea mapping baten antza du. Eta beraz zu bada ez badira ere erabat ziur zer egin egingo, ziurrenik dezakezu $ Topping hori joan Kasu honetan gakoa izango da eta $ Prezioa da balioa izango da. Beraz, orain ordezkatuz naiz elementu guztietan $ of pizzak giltza balio bikote gisa, eta orain gakoa ezin dut erreferentzia eta balioa, agian erabilgarri, adibidez, honako hau. "Oso bat" - hau asko da inprimatzeko hemen "oso bat" gertatzen Topping prezioa, eta, ondoren, "pizza $ kostatzen" Aldi batean eta backslash n bat inprimatu dut. Beraz, orain, iragarki berriro sartzeko aukera izango dut gako bat, $ Topping, eta balio bat, $ prezioa. Beraz, ezin asmatzen duzun zer hau da inprimatu joan? Ez dago inprimatu, adierazpenak asko da, baina ez bakarrik backslash n bat da, beraz, zerbait inprimatu joan kode lerro bakar batean entire-- bat. Ezin dut gakoa mugatuz gero eta balio du, eta gero, gaur egun, Horren ordez, besterik gabe, ahal izatearen prezioak inprimatu, Dezaket honen antzeko zerbait inprimatu. "Gazta osoan pizza A kostuak $ 8.99." Eta orain keys-- guztia erabiltzen dut gazta, pepperoni, barazki, bufalo chicken-- eta balioak. 8.99, 9.99, 10.99, 11,99 So beste modu bat besterik ez da foreach begizta bat egin ordez besterik sartzeko balioak emanez, ematen besterik ez da zu ematen du gakoak eta balioak sartzeko. Beraz, informazio inprimatzeko. I Jadanik nik pare bat modu ezberdinetan, konturatuko liteke. Bi funtzio nagusiki dugu ikusi inprimatu eta oihartzuna dira. Eta nahiko askoz asmo guztietarako eta helburuetarako, bera ari dira. They're-- ez da oso sotila desberdintasun hori ez da, nahiz eta merezi sartzea, baina, funtsean, nonahi inprimatu erabili ahal izango duzu ziurrenik erabili ahal izango duzu oihartzuna baita. Eta hori ez da soilik bi. PHP desberdin asko ditu Gauzak inprimatu modutan, eta integratzeko bideak ere badu katea erdian sartu aldagaiak. Beraz, C gogoratzen, ez duzu zer funtzio gogoratu aldagai aldaketa eta ezin dugu erabili Gauzak sartu inprimatu nahi dugu? Seguruenik erabiltzen da horretarako funtzionatu nahiko asko. printf, ezta? Beraz, hau da, zer izan dugu barruan aurretik gure foreach begizta testuinguruan. Bost horiek izan genuen inprimatu bananduta, Hori izan zen bakarra delako modu benetan garai hartan banekien nola atera mezuak inprimatzeko. Ez nekien nola integratzeko $ aldakorra kodea PHP sartu Topping. Beno, hartu bada besterik ez dut asmatzeko basati bat, printf, benetan lan egingo zuketen. printf erabili ahal izango dut funtzioa da PHP, besterik gustatzen zait, erabili ahal izango C. Eta beraz, honen antzeko zerbait, printf, Berriro diot, ezagutzen ari gara. Lehenengo% s ordezkatuko da $ Topping balioa. Bigarren% s ordezkatuko da $ prezioa balioa. Eta beraz interpellating naiz, bertan modu dotore bat besterik ez da esaten itsastea dut kokaleku horretan sartu aldagaiak. Beraz in $ plugging naiz Topping non % s gorria da eta urdina% s $ prezioa non da, eta, ondoren, mezua lortu nahi nuke, "Gazta osoan pizza A kostuak $ 8.99." Ez dut egin dezake, nahiz eta modu bakarra. Agian ez nuke metodo hau erabili nahi. Hau da, benetan zer da gehien interpelazioa aldakorra izeneko. Oihartzuna erabili ahal izango dut. Inprimatu gehiegi erabili izan dut, ikusi dugu. Baina zer gertatzen da hemen? Lehenik eta behin, izan dut ihes dolarraren ikurra. Delako gogoratzen denean, egia esan izan dugu pizzak prezioak inprimatzeko, Egia esan, ni beraien formateatzen zen bezala dolarraren ikurra batekin zifra diru-. Baina, era berean, dolarraren seinaleak erabiltzen ari gara aldakorra izenak adierazten PHP, eta, bereziki, eta ez naiz kizkur du metodo hau erabiliz giltza aldakorra interpelazioa metodoa, behar dut Nire dolarraren ikurra ihes egiteko ez du, beraz, Uste aldagai bat buruz ari naiz. Benetan gertatzen den, literalki dolarraren ikurra inprimatu. Beraz ordenatzeko analogize da zer ikusi amaieran ez duzu. Ez du benetan inprimatu backslash n, ezta? Bistaratzen da lerro pertsonaia berri bat. Hau is-- ez da joan inprimatu backslash dolarraren ikurra, ezazu bakarrik inprimatzeko joan dolarraren ikurra pertsonaia bat. Ideia bera. Ihes sekuentziak, zer Gauza horiek deitzen dira. Baina konturatu nintzen ez egiten ari naiz Edozein% s ordezkapenak moduko, Besterik ez naiz literalki plugging aldagai horietan. Eta beraz Halako batean zer gertatuko litzateke hemen $ da topping-- balioa berriro, besterik zer izan gara eutsiz beraz far-- gazta buruz ari lortuko lituzke Han ere sartuta dagoela. Eta $ prezioa edozein dela ere balio izango litzateke pizzak at, kortxeteen artean, gazta, bertan 8,99 izan zen. Eta, beraz, hau litzateke, halaber, inprimatu "Gazta osoan pizza A kostuak $ 8.99." Eta esan bezala, ezin izan dut erabili hemen inprimatu oihartzuna ordez, eta funtzionaltasuna izan Nahiko askoz berdinak. Gauza bera inprimatu litzateke. Han egin behar den beste modu bat, eta honek abantaila bat da PHP kateak lanean. Kate lotuz egin ahal izango dugu. Horretarako izan dugu C, gehiegi, strcat izeneko funtzio bat erabiliz, baina berriro ere, izan dugu funtzio bereizi deitu. Nahaspila hau guztia egin zen. Izan nahi dugu libra-, besteak String.h. Ekoizpen bat izan zen, ezta? Baina orain banoa dot operadorea hau bakarrik erabili ahal kateak elkarrekin kateatu. Beraz, "oso bat" kateatuz naiz eta Orduan edozein $ Topping balioa da, eta gero beste bat katea, "pizza kostuak $" eta, gero, edozein dela kateatuz $ prezioa balioa da, eta, ondoren, amaieran naiz aldi backslash n tacking. Eta, beraz, hau litzateke, era berean, inprimatu "oso bat" - berriro, dugu lehen buruz hitz egiten ari bada pizzak array duten elementu "Gazta osoan pizza A kostuak $ 8.99." Epea, backslash n, berriro, batera the $ Topping eta $ prezioa ordez zer gure foreach ere izan dugu zehaztu begizta gako bikotea mapping bezala. PHP funtzio kudeatzeko. Funtzioak Sort ziren C integral, ikusi dugun bezala. Aldagai bezala, ez dugu behar den zehaztu funtzioa itzulera mota, delako ez du benetan axola. Eta ez dugu zehaztu Datu parametrorik mota, ez dute benetan delako Gaia, atsegin PHP ikusi dugu. Funtzio guztietan sartzen da Funtzio hitzarekin batera. Hori nola PHP adierazi dugu zer hizketan ari garen funtzioa da. Eta ez dugu behar nagusia aurre batere, interpretearen delako, PHP du interpretatzailea, goitik behera egiten du lan, kontuan hartu gabe. Ikusten baduzu egin dezakezu funtzio-dei bat, dela egingo go funtzio deia aurkitzeko, are beranduago dator bada. Baina goitik irakurriko behean, beraz, ez dugu behar den zehazteko, Hemen da non hasten zara. Hasteko on line 1 duzu zure PHP eta lan hortik behera. Hortaz, hona hemen nola sortu genuke hard_square izeneko funtzio bat. Itxuraz hartzen ditu parameter, horrek $ x deitzen naiz. Funtzio hau ez da erraza da Hainbat gauza diren ikusteko. Oraindik bueltan balio daukagu. Bat erabiltzen dut begizta for hemen. Baina da, funtsean, besterik gabe, zer hau zenbatekoak besterik $ x aldiz $ x da. Zer benetan ari naiz egiten ari da, besterik gehituz x 0 x aldiz edo $ x zero $ x aldiz. Baina eraginkorrean da zehazki egin $ x aldiz $ x biderkatzeko berdina. I oraindik balio bat itzuli ahal izango da, Kasu $ emaitza honetan, eta PHP funtzioaren egin dut. Hona hemen nola erabil dezakezun testuinguruan. Beraz, agian, naiz PHP fitxategi batzuen barruan dut. Blue ez dagoela nabarituko Erabiltzen dut nire PHP zatitu, xebroi galdera ikurra php. Horien artean, dira guztiak PHP hori idatzi nahi dut. Beraz, ez dut itxuraz eta lortu joan Erabiltzaileari galdetuko noa Niri emateko zenbaki bat, gordetzea aldakorra, $ x aldagai duten denda, edozein dela zidaten. Ondoren, naiz echo hard_square balio horren, eta itxuraz joan den linea berri bat Tack baita, eta, ondoren, geroago dut hard_square beraz funtzioa definitu denean egin dut hori deitzeko hard_square, zertaz ari naizen daki. Orain, halaber, egin nezakeen honen antzeko zerbait. Hau da, apur bat desberdinak. Ia zehazki, zer aurretik ikusi genuen berdina, x ordez $ besterik esaten ezik ez parametroaren hard_square bezala, Naiz esaten duena $ x = 10. Beraz, horren adibidea da defentsa-programazioa, Zure programak zaintzen Asmo txarreko erabiltzaile aurka. Hau akats batzuk egiteko modu bat da Hala ez garela benetan egiaztapena C. aukera gisa izan Inoiz izan dugu default zerbait balioa zehazteko. Beti izan dugu egiaztatu ala ez, adibidez, dei bat egin bada GetString dugu, izan zen egoki gehienak berehala badugu ondoren hautatuta dagoela, egiaztatuko dugu katea ala Erabiltzaileak ez eman zigun Ez da berdina null, ez dugulako hasi nahi null kate batekin lanean. Hemen, modu bat da hori aurrean babesteko. Bada erabiltzaileak ez digu ematen zerbait Nolabait, garenaren egin? Beno, besterik ez dugu esazu eta ez zuten digu ematen, Ari gara 10 plug ordez joan. Beraz, ez bazuen eman digu balio bat, erabili besterik 10 lehenetsita. Eta beraz, hemen, konturatu naiz dela I bat deitzeko hard_square, baina ez dago gonbita erabiltzaileari, ezta? Just dei huts bat egiten ari naiz. Baina nire funtzioa hard_square parametroarekindator bat espero da. Zer da hau inprimatu joan? Honez 100 inprimatzeko? Doa, eskuineko Erabiltzaileak ez delako eman dit ezer. Eta, beraz, besterik ez naiz suposatuko joan 10-- 10 balio lehenetsia da. Eta, beraz, hau litzateke inprimatu 100 lerro batean. PHP fitxategiak ez izan fitxategi bakar bat besterik ez da izan. Fitxategi bat baino gehiago elkarrekin konbinatu ahal izango duzu, Besterik ez dezakezu C. ere Bidea C izan zen, normalean bat egin genuen goiburu fitxategiak bota eskuratu # besteak beste. Guk ez dugu hori egin PHP. Require_once izeneko zerbait egin dugu. Eta gero, ez osoa hau da gauza, zer da __dir__ hau? Hori besterik berezi bat aldakorra, edo etengabeko bereziak, benetan, zer den zehazten du Zure uneko direktorioa da. Eta, beraz, ez da eta itxura joan Zure uneko direktorioan izeneko fitxategi cs50.php batentzat Adibide honetan hemen, eta nik fitxategi hori itsasten joan Zure PHP programa goialdean, eskatzen jarri duzula suposatuz Zure PHP fitxategia goialdean lerro behin. Beraz PHP nagusiki erabiltzen da, baina ez bakarrik erabiliko, Web-ean oinarritutako programazio hizkuntza gisa. Hori da benetan nola izan zen. Baina oso bat da hizkuntza, ikusi dugun bezala. Nahiko askoz gauza guztiak ikusi dugu Hori dela C antzekoak dira egin ahal izango da, eta heck bat egin ahal izango da asko baino gehiago. Baina hizkuntza eta guk delako bat osoa Komando-lerroan programazioa egin ahal izango da ere. Komando-lerroan programak exekutatu ahal izango dugu. Hori guztia beharrezkoa komando bat exekutatu Hori da PHP idatzitako lerro programa PHP interprete duzula. Beraz ordenatzeko analogoa da Zure sisteman konpiladore bat izatea Zure C kodea konpilatu nahi badituzu Piztu nahi exekutagarria fitxategiak sartu. PHP interprete izan behar duzu Zure sistemako existitzen beraz, PHP fitxategiak esanahia. Suposatuz egin, eta normalean interprete hau deitzen da PHP, eta normalean gehien saltzen deskarga edo PHP instalazio Hori online eskuratu ahal izango duzu, eta, zalantzarik gabe, PHP interpretea izenean CS50 dugula, IDE. Guztiak egin duzun mota php fitxategia da. Eta zer da zure programa joan egin dela da to bidez exekutatu joan interpretea, da Hori guztia alde batetara joan Galdera mark-- artean ere ez edo, sagarrondo galdera ikurra php, PHP zatitu du, eta inprimatu, eta interpretatzea eta gauzatzea izango da Zure PHP zatitu barrutik kodea. Hargatik pop baino CS50 IDE eta Begirada bat izan PHP fitxategiak pare batean, PHP fitxategiak pare bat martxan, in Komando-lerroan CS50 IDE interfazea. Hortaz, hona hemen CS50 IDE in dugu, eta hartu dut askatasuna izango du ren hello1.php izeneko fitxategi bat irekitzeko. Eta itxuraz, honen edukiak fitxategia besterik PHP zatitu hor daude, eta, oihartzun artean ere ("kaixo, mundua"). Hau PHP programa nahiko sinplea da. Besterik ez naiz behera mugitzeko joan nire terminal leihoa hemen, eta naiz php joan idatzi dut hello1.php, sartu hit. Kaixo Mundua. Hori da, ziurrenik, zer ginen egin gabe espero da, ezta? Goazen gora eta programa bat beste itxura. hello2.php. Pretty askoz ere gauza bera, Ez asko gertatzen da hemen. Oraingoan, ordea, nik galdetuko dut erabiltzaileari eman dit haien izenak. ReadLine funtzio hori erabiltzen dut berriro. $ Name = ReadLine. Den abisua, da "Zein da zure izena?" Inprimatzeko itxuraz naiz da lerro batean. Eta gero, beraz, lerro azpian den gonbita izango da non erabiltzaileak bere izena sartu daiteke. Eta gero pixka bat erabiltzen dut aldakorreko interpelazioa hemen on line 3 inprimatu "Hello" eta edozein erabiltzailea mota. Beraz, hori esaten antzeko, Hello, koma,% s dugu printf erabiliz gero C. Beraz, goazen eta programa hau interpretatu. Beraz, berriro ere, joan naiz behera nire terminal leihoa. php hello2.php. Zein da zure izena? Doug. Kaixo, Doug. Nik ere beste fitxategi deitzen hello3.php. Garbitzeko noa nire Kontrol L pantaila, Eta ez dut hori exekutatu. Zein da zure izena? Doug. Kaixo, Doug. Beraz, portaera berdina da hello2.php, baina zergatik da hello3.php? Beno, hemen aldea da. Kasu honetan, aldez aurretik abisatu 1. lineako hemen dagoela, Hori ez da zerbait behar dut PHP zatitu artean ere. Besterik ez naiz out-- edo I inprimatzeko Ondo idatzi, "Zein da zure izena?" PHP interpretea honetan ikusten denean, ha ez daki nola PHP bezala interpretatzeko, eta beraz, horren ordez ezean, besterik ez da egiten txu irten. Beraz, on line 3 nabarituko orain, nire dei ReadLine, jada ez da gonbita. Besterik ez naiz benetan zaie denean joan PHP interpretea ikusten hau, hura inprimatu joan "Zein da zure izena?" Orduan ikusten da, ai, OK, here's-- beste guztia izango da PHP bezala interpretatu, beraz, horregatik obra hau. Nik ez dut nahi, nahitaez galdetuko Erabiltzaile zaie the ReadLine barruan, Besterik ez dut kanpo izan daiteke PHP zatitu du eta interprete baimendu besterik inprimatu niretzat. Beraz, ez duzu benetan bakarra dute PHP zatitu multzo bat izatea programan. Benetan izan daiteke horietako zenbait, irekitzea eta horiek itxi behar bezala. Beraz, dezagun begirada bat programak pare batean CS50 IDE non gauden izatearen ideia hori argitzeko espazioak mugatzen du PHP multzo bat baino gehiago. Ados, beraz, fitxategi bat ireki dut Hemen add1.php deitzen. Eta konturatu zer gertatzen ari da hemen. Lehen bezala daukat PHP single mugatzaileak ezarri. To inprima noa mezua, "Emadazu zenbaki bat." Ondoren, naiz lerro bat irakurriko du eta gorde egiten du, aldagai $ num1 ere. Ondoren, naiz berriro inprimatu joan. Give me bigarren zenbakia. Ezin da, denda lerro bat edozein dela ere idatzi dute $ num2 ere. Gehi elkarrekin eta gordetzea $ batura izeneko aldagai bat eragin lezake, eta ondoren, inprimatu, "The bi zenbaki hauen batura da, "eta gero interpellate ez du aldakorreko $ batura. Hargatik exekutatu nahiko luke hau interpretearen bitartez hori dela espero dugu baieztatzeko. php add1.php. Mesedez eman dit zenbaki bat, 3. Mesedez eman dit bigarren zenbaki bat, 4. Bi zenbaki hauen batura 7 da. Hori da, 3 eta 4. ONDO DA? Beraz, ezer izugarri fancy dago. Eta orain dezagun ireki add2.php. Hemen, Dut PHP pare bat espazioak mugatzen du multzo dago, ezta? Lines 1, izango da 3 lerro 1 eta 3 ez dute PHP zatitu. Beraz, noiz interpretearen ikusten horiek, besterik ez da zehazki txu joan zer ez idatzi dut. Beraz, non nago Nire galdetu guztietan egiten. 2 eta 4 lerro On, ikusiko dugu oso familiar $? php mugatzaileak moduko, beraz, bi lerro horiek dira PHP bezala exekutatu egingo da. Eta gero, on line 5, egun hau dut hementxe gauza arraro, ezta? Xebroi hau Galdera-ikur berdin ikurra. Are dut pixka bat gehiago handitzeko. Ikusten duzun hau da, zer naiz $ honi buruz hitz egiten du bertan,? =. Zera gertatzen da, hori da, oso ohikoa zen ireki dugu PHP multzo bat arrazoia mugatzaileak da balio bat inprimatzeko. Eta hori guztia egin behar dugu. Baina ez dago, nahiz eta azkarra da. $? = PHP azkarra da esaten $ antzeko zerbait? batura PHP oihartzuna num1 eta num2 of. Beraz, hau da, beste besterik Hori azkarra. Beraz, programa, php add2.php hau exekutatu bada. Zooma erabili dut pixka bat. Mesedez eman dit zenbaki bat, 4. Mesedez eman dit bigarren zenbakia. Eta geroztik ez dut benetan axola buruz Datu PHP mota, 4,8 esan dezaket. Bi zenbaki hauen batura 8,8 da. Funtzio hori nahiko askoz portatzen Berdin-berdinak espero ohi dugun bezala, baita. Eta beste bat gehiago ireki zituen daukat Hemen eman dice.php deitzen. Saiatu berriz. Bat gehiago hemen izeneko daukat dice1.php, eta horrek ere, ikusi, xebroi galdera horri ditu markatu berdin ikurra notazio han ere, baina konturatu kasu honetan naiz funtzio rand, deituz eta zuk bezala espero liteke ausazko zenbaki bat sortzen du. "Bota duzu," eta nik joan ausazko zenbaki batzuk, mod 6 kalkulatu + 1. Beraz, horrek emango dit zenbakia 1 eta 6 sorta. Gogoratu mod 6 que me emango luke 0 eta 5 sorta zenbaki bat, baina dado erroiluak I simulatu naiz bada, hau da, zer egiten ari naiz hemen, Ez dut nahi dado hauek 0tik joan 5 1etik 6ra doazen dado nahi dut. Eta orain hau lortzeko modu bat da 1 eta 6 sorta me. Hau birritan egiten ari naiz. Beraz, itxuraz gogor ari naiz Programa honetan bi dado. Beraz, nire pantaila garbitu dut, eta hori egin dut php dice1.php. 4 eta 2 bat bildu duzu. Eta programa abiatzean badut Berriro, bota duzu 5 eta 5 bat. Beraz, programa exekutatu dudan bakoitzean, Naiz zenbakiak ezberdinak ditut, dudalako egiten aldi bakoitzean beraz, nik baino gehiago hasi zen. Honez berri bat sortzen joan Niretzat, ausazko zenbakien ezarri. Beraz, ez dugu erabili ezkero den C programak martxan, erabiliko dugu ./ idazten ari programa baten izena da, ezta? Hori guztia nola egin dugun Gure C programak orain arte. Hau egin ahal izango dugu PHP baita Zerbait gehituz izeneko gure PHP fitxategia goian shebang bat. Badakit silly hitz bat mota da. It hash bang labur da. Hori lehen bi pertsonaiek ez da. Gogoratu harridura deitzen dugun Maiz informatikako bang bat. Era berean, baliteke bang zorrotzak izan. Ez da, pare bat modu interpretatzen. Baina, batez ere, bere sort berezi bat agintea duten PHP interpretea ulertzen oh, nahi dut, gisa programa hau exekutatu behar duzu, zein itxuraz / user / bin / php da, eta horrek Benetan non PHP interpretea zehazki, gure sisteman bizi da. Beraz it's-- zer gertatzen da hemen interpretearen ulertzen, ai, Itxuraz naiz ustezko erabili Programa honetan parte fitxategia exekutatzeko. Eta beraz, aukera ematen du Urrats gainetik saltatu ren php something.php esan beharrik. Badira beste harrapaketa bat da Hemen, hau da, hori badugu gure programak nahi espero bezala funtzionatzen, dugu izeneko zerbait egin behar fitxategia baimen aldaketa bat. Eta go-- dugu eta pixka bat hitz egin dugu bit gehiago fitxategia buruz baimena aldaketak Gure MVC bideoa, baina ere nahikoa da esan hau da, zer egin behar duzu izateko egin zure .php exekutagarria fitxategiak. Beraz, dezagun begirada bat bezala Gure azken adibidea baino CS50 IDE ere. Hortaz, hona hemen IDE daukat bi artxibo honetan Ez agertzea dela izan PHP direktorioa izeneko .php. Izeneko funtzio bat daukat add-- Izeneko fitxategi add3 bat dut eta dice2 izeneko fitxategi bat. Beraz, dezagun azkar bat begiratu eta ireki add3. Eta duzun bezala, ikusiko hasieran nire fitxategia shebang hori daukat, ezta? Ikurra harridura hau. Orain, gainera, ikusiko duzu, agian, ohartuko arrazoi batzuk, Ez dut inolako sintaxia dute gehiago azpimarratuz, eta hau da, zer aipatu lehenago dut, bertan zela ez dut izena nire fitxategia .php, ez daukat prestazioa sintaxia gehiago nabarmenduz. Fitxategi honek besterik add3 deritzo. Beraz, hori dut geroago daiteke exekutatu add3 ./ eta ez ./ add3.php batera. Beraz, arrazoia da oraindik fina, oraindik ez da baliozko PHP, baina ez da sintaxia nabarmendu, zeren Fitxategi hau ez da something.php deitzen. Hori da benetako diferentzia bakarra da Hemen, plus shebang. Beraz, ikus dezagun zer gertatzen den Saiatzen naiz, eta programa hau exekutatu. ./ Add3, besterik ez litzateke izango C. Bash naiz. ./ Add3 baimena ukatu. Hau da, zer ari zaren ahaztuz gero ikusteko chmod komandoa erabili den aldatu Fitxategiaren baimenak. Antza denez, erregular PHP da fitxategiak ezin besterik exekutatu. Interpretatu ahal izango dira, baina ez gara pixka bat zerbait ezberdina egiten hemen. Exekutatzen ari gara. Eta beraz, baimenik gehitu behar dut exekuzio-, chmod + x den add3 bat. Ondoren add3 ./ esan dezaket. Mesedez eman dit zenbaki bat. 5, 6. Bi zenbaki hauen batura 11 da. Era berean, dagoeneko chmoded dut dice2, beraz, besterik ez dut idatzi ahal ./ dice2, 1 eta 1 bat desegin duzu, you desegin 5 eta 4 bat, eta abar. Beraz, nahiko askoz PHP sintaxia baten ideia, ezta? Badira asko baten bidez lortu nahi da, badakit. Baina, zorionez, gaur egun ikusten duzun PHP Ez da benetan C ezberdina eta benetan gaitasuna ematen digu gauzak hartzeko Notch bat edo bi. Ez dugu benetan kezkatu gehiegi naizenean ez dugu benetan too askoz kezkatu behar behe-mailako xehetasun dugu kezkatu C batera izan, ezta? Goi mailako paratuko diogu Maila gauza dela PHP ematen du, eta egin gurekin hartu emango dela guretzat lan. Beraz, ematen digu gaitasuna orain, C-tik PHP trantsizioa, direla askoz gehiago programak egiteko konplexu eta agian asko sendoagoak. Beraz, lan-ongi pasatzeko aukera izatea espero dut PHP batera, eta nago Doug Lloyd. Hau CS50 da.