DOUG LLOYD: Kaya na namin tapos ng maraming trabaho sa C, at C ay isang talagang cool wika sapagkat ito ay nagbibigay sa iyo ang kakayahan na sumisid talagang mababang antas sa iyong mga programa. Kumuha naming gumawa ng mga bagay tulad ng talagang minuto bilang pagmamanipula indibidwal na bytes ng memorya. Pagpapabalik na payo talaga daan sa amin na flexibility. Ngunit huwag naming palaging kailangang magkaroon ng na antas ng fine-butil ng detalye sa aming programa? Marahil hindi, di ba? At kung kami ay pagpunta sa may isang kalakalan-off sa pagitan ng pagiging magawa tunay, tunay minutong bagay at tunay, tunay malaking bagay na hindi namin kailangang mag-isip tungkol sa, hindi namin ay may na ipatupad mga tunay na malaking ideya kung na sila ay binuo sa para sa amin, sa pangkalahatan ay para sa pagbuo ng malaking programa o malaking proyekto, marahil kami ay pagpunta sa magkamali sa gilid ng pagkakaroon ng mas maraming mga bagay-bagay na wika na binuo sa para sa atin, sa halip ng pagkakaroon ang mababang antas na mga bagay-bagay. At na kung saan talaga pagdating PHP in. Ngayon, isa sa mga dahilan na magturo namin PHP sa CS50 ay na mabigat ito ay hango sa C. At sa katunayan, sa palagay ko, may mga talagang dalawang ninuno wika na ay napaka-pangkaraniwan sa panahong ito. C at mautal. At ang mga ito ninuno wika dahil sa bawat iba pang mga modernong programming wika na ay bumuo ng mula noon ay inspirasyon sa pamamagitan ng isa o ang iba pang syntactically. PHP ay halos kapareho syntactically sa C, kung saan ang mga wika tulad ng Scheme, halimbawa, kung saan kayo ay maaaring may narinig ng, ay mabigat na inspirasyon sa pamamagitan ng isang wika tinatawag mautal, na kung saan ay isang mas lumang wika. Kaya ang dahilan magturo namin PHP sa CS50 ay na, sa pamamagitan ng pag-alam sa C bilang panimula tulad ng iyong ginagawa sa puntong ito, tumatawag PHP, na kung saan ay nagbibigay sa iyo ng kakayahan upang gawin mas mataas na antas ng mga bagay-bagay kaysa sa C ay, ay hindi na marami ng isang sagabal, dahil ikaw ay mayroon na ng pangunahing ideya ng syntax. C ay nai-paligid para sa halos 45 taon sa puntong ito. PHP ay nai-paligid para sa mga tungkol sa 20 taon. At sa 25 taon sa pagitan ng, mga programmer tinutukoy na gagawin nila marami sa halip ay may mas mataas na mga kakayahan na antas, at ang mga pagkakamali at pakikibaka ng 20 taon sa pagitan ng humantong sa PHP at iba pang mga modernong wika. PHP isang mahusay na pagpipilian ng mga wika para sa software na allow-- para software na- kung saan mo kailangan mong gawin ang mga bagay-bagay na sa C ay talagang kumplikado. Kaya halimbawa, nagtatrabaho sa mga string sa C ay masyadong kumplikado, dahil dahil alam namin, mga string sa C ay talagang lamang array ng mga character. Ito ay hindi isang built-in na uri ng data. O marahil higit sa panimula, isang bagay na hindi namin kahit na nag-cover sa C, kung ano ang kailangan mong gawin ilang networking computer? Lahat tama? C ay may kakayahan na gawin ito, ngunit ito ay kaya arcane at kaya mahirap na talagang gawin. Hindi ba ito ay nice kung ang nagkaroon wika ng isang built-in, madaling paraan upang ipatupad ang networking? At PHP ay isang wika na gumagawa nito, o nangangasiwa nito, lubos ng kaunti pa. Tulad ng sinabi ko, PHP ay tunay mabigat na inspirasyon sa pamamagitan ng C. Ang syntax ay halos katulad na. At sa gayon ito ay dapat sana ay gumawa ng paglipat mula sa isa sa iba pang Medyo hinaan kaysa sa ilang ay maaaring maging iba pang mga wika. Upang simulan ang pagsusulat ng PHP, buksan lamang up isang file na may .php file extension. Technically ito ay hindi talagang kinakailangan, ngunit kung nais mong ang mga bagay tulad syntax highlight sa IDE, kaya type na pangalan, o mga pangalan ng variable, function, alam mo, ang mga keyword ng mga wika ay naka-highlight sa isang tiyak na kulay, ikaw ay karaniwang nais na pangalanan ang iyong mga file na may isang partikular na extension file. Kaya pinangalanan namin ang aming file na may isang .php extension, ngunit pagkatapos ay din sa PHP, lahat ng PHP code isulat namin sa na file ay dapat na nakapaloob sa mga PHP delimiter na ating nakikita dito sa screen. Angle bracket? Php upang magsimula. Pagkatapos ay isulat namin ang lahat ng aming mga PHP code na gusto namin sa pagitan. At pagkatapos? angle bracket upang isara. Kung hindi namin gawin ito, pagkatapos kung ano ang nangyayari sa mangyayari? Hindi ito ang pagpunta sa crash. Hindi Ito ay pagpunta sa talagang sanhi ng kapahamakan ng aming programa. Ngunit hindi ito ay pagpunta sa may ang epekto na gusto namin. Ano kaya ang mangyari, talaga, ay na kapag sinubukan namin at patakbuhin ang program na ito, ang lahat ng bagay na hindi sa pagitan ng mga delimiter ay pagpunta sa ipi-print out verbatim. Hindi Ito ay pagpunta sa talaga execute ang code, ito ay pagpunta sa makatarungan i-print ito verbatim. Ngayon kung bakit ang kaso? Kaya C ay kung ano ang na kilala bilang naipon wika. Ikaw ay malamang na pamilyar sa ang hakbang ng paggawa ng iyong mga programa, pag-on ang C file at h file sa isang solong mga maipapatupad na may make, sa mga partikular na gamit Kalatungin bilang aming compiler. PHP, bagaman, ay hindi may katumbas na ito. PHP ay kung ano ang tinatawag na isang naisalin na wika. At kung ano ang ibig sabihin nito? Well, ang ibig sabihin nito hindi namin ay may upang i-convert aming source code sa zero at mga sa simula pa. Sa halip, may isang programa, na kung saan ay tinatawag din na PHP, na nauunawaan PHP at Maaari uri ng gumawa ito sa fly. Iyan ay hindi talagang eksakto tumpak, ngunit ito ay isang magandang magandang pagkakatulad ng kung ano ang nangyayari. Ito ay pagbibigay-kahulugan sa mga zeroes at mga on the fly. At kaya kung ito ay hindi alam paano i-proseso ang isang bagay, kung ito ay hindi alam kung paano proseso PHP, ikaw ay malamang na nais na ilagay ang teksto na doon, di ba? Ikaw ay malamang na nais na ilagay ang code na ito sa doon, kahit na ito ay hindi sa pagitan PHP-- ang delimiter PHP. But-- kaya hindi ito ay pagpunta upang tanggalin ito para sa iyo, lamang ito ng pagpunta sa isa lamang itapon ito. Kaya ito ay pagpunta sa i-print ito sa screen. Ito tila tulad ng ito ay isang masamang bagay, ngunit talagang ito ay pagpunta sa maging isang tunay na magandang bagay, tulad bibigyan namin ng makita kapag kami makipag-usap tungkol sa PHP web development, dahil ito ay nangangahulugan na maaari naming makalat ang PHP at HTML. Maaari naming gamitin ang mga ito nang sama-sama upang lumikha ng isang mas dynamic na web page. Ngunit higit pa sa na sa video sa PHP web development. Kaya kung ano ang syntax ng PHP? Iyon ay kung ano ang video na ito ay tungkol sa lahat. Usapan natin ang tungkol dito. Kaya upang simulan out, variable. Umiiral variable PHP. Mayroong dalawang malaking lamang pagkakaiba mula sa C. Ang una ay na mayroong walang uri specifier. Wala kaming sabihin int, char, float, ang lahat ng mga bagay-bagay. Hindi namin ay may gawin na anymore. PHP ay isang modernong wika. Maaari itong malaman kung ano ang iyong sinusubukan na gawin o gumawa ng isang pinakamahusay na hulaan bilang sa kung ano ang sinusubukan mong gawin. Kaya na medyo nice. Ang iba pang mga bagay ay na ang lahat ng variable mga pangalan ay may upang magsimula sa isang dollar sign. Iyan ay isang bagay lamang upang masanay. Ito ay isang maliit na kakaiba, dahil ito ay sa gayon ay maunawaan PHP kung ano ang isang variable at kung ano ang hindi. Kaya ang bawat pangalan ng variable nagsisimula sa isang dollar sign. Kaya sa C maaari naming sabihin ng isang bagay tulad nito, int x = 54. Hindi namin ay may gawin na anymore sa PHP. Maaari lang namin sabihin $ x = 54. At maaari naming sabihin, halimbawa, sa C, kung kami ay pound-kasama ang CS50 h header ng file, maaari naming sabihin string phrase = "Ito ay CS50." Hindi namin ay may gawin na sa PHP, bagaman. Maaari lang namin sabihin $ phrase = "Ito ay CS50." At sa katunayan, string ay ngayon isang built-in na uri ng data sa PHP, o sa halip ay nauunawaan PHP kung ano ang isang string ay. Ito ay hiwalay mula sa isang array ng mga character tulad ng ito ay sa C. Ang lahat ng iyong mga paboritong kondisyon na pahayag mula sa C ay magagamit para sa iyo na gamitin pa rin. Kaya hindi sang transition doon. Maaari naming say-- maaari kaming magkaroon ng kung ang mga pahayag tulad nito. kung $ y 43, o $ z = 15. Kaya na medyo tapat. Maaari naming magkaroon ng kung at ng iba pa. Maaari naming magkaroon ng kung at iba pa kung. At mapansin ang isang bagay pretty nice dito, at ito ay isang uri ng isa sa mga pakinabang ng PHP kumpara C, notice kung ano ang function hindi namin ginagamit dito? Kami ay gumagamit == upang ihambing ang isang variable, $ pangalan, sa isang string. Hindi namin mai-gawin na sa C, right? Kinailangan naming gamitin ang isang function na tinatawag na StrComp o StrEndComp o anumang ng mga nauugnay na mga pinsan. At kaya na makita natin ang mga pakinabang. Hindi natin kailangang gawin ang isang bagay bilang uto o marahil unintuitive tulad ng tawag ng isang function na tinatawag na StrComp kung gusto ko lamang na subukan kung ang halaga ay katumbas ng isang string. Hindi ko na lang gamitin ang katumbas katumbas, tulad ng maaari kong gawin ang anumang bagay. Kaya mayroong isang kalamangan. Kung minsan, sa daan, maaari ka makita ang ibang tao na kung bilang isang salita, elseif. At iyon ang OK sa PHP rin. Kaya minsan maaari mong makita na. Ito ay hindi isang typo. PHP talagang nauunawaan elseif. Hindi ko alam kung bakit sila nagpasya na ipatupad iyon, ngunit bilang nakakita kami ng maraming beses sa kabuuan ng aming mga video sa ngayon, Gustung-gusto namin programmers ito kung maaari naming mabilis na gumawa ng mga bagay, kaya pagkuha ng alisan ng space na ay tila isang malaking kalamangan. Kaya na kung at elseif. Kami rin ay may tatlong bagay operator, pagpapabalik tandang pananong colon, para talagang maikling form kung tao o kondisyon sumasanga. At tila, sa mga ito, kung ano ang aming sinusubukan na gawin dito ay magtalaga ng mga variable $ sulat alinman true o false, depende sa kung ang $ var ay isang pang-abakada character. Kaya ito ay medyo kapareho sa isalpha na hindi namin pamilyar sa mula sa C. Ito ay uri ng ang katumbas sa PHP. Ang function na ay tila tinatawag ctype_alpha, ngunit iyan ay kung paano namin ito sa PHP. Kaya ang lahat ng ito ay magiging ay, kung $ var ay isang sulat, $ sulat ay totoo. Kung $ var ay hindi isang sulat, $ sulat ay hindi totoo. Mayroon din kaming lumipat pahayag pa rin. Pagpapabalik namin ang mga mula sa C pati na rin. Sa pinakatuktok doon, na kung paano namin gawin isang bagay tulad ng get int o makakuha ng string. Kaya ito ay may na binuo sa PHP. Hindi natin kailangan ang CS50 library anymore. Maaari lang namin gamitin ang function readline. Ano na ang pagpunta sa gawin ay i-print ang mensahe, "Ang iyong estado, mangyaring, "at pagkatapos ay kumikislap prompt naghihintay para sa mga user sa input Ibang impormasyon. Ngayon pansinin kung ano pa maaari naming gawin sa switch. Kung nagamit mo na ito bago, maaari mong isipin ang switch na ay limitado medyo marami sa integer at character, ngunit ngayon maaari naming gamitin ang mga string. At sa katunayan, ang mga pahayag na lumipat sa PHP ay lubos ng kaunti mas may kakayahang umangkop kaysa sa kanyang mga pinsan mula sa C. Loop. Katulad ng conditionals, ang lahat ng mga ang iyong lumang mga paborito ay pa rin doon. Mayroon kaming habang loop na bilangin mula 1 hanggang 100 sa kasong ito. Kami ay gawin habang loop na bilang mula 1 hanggang 100, at kami ay may para sa loop na bilangin mula 1 hanggang 100. Kaya walang malaking tumalon doon. Ang syntax ay medyo magkano ang eksaktong pareho, maliban na ngayon kami ay gumagamit ng sign variable dollar halip ng deklarasyon integer variable o isang bagay tulad na para sa aming mga counter. Narito ang kung saan ang mga bagay makakuha ng isang maraming mas mahusay kaysa sa C, kahit na. Ang mga array. Kaya pagpapabalik kapag kami ay pakikipag-usap tungkol C, upang para sa amin upang maging at pag-urong set ng impormasyon, kailangan namin upang ayusin ng default sa ideyang ito ng isang naka-link na listahan, dahil C array ay naayos na sa laki. Hindi namin mai-urong ang mga ito. Hindi namin maaaring lumaki ang mga ito. Kinailangan naming reallocate memory at gawin ang lahat ng kabaliwan na ito o gumamit ng mga listahan ng link, na kung saan tumagal ng hanggang lubos ng kaunti pang espasyo. Ngunit sa PHP, array ay hindi nakatakda sa laki anymore. Maaari silang lumaki at sila ay maaaring pag-urong. Kaya muli, mga 20 taon na ang umiiral sa pagitan ng mga unang release ng C at ang unang release PHP, napagpasyahan naming na, alam mo, ay ito ay talagang mahusay na kung maaari naming gawin ito. At kaya ipinatupad namin ito. Kaya array PHP ay hindi naayos sa laki, at dahil PHP ay hindi tunay Mayroon front nakaharap programmer iba pang bagay ng uri, maaari naming ihalo uri ng data sa aming mga array, masyadong. Kaya kahit na hindi namin ay may na gamitin ang lahat ng integer o lahat ng mga lumulutang na puntos, maaari kaming magkaroon ng isang halo ng lahat iba't ibang mga uri sa isang solong array. Ang pagdeklara ng isang array ay medyo direkta. Ito ay tulad ng anumang iba pang mga variable. $ nums = array (1, 2, 3, 4), array pagiging isang function na binuo sa PHP na ay lumikha ng isang array para sa iyo. Lumilikha ito ng isang hanay ng mga apat na mga halaga, numero sa mga kaso na ito, na tinatawag na $ nums. At mayroong higit sa isang paraan upang gawin ito. At kami ay pagpunta sa makita ang mga ito ng maraming sa PHP. PHP ay binuo sa pamamagitan ng maraming iba't ibang mga tao at lumalaki at lumalaki at lumalaki. May ay karaniwang hindi lamang ng dalawa o tatlong mga paraan upang gawin ang isang bagay sa PHP, mayroong karaniwang tulad ng 10 o 20. Narito ang isa pang lamang ng sentido paraan upang magpahayag ng isang array. $ nums = square bracket 1, 2, 3, 4. Kaya ito ay uri ng katulad sa anggulo C ni br-- curly notation suhay, sa halip. $ - o magiging int nums square bracket ay katumbas ng kulot suhay 1, 2, 3, 4. Sa PHP ito ay $ nums = square bracket 1, 2, 3, 4. Ngunit ang parehong mga halimbawa dito bigyan ako isang hanay ng mga apat na sa kasong ito integer. Paano kung gusto kong mag-tak ng isang bagay sa ngayon? Well maaari ko bang sabihin lamang $ nums 4, na muli, kami ay pa rin ang pagbibilang mula 0 dito sa PHP, ay ang ika-limang element ng array. Maaari ko lang sabihin na. Hindi ako pupunta sa magdusa isang seg kasalanan, dahil ang aking array ay lamang pagpunta sa paglaki upang mapaunlakan iyon. Iyan ay medyo nice, di ba? At sa katunayan, hindi ko kahit na kailangan upang tukuyin kung saan gusto ko upang ilagay ito. Maaari ko bang sabihin lamang ito at lamang tak ito mismo sa sa dulo, o maaari ko kahit lamang sabihin $ nums 20 o 1,000. Ito ay hindi talagang mahalaga. Ito ay pa rin lamang ng pagpunta sa tak ito mismo sa sa dulo. Kaya ang maaari kong lalaki, at as-- hindi namin hindi pagpunta upang masakop ito sa dito, ngunit maaari kong magdugtong o strip mga elemento mula sa array pati na rin, at ang mga array ay pag-urong upang mapaunlakan na ngayon nawawala o walang laman na espasyo. May isa pang paraan upang tak isang bagay papunta sa isang array, kung saan ay isang function na tinatawag na array_push. Kaya muli, lamang ang ideyang ito ng pagiging maaaring gumawa ng mga bagay sa maraming iba't ibang paraan. Kaya nakakita kami ng tatlong iba't ibang mga paraan ngayon sa tak ibang sangkap papunta sa isang array. Kaya ito ay nagdadagdag ng isa pang elemento sa dulo ng $ nums array. At maaari naming ihalo up ang aming mga uri ng data. Kaya maaari akong magkaroon ng isang hanay ng mga hindi 1, 2, 3, 4, ngunit 1, totoo, 3, 4, na kung saan ang tunay na ay isang Boolean, at pagkatapos ay kung gusto kong tak sa isa pang elemento sa na array, marahil ng isang string, ang string "limang," kaya kong gawin iyon. At ngayon ang aking array gagawin 1, totoo, 3, 4, lima. Ang salitang limang, hindi ang integer 5. Kaya ng maraming flexibility doon. Makakakuha ng flexibility Ang mas mabuti, bagaman, dahil may suporta para sa isang bagay na PHP tinatawag na isang nag-uugnay array. At kami uri ng vaguely usapan tungkol uugnay array sa C sa konteksto ng hash talahanayan, dahil kung ano ang nag-uugnay array ay talagang lahat tungkol ay ang paggawa ng key pares halaga mappings. At sa kasong ito, ang keys-- kung kami ay pamilyar sa mga array mula sa C, ang mga susi ay index numero. 0, 1, 2, 3. At ang halaga ay kung ano ang nakita namin na array 0, array 1, array 2, at iba pa. Kaya ang susi ay ini-index, at ang mga halaga ay kung ano ang nasa lokasyong iyon array, tinukoy sa pamamagitan ng index na. Ngunit sa PHP, hindi kami ay may sa gawin ito kuru-kuro ng array 0, array 1, array 2 anymore. Maaari naming ngayon ng aktwal na mga salita na mga key map sa mga halaga. At kaya ako ay maaaring sabihin ng isang bagay tulad nito. Kaya kong lumikha ng isang array gamit ang square bracket syntax tulad ng sumusunod. $ pizza = square bracket "cheese" at pagkatapos ay ang ganitong uri ng double arrow pagtatanda, 8.99, "pepperoni," palaso 10.99-- 9.99, at iba pa. At kaya kung ano ang nangyayari sa dito? Ano ang tinitingnan talagang ginagawa ko? Lumilikha ako ng key mappings pares ng halaga. Kaya sa halip na sinasabi, halimbawa, pizza 0, piraso 1, pizza 2, Maaari ko bang sabihin ngayon pizza keso, pizza pepperoni, at sumangguni sa mga halaga kaugnay sa kanila. Kaya narito ang aming mga susi sa green. Keso, pepperoni, gulay, kalabaw na manok. Narito ang arrow na gumagawa ang key na ito pares halaga mapping. At pagkatapos ay narito ang mga halaga sa na lokasyon array. Kaya ito ay tulad ng sinasabi array 0 katumbas 8.99. Ang susi ay 0. Ang halaga ay 8.99. Maaari ko bang sabihin ngayon array keso, o sa kaso pizza cheese, cheese ay ang susi, at kung ano ang nakita ko sa pizza cheese ay 8.99. Iyan ay ang halaga na mahanap ko doon. Kaya ang maaari kong sabihin ang mga bagay na gusto. $ pizza cheese = 7.99. Sabihin Nagkakaroon ako ng isang benta. Gusto kong dis-- gusto kong i-drop presyo ng cheese pizza. O maaari ko bang gamitin ang mga gulay pizza bilang bahagi ng isang kondisyon, o maaari ba akong magdagdag ng isang bagong sangkap sa aking array, tulad lamang na maaari kong gawin dati. Maaari ba akong magdagdag ng isang bagong sangkap na ito sa uugnay array gamit ang key "bacon" at ang halaga 13.49. Ngunit ang ganitong uri ng nagpapakilala ng problema, kung sa tingin mo tungkol sa mga ito para sa isang segundo. Paano namin umulit sa pamamagitan ng array na ito? Right? Sa C, gusto naming magkaroon lamang ng isang para sa loop, kadalasan, na nais tumakbo mula 0 hanggang ang laki ng array minus 1. Array ay may n elemento sa hindi, ang wastong index ay 0 hanggang n minus 1. Kaya maaari naming gamitin para sa isang loop sa magbasa-basa sa bawat solong elemento. Ngunit iyon ay hindi tunay ang kaso anymore, right? Ngayon kung saan mayroon kaming key pares halaga mga pagmamapa kung saan ang mga susi ay salita, paano ko umulit sa namin ang lahat ng mga salitang ito? Well, sa kabutihang-palad, PHP ay isang paraan upang harapin ang mga ito masyadong, at sa gayon kami ay lumipat pabalik sa loop para sa isang segundo upang ipakilala ang isang ika-apat na uri ng loop na umiiral sa tinatawag na PHP isang foreach loop. At kung ano ang isang foreach loop ay ay ito ay isa lamang ang parehong ideya. Maaari mong gamitin ito para sa anumang uri ng array. Ngunit ito ay isa lamang ang parehong ideya bilang isang para sa loop, maliban sa halip ng paggamit index na numero, ikaw lamang na ito ay may kakaiba syntax kung saan tumawag ka sa bawat solong elemento ng isang pangalan para sa mga layunin ng loop. Kaya sa kasong ito, foreach ($ array bilang $ key). Karaniwang, pati na tala comment, sa loob ng na foreach loop, ito ay pagpunta sa pumunta sa paglipas ng bawat solong elemento ng $ array, na karaniwang magiging isang nag-uugnay array, ngunit maaari talagang maging anumang uri ng array na gusto mo sa PHP. At sa bawat oras na sa para sa isang loop maaari ka may sinabi $ array square bracket $ i, maaari mong sabihin lamang $ key. Kaya na $ key ay nagiging isang alias para sa bawat index ng iyong PHP uugnay array, at sa gayon ay maaari mong gamitin ito tulad na. Kaya halimbawa, na namin ngayon nakuha ang aming pizza array. Uri ng ko na nakatago ang mga ito sa sulok doon upang maaari naming gamitin ang mga ito upang gawin ang isang mabilis na halimbawa. Kung aking sabihin foreach ($ pizza bilang $ pizza), well, kung ano ang nangyayari? Well, ako pagpunta upang umulit sa pamamagitan ng bawat single element ng array $ pizza, at sa paggawa nito, ako pagpunta sa tumawag sa bawat elemento, kapag sa loob ako ng katawan ng na para sa loop, $ pizza. Kaya na ang mga uri ng isang stand-in, pagpapabalik, na ang $ pizza ay isang stand-in para sa mga kasabihan $ pizza square bracket $ i kung gumagamit kami ng isang para sa loop, kung saan kami maaaring pumunta mula sa $ i = 0 sa, sa kasong ito, $ i = 3. Kung hindi namin ginawa magkaroon ng pangunahing mga pares ng halaga dito, ito ay magiging element 0, 1, 2, 3, at gusto naming gamitin para sa isang loop upang pumunta $ pizza 0, $ pizza 1, $ pizza 2, $ pizza 3. Kaya ngayon lang $ pizza ay humahalili para sa mga indibidwal na key. Kaya kung ano ang mga ito upang i-print out? Ako nagpi-print out $ pizza. Ano ako pagpunta upang mahanap at-- kung na-print ko out $ pizza, $ i? Right? Kung ako pagpunta upang i-print out ang elemento ith ng pizza, kung ano ako pagpunta sa i-print? Pupunta ako upang i-print out ang mga halaga sa lokasyon na iyon, di ba? Tulad ng kung kami ay ginagawa ito sa konteksto ng C, hindi namin karaniwang gamitin ang aming iterator variable, int i = 0, i ay mas mababa sa 3, i ++, i-print out 0, 1, 2, 3. Kami ay pag-print out array 0, array 1, array 2, array 3. At kaya kung ano ang mga print out ito. Ito ay ang listahan ng presyo. 8.99, 9.99, 10.99, 11.99. Ngayon ang isang mabilis na tandaan dito. A foreach loop ay hindi kinakailangang i-print ang mga bagay-bagay sa order. Ito ay hindi garantisado. Karaniwan itong ginagawa. Karaniwang Ito ay batay sa mga order sa kung aling mga elemento ay idinagdag sa array, kaya makisama lamang na nasa isip. Hindi ito maaaring maging sa order. Ngunit isang foreach loop ay umulit sa kabuuan ng bawat solong elemento ng array na pinag-uusapan. Sa kasong ito, muli, na array ay $ pizza. Maaari ko bang baguhin ang syntax, bagaman, kung Gusto ko pareho ang susi at ang halaga. Sa halip na sabihing $ pizza bilang $ pizza, maaari kong sabihin na ito. At kung titingnan mo kung ano na ko highlight sa berde dito, tila isang key pares halaga mapping. At kaya kung you-- kahit na kayo ay hindi lubos na sigurado kung ano ang pagpunta sa gawin, maaari mong marahil hulaan na $ sahog sa ibabaw ay pagpunta na ang susi sa kasong ito at $ presyo ay magiging ang halaga. Kaya ako na humahalili ngayon ang bawat elemento ng $ pizza bilang isang susi pares ng halaga, at ngayon ay maaari kong sumangguni sa ang susi at ang halaga, na kung saan ay maaaring sa madaling-magamit, halimbawa, ang mga sumusunod. "Isang buong" - ito ay isang pulutong ng mga printing nangyayari here-- "Isang buong" sahog sa ibabaw "pizza ay nagkakahalaga ng $" presyo, at pagkatapos ay Print ko out sa isang panahon at isang backslash n. Kaya ngayon, notice muli May access ako sa isang susi, $ sahog sa ibabaw, at isang halaga, $ presyo. Kaya maaari mong hulaan kung ano ito ay pagpunta upang i-print out? May isang pulutong ng mga pahayag print, ngunit mayroon lamang isang backslash n, kaya ito ay pagpunta upang i-print ang isang bagay sa isang entire-- sa isang solong linya ng code. Kung ang maaari kong sumangguni sa mga key at ang mga halaga, at pagkatapos ngayon, sa halip na lamang pagiging able upang i-print out ang mga presyo, Maaari ko bang i-print ang isang bagay tulad nito. "Isang buong cheese pizza nagkakahalaga ng $ 8.99." At ngayon ako gamit ang lahat ng mga keys-- keso, pepperoni, gulay, kalabaw chicken-- at ang mga halaga. 8.99, 9.99, 10.99, 11.99 Kaya ito lamang ay isang iba't ibang mga paraan upang gawin ang isang foreach loop na sa halip ng lamang ng pagbibigay sa iyo ng access sa mga halaga, lamang ay nagbibigay sa you-- nagbibigay ito sa iyo access sa mga key at ang mga halaga. Kaya pag-print out ang impormasyon. Nagawa ko na ng isang pares ng mga iba't ibang paraan, maaari kang magkaroon ng napansin. Ang dalawang mga function na namin lalo nakita ay i-print at echo. At para sa halos lahat ng mga layunin at mga layunin, ang mga ito ay eksakto ang parehong. They're-- mayroong isang napaka-pino pagkakaiba na hindi kahit na nagkakahalaga ng pagkuha sa, ngunit isa lamang sa lahat ng dako maaari mong gamitin ang naka-print na maaari mong malamang na gamitin ang echo rin. At hindi iyon ang dalawang lamang. Ay may maraming mga iba't ibang PHP mga paraan upang i-print ang mga bagay-bagay sa labas, at ito rin ay may mga paraan upang pagsamahin variable sa gitna ng string. Kaya isipin ang mula C, gawin mo matandaan kung ano ang mga function maaari naming gamitin upang palitan ang mga variable sa mga bagay na gusto naming i-print out? Ito ay malamang na gamitin aandar pa ng maraming. printf, di ba? Kaya ito ay kung ano ang nagkaroon kami bago sa loob ng konteksto ng aming foreach loop. Nagkaroon kami ng mga limang hiwalay na pahayag print, dahil na ay ang tanging paraan ko talagang alam sa oras paano i-print out ng mga mensahe. Hindi ko alam kung paano upang maisama ang variable $ magara sa aking code na PHP. Well, kung ako lang kinuha ng ligaw na hula, printf, aktwal na ito ay nakapagtrabaho. printf ay isang function na maaari kong gamitin sa PHP, ako tulad ng ito ay maaaring gamitin lamang sa C. At kaya ang isang bagay na tulad nito, printf, muli, kami ay pamilyar sa mga iyon. Ang unang% s ay papalitan sa ang halaga ng $ sahog sa ibabaw. Ang ikalawang% s ay papalitan sa ang halaga ng $ presyo. At kaya ako interpellating, na kung saan ay lamang ng isang magarbong paraan ng mga sinasabi ako malagkit ang variable sa lokasyon na iyon. Kaya ako i-plug sa $ magara na kung saan ang red% s ay at $ presyo kung saan ang mga asul na% s ay, at pagkatapos ay Gusto ko makuha ang mensahe, "Isang buong cheese pizza nagkakahalaga ng $ 8.99." Hindi ang tanging paraan na maaari kong gawin ito, bagaman. Siguro Gusto ko nais na gamitin ang paraan. Ito ay talagang kung ano ang pinaka-karaniwang tinatawag na variable sa nagsasalita. Maaari ko bang gamitin ang isang echo. Maaari ko bang gamitin ang isang print masyadong, dahil kakailanganin namin makita. Ngunit ano ang nangyayari dito? Una sa lahat, kailangan kong makatakas ang dollar sign. Dahil tandaan, noong tayo ay talagang pag-print out ang mga presyo ng pizza, Ako ay tunay na pag-format ng mga ito bilang mga numero ng salapi sa isang dollar sign. Ngunit kami ay gumagamit ng mga palatandaan din dollar upang kumatawan sa mga pangalan ng variable sa PHP, at sa partikular na ako kapag ako ay gamit ang paraan ng kulot suhay variable Ang pamamaraan sa nagsasalita, kailangan ko upang makatakas ang aking dollar sign kaya hindi Sa tingin ko pakikipag-usap tungkol sa isang variable. Ito ay pagpunta sa aktwal na, literal-print ng isang dollar sign. Kaya ang uri ng analogize ito sa ano ang nakikita mo sa dulo doon. Ito ay hindi tunay print backslash n, tama? Ito ay kopya ng isang bagong linya ng character. Ito is-- hindi ito ay pagpunta sa sign backslash dollar print, ito ay pagpunta sa i-print out lang dollar sign character. Parehong ideya. Escape mga pagkakasunud-sunod, ano mga bagay na ito ay tinatawag na. Ngunit mapansin na hindi ko ginagawa anumang uri ng mga pamalit% s, Lamang ako ng literal i-plug sa mga variable na ito. At kaya sa this-- kung ano ang mangyayari dito ay na ang halaga ng $ topping-- muli, pagsunod lamang sa kung ano nakaya naming pakikipag-usap tungkol sa gayon far-- cheese ay makakuha ng naka-plug in doon. At $ presyo ay kahit anong halaga ay sa pizza, square bracket, keso, na kung saan ay 8.99. At kaya ay i-print out ito rin "Isang buong cheese pizza nagkakahalaga ng $ 8.99." At tulad ng sinabi ko, maaari ko bang gamitin i-print dito sa halip ng echo, at ang pag-andar na medyo marami ang eksaktong pareho. Mas i-print out ang parehong bagay. May isa pang paraan upang gawin ito, at ito ay isa pang kapakinabangan ng PHP nagtatrabaho sa mga string. Maaari naming gawin ang string pagdudugtong. Ito namin mai-gawin sa C, masyadong, gamit ang isang function na tinatawag na strcat, ngunit muli, kami ay mag tumawag hiwalay na pag-andar. Ito ay ang buong gulo na gawin. Kinailangan naming pound-isama string.h. Ito ay isang produksyon, tama? Ngunit ngayon lamang ang maaari kong gamitin ang tuldok operator na magkasama pagdugtungin string. Kaya ako concatenating "Isang buong" at pagkatapos anuman ang halaga ng $ sahog sa ibabaw ay, at pagkatapos ay isa pang string, "mga gastos pizza $" at pagkatapos concatenating anuman ang halaga ng $ presyo ay, at pagkatapos ay sa dulo Ako tacking sa panahon backslash n. At kaya ito gagawin din i-print out "Isang buong" - muli, kung pinag-uusapan natin ang tungkol sa unang elemento ng na pizza array-- "Isang buong cheese pizza nagkakahalaga ng $ 8.99." Panahon, backslash n, muli, na may ang $ sahog sa ibabaw at $ substituting presyo para sa kung ano kami ay tinukoy sa aming foreach loop bilang ang susi pares halaga mapping. PHP ay maaaring panghawakan ang pag-andar. Tungkulin ay ang uri ng mga mahalaga sa C, tulad ng nakita natin. Tulad ng variable, hindi namin kailangan upang tukuyin ang uri ng return ng function, dahil ito ay hindi talagang mahalaga. At hindi namin tukuyin ang mga uri ng data ng anumang mga parameter, dahil hindi sila tunay bagay, tulad ng nasaksihan namin sa PHP. Ang bawat function ay ipinakilala may pag-andar ng keyword. Iyon ay kung paano namin ipahiwatig sa PHP na kung ano ang pinag-uusapan natin ang tungkol ay isang function. At hindi natin kailangang pakikitungo sa mga pangunahing sa lahat, dahil ang interpreter, ang PHP interpreter, gumagana mula sa itaas hanggang sa ibaba, alintana. Kung nakikita ito maaari kang gumawa ng isang function na tawag, makikita ito pumunta mahanap ang function na tawag, kahit na ito ay dumating sa ibang pagkakataon. Ngunit ito ay pagpunta upang basahin mula sa itaas hanggang ibaba, kaya hindi namin kailangan upang tukuyin, dito ay kung saan ka magsimula. Magsisimula ka sa 1 linya ng iyong PHP at trabaho mula doon. Kaya dito ay kung paano namin lumikha ng mga isang function na tinatawag hard_square. Ito tila tumatagal ng isa parameter, na kung saan ako ng pagtawag $ x. Ang function na ito ay kumplikado lamang upang ilarawan ang iba't-ibang mga bagay-bagay. Mayroon pa kaming mga halaga ng pagbabalik. Gumagamit ako ng isang para sa loop dito. Ngunit ito ay talaga lamang, kung ano ang halaga sa ay $ x beses lamang $ x. Ano ang tunay na ako ng paggawa ay lamang ng pagdagdag x sa 0 x beses o $ x sa zero ulit $ x. Ngunit ito ay mabisa nang eksakto ang katulad ng pag-multiply ulit $ x $ x. Maaari ko pa rin bumalik ng isang halaga, sa kasong ito $ resulta, at ginawa ko na ang isang function sa PHP. Narito kung paano mo maaaring gamitin ito sa konteksto. Kaya siguro ako sa loob ng ilang mga file na PHP. Pansinin sa blue doon na Ginamit ko na ang aking delimiters PHP, angle bracket tandang pananong php. Sa pagitan ng mga ito ay ang lahat ng ang PHP na gusto kong isulat. Kaya ako tila pagpunta sa get-- Pupunta ako upang i-prompt ang user upang bigyan ako ng isang numero, tindahan na variable, store sa na variable $ x, kahit na ano sila ay ibinigay sa akin. Pagkatapos ako pagpunta sa echo hard_square ng halaga na iyon, at tila pagpunta sa tak sa isang bagong linya pati na rin, at pagkatapos ay sa susunod bibigyan ko tukuyin ang mga function hard_square kaya na kapag gumawa ako ng tumawag upang hard_square, nakakaalam kung ano ang sinasabi ko. Ngayon, maaari ko ring gawin isang bagay na tulad nito. Ito ay bahagyang naiiba. Ito ay halos eksakto ang katulad ng kung ano ang nakita natin dati, maliban sa halip na sinasabi lamang $ x doon bilang parameter na hard_square, Ako sinasabi $ x = 10. Kaya ito ay isang halimbawa ng nagtatanggol programming, nagbabantay sa iyong mga programa laban sa nakakahamak na mga gumagamit. Ito ay isang paraan upang gawin ang ilang mga error checking na hindi kami talagang Mayroon bilang isang pagpipilian sa C. could namin kailanman tukuyin ang mga default na halaga ng isang bagay. Kami ay laging may upang suriin kung ang, halimbawa, kung gumawa kami ng isang tawag sa GetString, ito ay pinaka-wastong kung kaagad pagkatapos naming naka-check na, nasuri namin kung ang mga string na nagbigay sa amin ang user ay hindi katumbas ng null, dahil hindi namin nais na magsimula nagtatrabaho sa isang null string. Dito, ito ay isang paraan mag-ingat laban na iyon. Kung ang user ay hindi nagbibigay sa amin ng isang bagay sa anumang paraan, sa kung ano ang mga namin pagpunta sa gawin? Well, kami lang sabihin kahit anong sila ay hindi nagbibigay sa amin, lang kami ng pagpunta sa halip na plug sa 10. Kaya kung hindi nila magbigay sa amin ng isang halaga, gamitin lamang ang 10 sa pamamagitan ng default. At kaya dito, mapansin na ako sa paggawa ng isang call to hard_square, ngunit walang prompt sa mga user, i-right? Ako sa paggawa ng isang walang laman na tawag. Ngunit ang aking mga pag-andar hard_square ay umaasa sa isang parameter. Ano itong pagpunta sa print out? Ito ay pagpunta sa i-print ang 100, di ba? Dahil ang hindi paggamit ng mga bigyan ako ng kahit ano. At kaya lang ako pagpunta sa ipalagay na 10-- 10 ay ang default na halaga. At kaya ito ay i-print out 100 sa kanyang sariling linya. PHP file ay hindi na lamang maging isang solong file. Maaari mong ipagsama ang maramihang mga file ng sama-sama, nais lamang na maaari mong sa C. Ang paraan Ginawa namin na sa C ay karaniwang na gawin ang isang #include upang makakuha ng mga file na header hinila in. Hindi namin gawin iyon sa PHP. Ginagawa namin ang isang bagay na tinatawag require_once. At pagkatapos ay may ito buong bagay, ano ito __dir__? Iyan na lamang ng isang espesyal na variable, o mga espesyal na pare-pareho, talaga, na tumutukoy kung ano iyong kasalukuyang direktoryo ay. At kaya ito ay pagpunta sa hitsura sa iyong kasalukuyang direktoryo para sa isang file na tinatawag na cs50.php sa halimbawang ito dito, at ito ay pagpunta sa stick file na sa tuktok ng iyong programa PHP, sa pag-aakala na ilagay mo ang nangangailangan ng isang beses na linya sa tuktok ng iyong mga file na PHP. Kaya PHP ay una na ginagamit, ngunit hindi ginagamit ng eksklusibo, bilang isang wika para sa mga programa ng web-based. Iyan ay talagang kung paano ito ay dumating na. Ngunit ito ay isang buong wika, tulad ng nasaksihan namin. Nakita namin ang halos lahat ng mga bagay-bagay na maaari itong gawin na katulad ng sa C, at maaari itong gawin ng isang ano ba ng isang pulutong ng higit sa na. Ngunit dahil sa ito ay isang buong wika at kami maaaring gawin command line programming sa loob nito. Maaari naming patakbuhin line programa command. Lahat ng na kinakailangan upang patakbuhin ang isang command program line na nakasulat sa PHP ay na mayroon ka ng isang interpreter PHP. Kaya ito ay isang uri ng kahalintulad sa pagkakaroon ng isang compiler sa iyong system kung gusto mong ipunin ang iyong C code upang buksan ito sa mga maipapatupad na file. Kailangan mong magkaroon ng isang interpreter PHP na umiiral sa iyong system sa gayon ay maaari mong bigyan ng kahulugan ang mga file na PHP. Sa pag-aakala mo, at karaniwan interpreter na ito ay tinatawag na PHP, at ito ay karaniwang kasama sa karamihan download o gusali ng PHP na maaari kang makakuha ng online, at tiyak ang pangalan ng interpreter PHP na namin sa CS50, IDE. Lahat ng gagawin mo ay i-type ang php file. At kung ano ang iyong programa pagpunta sa gawin ay ito ay pagpunta upang tumakbo sa pamamagitan ang interpreter, ito ay pagpunta sa huwag pansinin ang lahat ng bagay na wala sa pagitan tanong mark-- o, angle bracket tandang pananong php, ang delimiter PHP, at i-print ito, at ito ay bigyang-kahulugan at magsagawa ng mga code sa loob ng iyong delimiters PHP. Kaya sabihin pop higit sa CS50 IDE at may isang tumingin sa isang pares ng mga file na PHP, pagpapatakbo ng isang pares ng mga file na PHP, sa command line interface ng CS50 IDE. Kaya dito ay namin sa CS50 IDE, at kinuha ko na ang kalayaan ng pagbubukas ng isang file na tinatawag na hello1.php. At tila, ang mga nilalaman ng mga ito file ay lamang ang delimiter PHP doon, at sa pagitan, echo ("hello, world"). Ito ay isang medyo simpleng programa PHP. Lamang ako ng pagpunta sa mag-scroll pababa sa aking terminal na window dito, at ako pagpunta sa uri ng php hello1.php, pindutin ang enter. Hello, mundo. Iyon ay marahil kung ano ang namin umaasa ito gawin, di ba? Halina't up at tumagal isa pang tumingin sa isang program. hello2.php. Medyo marami ang mga parehong bagay, Hindi maraming nagaganap dito. Oras na ito, bagaman, ako pagpunta upang i-prompt ang user ay upang bigyan ako ng kanilang mga pangalan. Gumagamit ako ng muli na readline function. $ name = readline. Iyan ang prompt, "Ano ang pangalan mo?" Malas ako sa pag-print ito sa sarili nitong linya. At pagkatapos, sa gayon ang mga linya sa ibaba na ang magiging prompt na kung saan ang user ay maaaring ipasok ang kanilang pangalan. At pagkatapos ay ako ng isang maliit na piraso ng variable sa nagsasalita dito sa linya 3 upang i-print out "Hello" at kahit anong uri ng user. Kaya ito ay kahalintulad sa sinasabi, Hello, kuwit,% s kung kami ay gumagamit ng printf sa C. Kaya sabihin pumunta at bigyang-kahulugan ang programang ito. Kaya muli, kukunin ko na mag-scroll pababa sa aking terminal na window. php hello2.php. Anong pangalan mo? Doug. Hello, Doug. Mayroon din akong ibang file na tinatawag na hello3.php. Pupunta ako upang i-clear ang aking screen na may Control L, at ako pagpunta upang maipatupad na. Anong pangalan mo? Doug. Hello, Doug. Kaya ang pag-uugali ay kapareho hello2.php, ngunit kung bakit ito hello3.php? Well, narito ang mga pagkakaiba. Sa kasong ito, ang paunawa na sa linya 1 dito, Mayroon akong isang bagay na hindi sa pagitan ng mga delimiter PHP. Tingin lang ako sa pag-print ng out-- o ako nag-type lang, "Ano ang pangalan mo?" Kapag nakikita ng mga ito ang interpreter PHP, ito ay walang ideya kung paano bigyang-kahulugan ang mga ito bilang PHP, at kaya sa halip na nanghihina, lamang ito ay pagpunta sa dumura ito. Kaya mapapansin sa linya 3 ngayon, ang tawag na readline, walang prompt anymore. Tingin lang ako sa tunay na nangyayari to-- kapag nakikita ito ng interpreter PHP, ito ay pagpunta sa i-print out "Anong pangalan mo?" Pagkatapos nakakakita nito, oh, OK, here's-- lahat ng iba pa ay magiging kahulugan bilang PHP, kaya na ang dahilan kung bakit ito gumagana. Hindi ko na kailangang palaging prompt ang to-- user sa loob ng readline, Maaari ko na lang ito sa labas ng delimiters PHP at payagan ang mga interpreter upang i-print lamang ito para sa akin. Kaya hindi tunay na mayroon lamang na magkaroon ng isang hanay ng mga delimiter PHP sa inyong programa. Maaari mong aktwal na magkaroon ng ilan sa kanila, pagbubukas at pagsasara ng mga ito kung kinakailangan. Kaya sabihin tumagal ng isang pagtingin sa isang pares ng mga programa sa CS50 IDE kung saan kami ilarawan ito ideya ng pagkakaroon maramihang mga hanay ng delimited PHP. OK, kaya binuksan ko ang isang file dito na tinatawag add1.php. At pansinin kung ano ang nangyayari dito. Tulad ng dati, mayroon akong isang itakda single PHP ng delimiter. Pupunta ako upang i-print out ang mensahe, "Pakibigyan ako ng isang numero." Pagkatapos ako pagpunta upang basahin ang isang line at store na ito sa mga variable ng $ num1. Pagkatapos ako pagpunta upang i-print out muli. Bigyan mo ako ng isang pangalawang numero. Basahin ang isang linya mula sa gumagamit, store ano man ang kanilang nai-type sa sa $ num2. Magkasama Idagdag ang mga ito at mag-imbak na magresulta sa isang variable na tinatawag na $ sum, at pagkatapos ay i-print out, "Ang kabuuan ng mga dalawang numero ay, "at pagkatapos ay tanungin ang nagsasalita may mga variable ng $ sum. Tumakbo lang ito Kaya sabihin sa pamamagitan ng interpreter upang kumpirmahin na ito ay kung ano ang inaasahan namin. php add1.php. Pakibigyan ako ng isang numero, 3. Pakibigyan ako ng isang pangalawang numero, 4. Ang kabuuan ng mga dalawang numero ay 7. Iyan ay 3 plus 4. SIGE? Kaya masyado fancy wala doon. At ni magbukas add2.php ngayon hayaan. Dito, Mayroon akong isang pares ng PHP delimited set doon, tama? Linya 1, 3-- linya 1 at 3 walang delimiter PHP. Kaya kapag ang mga interpreter nakikita ng mga ito, ito lamang pagpunta sa sabihin ang lahat nang eksakto kung ano ang aking nai-type mo doon. Kaya na kung saan ako paggawa ng lahat ng aking paramdam. On line 2 at 4, makikita natin ang tunay pamilyar $? php uri ng delimiters, kaya ang mga dalawang linya ay pagpunta sa execute ng PHP. At pagkatapos ay sa 5 linya, Mayroon akong na ito kakaiba bagay dito mismo, di ba? Ito angle bracket tandang pananong katumbas sign. Kukunin ko ring mag-zoom in nang kaunti pa. Maaari mong makita ito ay kung ano ako pakikipag-usap tungkol doon, ito $? =. Ito ay lumiliko out na ito ay kaya karaniwan na ang dahilan na magbukas ng isang set ng PHP delimiter ay upang i-print out ng isang halaga. At na ang lahat kami ay pagpunta sa gawin. Ngunit mayroong kahit shorthand para sa na. $? = Ay shorthand PHP para sa sinasabi isang bagay tulad ng $? php echo ang sum ng num1 at num2. Kaya ito ay isa lamang takigrapya para sa na. Kaya kung nagpatakbo ako ng programang ito, php add2.php. Kukunin ko mag-zoom pababa sa isang maliit na bit. Pakibigyan ako ng isang numero, 4. Pakibigyan ako ng isang pangalawang numero. At dahil hindi talaga aalaga ko tungkol sa uri ng data sa PHP, maaari kong sabihin 4.8. Ang kabuuan ng mga dalawang numero ay 8.8. Function na kumikilos medyo marami eksaktong katulad namin ay inaasahan, din. At Mayroon akong isa pang binuksan hanggang dito na tinatawag dice.php. Subukan ito muli. Mayroon akong isa pang dito na tinatawag na dice1.php, na rin, makita, Wala na angle bracket tanong markahan equal sign notation sa doon, ngunit mapapansin na sa kasong ito ako pagtawag sa function rand, na tulad ng sa iyo maaaring asahan bumubuo ng isang random na numero. "Pinagsama mo a," at ito ay pagpunta sa makalkula ang ilang mga random na numero, mod 6 + 1. Kaya makikita na bigyan ako ng number sa hanay ng 1 hanggang 6. Tandaan na mod 6 ibigay sa akin isang numero sa hanay na 0 hanggang 5, ngunit kung ako ang pagtulad sa dice roll, na kung saan ay kung ano ang ginagawa ko dito, Hindi ko gusto ang mga dice upang pumunta mula sa 0 hanggang 5, gusto kong dice na pumunta mula 1 hanggang 6. At kaya ito ay isang paraan upang makakuha ng sa akin sa hanay ng 1 hanggang 6. Ako ginagawa ito ng dalawang beses. Kaya tila ako lumiligid dalawang dice sa programang ito. Kaya ko na i-clear ang aking screen, at makikita ko ang php dice1.php. Pinagsama mo ang isang 4 at isang 2. At kung nagpatakbo ako ng mga program muli, na pinagsama sa inyo ng 5 at 5. Kaya ang bawat oras na patakbuhin ang programa, Nakakakuha ako ng iba't ibang mga numero, dahil sa tuwing gagawin ko kaya, ito ay nagsisimula sa ibabaw. Ito ay pagpunta sa bumuo ng isang bagong set ng mga random na numero para sa akin. Kaya kung kami ay ginagamit upang pagpapatakbo ng mga programa mula sa C, kami ay ginagamit upang pag-type ./ ang pangalan ng isang programa, di ba? Iyon ay kung paano namin nagawa ang lahat ng sa aming mga programa sa C sa ngayon. Maaari naming gawin ito sa PHP pati sa pamamagitan ng pagdaragdag ng isang bagay na tinatawag na isang shebang sa tuktok ng aming file PHP. Alam ko ito ay uri ng isang hangal na salita. Ito ay maikli para sa hash bang. Iyan ang unang dalawang mga character doon. Tandaan ang tawag namin sa exclamation point madalas isang putok sa computer science. Ito rin ay maaaring para sa sharp bang. May isang pares ng mga paraan upang bigyang-kahulugan ang mga ito. Ngunit ito ay isa lamang ng isang espesyal na uri ng iniuutos na ang interpreter PHP nauunawaan bilang, oh, gusto ko sa iyo upang maipatupad ang programang ito, kung saan ay tila / user / bin / php, na ay talagang kung saan ang interpreter PHP partikular na ang buhay sa aming system. Kaya it's-- kung ano ang mangyayari dito ay nauunawaan ang mga interpreter, oh, Lumilitaw na ako dapat na gamitin ang sa programang ito upang patakbuhin ang file na ito. At kaya ito ay nagpapahintulot sa inyo upang laktawan ang hakbang ng pagkakaroon ng sabihin php something.php. May isa pang catch dito, kung saan ay na kung tayo Gusto ng aming mga programa sa gumana tulad ng inaasahan, kami kailangan na gawin ang isang bagay na tinatawag ng isang pagbabago ng pahintulot file. At kami go-- at makipag-usap namin ng kaunti kaunti pang mga pagbabago ng pahintulot tungkol file sa aming mga video sa MVC, ngunit sapat nang sabihin na ito ay kung ano ang kailangan mong gawin upang gawin ang iyong mga Php file executable. Kaya sabihin kumuha ng isang pagtingin sa ito bilang ang aming panghuling halimbawa sa higit sa CS50 IDE. Kaya dito sa IDE Mayroon akong dalawang mga file na ito sa Directory PHP na lumilitaw na hindi na maging tinatawag na Php. Mayroon akong isang function na tinatawag na add-- Mayroon akong isang file na tinatawag na add3 at ang isang file na tinatawag na dice2. Kaya sabihin kumuha ng isang mabilis Tumingin at buksan up add3. At tulad ng makikita mo, sa simula sa aking mga file Mayroon akong na ito shebang, di ba? Ito hash mark exclamation point. Ngayon, makikita mo din siguro mapansin na para sa ilang mga dahilan, Hindi ko ay may anumang syntax highlight anymore, at ito ay kung ano ang aking tinutukoy nang mas maaga, na kung saan ay na kung hindi ko papangalanan ang aking mga file .php, hindi ko magkaroon ng pakinabang ng syntax highlight anymore. Ang file na ito ay tinatawag lang add3. Sa gayon ay maaari ko itong tumakbo sa paglaon may ./ add3 at hindi ./ add3.php. Kaya ang reason-- pa rin ito fine, ito ay may-bisa pa PHP, ngunit hindi ito ang syntax highlight, dahil ang file na ito ay hindi na tinatawag something.php. Iyan ay ang tanging tunay na pagkakaiba dito, kasama ang shebang. Kaya sabihin makita kung ano ang mangyayari kapag Subukan ko at patakbuhin ang program na ito. ./ Add3, tulad ng gagawin ko sa C. Bash. ./ Tinanggihan ng pahintulot add3. Ito ay kung ano ang iyong pagpunta upang makita kung nakalimutan mo ang gamitin ang mga utos chmod upang baguhin ang mga pahintulot ng file. Bilang ito ay lumiliko out, regular PHP mga file ay maaaring hindi lamang pinaandar. Maaari na sila ay binigyang-kahulugan, ngunit hindi namin paggawa ng isang bagay na medyo naiiba dito. Kami ay Isinasagawa ang mga ito. At kaya kailangan ko upang idagdag ang mga pahintulot ng pagpapatupad, chmod isang + x sa add3. Pagkatapos ay maaari kong sabihin ./ add3. Pakibigyan ako ng isang numero. 5, 6. Ang kabuuan ng mga dalawang numero ay 11. Katulad nito, na ako ay may chmoded dice2, kaya ko maaaring i-type lamang ./ dice2, ikaw ay pinagsama sa isang 1 at isang 1, ikaw pinagsama sa isang 5 at isang 4, at iba pa. Kaya na medyo marami ang ideya ng isang syntax PHP, di ba? May ng maraming upang makakuha ng pamamagitan, alam ko. Ngunit sana iyong nakita ngayon na PHP ay hindi tunay na naiiba mula sa C at talagang nagbibigay sa amin ng kakayahan upang kumuha ng mga bagay up ng isang bingaw o dalawang. Hindi namin talagang kailangang mag-alala masyadong marami about-- hindi namin talagang kailangang mag-alala masyadong maraming tungkol sa ang mga detalye namin low-level ay mag-alala tungkol sa C, right? Maaari naming tumuon sa mga mas mataas na mga bagay-bagay na antas na PHP ay nagbibigay-daan sa amin upang gawin at upang kunin para sa ipinagkaloob na ito ay gumagana para sa amin. Kaya ito ay nagbibigay sa amin ng kakayahan na ngayon, paglipat mula sa C sa PHP, upang gumawa ng mga programa na ay isang pulutong ng higit complex at marahil mas matatag ang isang pulutong. Kaya Umaasa ako na mayroon kang masaya working sa PHP, at ako Doug Lloyd. Ito ay CS50.