1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> Doug LLOYD: Taigi mes padaryti daug darbo C, 3 00:00:07,370 --> 00:00:09,536 ir C yra tikrai cool kalba, nes ji suteikia jums 4 00:00:09,536 --> 00:00:12,840 gebėjimas nardyti tikrai žemo lygio į savo programas. 5 00:00:12,840 --> 00:00:16,810 Mes gauname daryti dalykus, kaip tikrai minučių kaip manipuliuoti 6 00:00:16,810 --> 00:00:18,800 individualūs baitų atminties. 7 00:00:18,800 --> 00:00:21,420 Prisiminkite, kad patarimų tikrai leidžia mums, kad lankstumo. 8 00:00:21,420 --> 00:00:25,260 >> Bet mes visada reikia turėti kad bauda grūdų detalumas 9 00:00:25,260 --> 00:00:26,820 mūsų programas? 10 00:00:26,820 --> 00:00:28,210 Tikriausiai ne, tiesa? 11 00:00:28,210 --> 00:00:30,376 Ir jei mes ketiname turėti kompromisas tarp buvimo 12 00:00:30,376 --> 00:00:32,911 gali padaryti tikrai, tikrai minutės dalykų ir tikrai, tikrai 13 00:00:32,911 --> 00:00:35,910 didelių dalykų, kad mes neturime galvoti apie, mes neturime įgyvendinti 14 00:00:35,910 --> 00:00:40,290 Šie tikrai didelis idėjos jei jie jau pastatytas už mus, 15 00:00:40,290 --> 00:00:43,980 paprastai pastato didelė programos arba stambių projektų, 16 00:00:43,980 --> 00:00:49,130 mes tikriausiai klysta į šoną padarius daugiau kalba Daiktai pastatytas 17 00:00:49,130 --> 00:00:51,300 už mus, vietoj to, kad žemo lygio dalykų. 18 00:00:51,300 --> 00:00:53,970 Ir tai, kai PHP tikrai ateina. 19 00:00:53,970 --> 00:00:58,200 >> Dabar, viena iš priežasčių, kad mes mokome PHP CS50 20 00:00:58,200 --> 00:01:01,020 yra tai, kad labai įkvėpė C. Ir iš tiesų, mano nuomone, 21 00:01:01,020 --> 00:01:05,140 yra tikrai du kamieninėms kalbos, kad 22 00:01:05,140 --> 00:01:08,200 yra labai dažnas šiandien. 23 00:01:08,200 --> 00:01:10,110 C ir Lisp. 24 00:01:10,110 --> 00:01:13,280 Ir jie kamieninių kalbos nes kiekvieno kito šiuolaikinio programavimo 25 00:01:13,280 --> 00:01:17,380 kalba, kuri sukūrė nuo tada įkvėpė 26 00:01:17,380 --> 00:01:20,330 viena arba kita sintaksiškai. 27 00:01:20,330 --> 00:01:26,160 PHP yra labai panašus sintaksiškai C, o kalbomis, pavyzdžiui, schemos, 28 00:01:26,160 --> 00:01:27,900 Pavyzdžiui, kuri Jūs galbūt girdėjote apie, 29 00:01:27,900 --> 00:01:32,070 yra labai įkvėpė kalba vadinamas Lisp, kuris yra vyresnio amžiaus, kalba. 30 00:01:32,070 --> 00:01:34,220 >> Taigi tos priežasties mes mokome PHP CS50 yra tai, kad 31 00:01:34,220 --> 00:01:37,730 žinant C, kaip iš esmės kaip jūs darote šiuo metu, 32 00:01:37,730 --> 00:01:41,280 įlaipinami PHP, kuri suteikia Jums gebėjimas daryti daug aukštesnio lygio dalykus 33 00:01:41,280 --> 00:01:44,710 nei C daro, yra ne kad daug apie kliūtį, 34 00:01:44,710 --> 00:01:48,230 nes jūs jau turite Pagrindinė idėja sintaksę. 35 00:01:48,230 --> 00:01:50,590 C buvo maždaug už beveik 45 metai šiuo metu. 36 00:01:50,590 --> 00:01:52,780 PHP buvo maždaug apie 20 metų. 37 00:01:52,780 --> 00:01:57,080 Ir tuo, kad 25 metų tarp programuotojų, 38 00:01:57,080 --> 00:02:01,540 Nustatyta, kad jie būtų kiek o turi aukštesnio lygio gebėjimus, 39 00:02:01,540 --> 00:02:04,970 ir klaidų ir kovos iš 20 metų, kai tarp 40 00:02:04,970 --> 00:02:08,210 lėmė PHP ir kitų šiuolaikinių kalbų. 41 00:02:08,210 --> 00:02:11,039 >> PHP puikus pasirinkimas kalba programinė įranga 42 00:02:11,039 --> 00:02:14,042 kad allow-- už Programinė įranga that-- kur jus 43 00:02:14,042 --> 00:02:16,250 reikia daryti dalykus, kad C iš tikrųjų yra sudėtinga. 44 00:02:16,250 --> 00:02:18,480 Taigi, pavyzdžiui, darbo su styginiams C 45 00:02:18,480 --> 00:02:21,709 yra labai sudėtinga, nes kaip mes žinome, įsipareigojimų C 46 00:02:21,709 --> 00:02:23,250 yra tikrai tik matricos simbolių. 47 00:02:23,250 --> 00:02:25,230 Tai ne įmontuotą duomenų tipas. 48 00:02:25,230 --> 00:02:28,220 O gal labiau iš esmės, ką mes net nebuvo padengti C, 49 00:02:28,220 --> 00:02:30,360 Ką daryti, jei jums reikia padaryti, Kai kurie kompiuterių tinklų? 50 00:02:30,360 --> 00:02:30,860 Gerai? 51 00:02:30,860 --> 00:02:34,920 >> C turi gebėjimą tai daryti, bet tai taip slaptas ir taip sunku iš tikrųjų. 52 00:02:34,920 --> 00:02:37,580 Ar nebūtų malonu, jei kalba turėjo built-in, lengvai 53 00:02:37,580 --> 00:02:38,910 įgyvendinti tinklų? 54 00:02:38,910 --> 00:02:43,420 Ir PHP yra kalba, kuri leidžia, kad arba palengvina, kad gana šiek tiek daugiau. 55 00:02:43,420 --> 00:02:47,740 Kaip jau sakiau, PHP yra labai labai įkvėpė "C" Sintaksė yra labai panašūs. 56 00:02:47,740 --> 00:02:51,760 Ir todėl ji turėtų tikiuosi padaryti perėjimas nuo vieno prie kito 57 00:02:51,760 --> 00:02:54,710 šiek tiek minkštesnė nei kai Kitos kalbos gali būti. 58 00:02:54,710 --> 00:02:58,800 >> Norėdami pradėti rašyti PHP, tiesiog atverti failas su Php failo plėtinys. 59 00:02:58,800 --> 00:03:00,670 Techniškai tai nėra iš tikrųjų reikia, 60 00:03:00,670 --> 00:03:04,495 bet jei norite dalykų, pavyzdžiui, sintaksės pabrėžiant IDE, todėl šios rūšies 61 00:03:04,495 --> 00:03:07,620 pavadinimai, ar kintamųjų vardai, funkcijos, žinote, iš kalbos žodžius 62 00:03:07,620 --> 00:03:10,090 yra pabrėžtas specifinė spalva, jums paprastai 63 00:03:10,090 --> 00:03:14,020 noriu pavadinti failus su ypač failo plėtinys. 64 00:03:14,020 --> 00:03:18,430 Taigi mes pavadintas mūsų failą su .php pratęsimo, bet tada taip pat su PHP, 65 00:03:18,430 --> 00:03:23,310 visi PHP kodas rašome, kad Failas turi būti uždengtas šių PHP 66 00:03:23,310 --> 00:03:25,190 separatoriai, kad mes matome čia ekrane. 67 00:03:25,190 --> 00:03:27,910 Kampinis laikiklis? Php pradėti. 68 00:03:27,910 --> 00:03:30,860 Tada mes rašome visi mūsų PHP kodas, kuris norime tarp. 69 00:03:30,860 --> 00:03:32,260 Ir tada ? 70 00:03:32,260 --> 00:03:34,710 kampas laikiklis uždaryti. 71 00:03:34,710 --> 00:03:37,170 >> Jei mes to nepadarysime, tada kas nutiks? 72 00:03:37,170 --> 00:03:38,170 Jis nesiruošia į avariją. 73 00:03:38,170 --> 00:03:39,410 Jis nesiruošia tikrai sugadinti mūsų programą. 74 00:03:39,410 --> 00:03:41,440 Bet jis nesiruošia turėti poveikis, kad mes norime. 75 00:03:41,440 --> 00:03:44,540 Kas nutiks, tikrai, yra kad kai mes išbandyti ir paleisti šią programą, 76 00:03:44,540 --> 00:03:50,330 viskas ne tarp tų separatoriai bus išspausdintas pažodžiui. 77 00:03:50,330 --> 00:03:52,210 Jis nesiruošia realiai vykdyti kodą, 78 00:03:52,210 --> 00:03:56,010 jis ketina tik atspausdinti jį pažodžiui. 79 00:03:56,010 --> 00:03:57,320 >> Dabar kodėl atveju? 80 00:03:57,320 --> 00:04:00,416 Taigi C yra tai, kas vadinama kaip parengtą kalbą. 81 00:04:00,416 --> 00:04:03,040 Jūs tikriausiai susipažinęs su iš padaryti savo programas žingsnis, 82 00:04:03,040 --> 00:04:07,820 tekinimo .c failus ir .h failus į vieną vykdomąjį su markę, 83 00:04:07,820 --> 00:04:11,130 ypač naudojant Klingsėti kaip mūsų kompiliatorių. 84 00:04:11,130 --> 00:04:13,030 PHP, nors nėra turi šį ekvivalentą. 85 00:04:13,030 --> 00:04:15,600 PHP yra kas vadinama aiškinama kalba. 86 00:04:15,600 --> 00:04:16,760 Ir ką tai reiškia? 87 00:04:16,760 --> 00:04:20,680 >> Na, tai reiškia, kad mes neturime konvertuoti Mūsų kodą į nulių ir 88 00:04:20,680 --> 00:04:21,470 iš anksto. 89 00:04:21,470 --> 00:04:23,900 Atvirkščiai, ten programa, kuris taip pat vadinamas 90 00:04:23,900 --> 00:04:29,771 PHP, kad supranta, PHP ir gali rūšiuoti padaryti jį skristi. 91 00:04:29,771 --> 00:04:32,520 Tai tikrai nėra tiksliai tiksliai, bet tai gana gera analogija 92 00:04:32,520 --> 00:04:33,760 kas vyksta. 93 00:04:33,760 --> 00:04:37,230 Tai žodžiu tiems, nuliais ir tie skristi. 94 00:04:37,230 --> 00:04:40,160 Ir todėl, jei jis nežino, Kaip tvarkyti kažką, 95 00:04:40,160 --> 00:04:42,800 jei jis nežino, kaip procesas PHP, tikriausiai 96 00:04:42,800 --> 00:04:44,680 norėjau įdėti, kad tekstą ten, tiesa? 97 00:04:44,680 --> 00:04:48,960 >> Jūs tikriausiai norėjo įdėti kodą ten, net jei ji nėra tarp PHP-- 98 00:04:48,960 --> 00:04:50,035 PHP separatoriai. 99 00:04:50,035 --> 00:04:51,910 But-- todėl jis nesiruošia ištrinti tai už jus, 100 00:04:51,910 --> 00:04:53,576 tai tik ketina iš esmės jį išmeskite. 101 00:04:53,576 --> 00:04:55,550 Taigi jis ketina spausdinti jį į ekraną. 102 00:04:55,550 --> 00:04:57,150 >> Tai atrodo, kad tai blogai dalykas, bet iš tikrųjų tai 103 00:04:57,150 --> 00:04:58,220 bus tikrai geras dalykas, nes mes 104 00:04:58,220 --> 00:05:00,390 matyti, kai mes kalbame apie PHP Web Development, 105 00:05:00,390 --> 00:05:04,010 nes tai reiškia, kad mes galime prikaišioti PHP ir HTML. 106 00:05:04,010 --> 00:05:06,640 Mes galime naudoti juos kartu sukurti daugiau dinamišką internetinį puslapį. 107 00:05:06,640 --> 00:05:10,650 Bet daugiau apie tai į Vaizdo PHP Web Development. 108 00:05:10,650 --> 00:05:12,021 >> Taigi, kas yra PHP sintaksė? 109 00:05:12,021 --> 00:05:13,520 Štai ką šis vaizdo įrašas yra visa informacija apie. 110 00:05:13,520 --> 00:05:14,850 Pakalbėkime apie tai. 111 00:05:14,850 --> 00:05:16,490 >> Taigi, norint pradėti, kintamieji. 112 00:05:16,490 --> 00:05:18,030 PHP kintamieji egzistuoja. 113 00:05:18,030 --> 00:05:20,067 Yra tik du dideli skirtumai nuo C 114 00:05:20,067 --> 00:05:21,900 Pirmoji yra ta, kad ten ne tipo specifikatorius. 115 00:05:21,900 --> 00:05:24,245 Neturime pasakyti int, char, plūdės, visi, kad kita. 116 00:05:24,245 --> 00:05:25,620 Neturime daryti, kad nebėra. 117 00:05:25,620 --> 00:05:26,810 PHP yra modernus kalba. 118 00:05:26,810 --> 00:05:28,910 Tai gali išsiaiškinti, kas esate bando daryti arba padaryti geriausias 119 00:05:28,910 --> 00:05:30,451 atspėti, ką jūs bandote daryti. 120 00:05:30,451 --> 00:05:31,700 Taigi tai gana gražus. 121 00:05:31,700 --> 00:05:35,330 >> Kitas dalykas yra tai, kad visas kintamąsias pavadinimai turi prasidėti dolerio ženklas. 122 00:05:35,330 --> 00:05:36,940 Tai tiesiog kažkas priprasti. 123 00:05:36,940 --> 00:05:39,496 Tai šiek tiek keista, nes tai, kad PHP gali suprasti 124 00:05:39,496 --> 00:05:40,870 Kas yra kintamasis, o kas ne. 125 00:05:40,870 --> 00:05:43,340 Taigi kiekvieną kintamojo vardas prasideda dolerio ženklas. 126 00:05:43,340 --> 00:05:46,884 Taigi C mes galime ką nors pasakyti kaip tai, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Neturime daryti, kad nebėra PHP. 128 00:05:48,550 --> 00:05:52,540 Galime tik pasakyti, $ x = 54. 129 00:05:52,540 --> 00:05:55,920 Ir galėtume pasakyti, pavyzdžiui, C, jei būtume svaras-įtrauktas CS50 .h 130 00:05:55,920 --> 00:06:00,314 antraštės failas, mes galime pasakyti, styginių frazė = "Tai CS50". 131 00:06:00,314 --> 00:06:01,980 Neturime padaryti, kad PHP, nors. 132 00:06:01,980 --> 00:06:04,865 Galime tik pasakyti $ frazę = "Tai CS50". 133 00:06:04,865 --> 00:06:08,760 Ir iš tiesų, styginių dabar built-in duomenų tipas PHP, 134 00:06:08,760 --> 00:06:10,950 ar veikiau PHP supranta kas eilutė yra. 135 00:06:10,950 --> 00:06:15,612 Tai atskiras nuo masyvo simbolių, kaip tai yra C 136 00:06:15,612 --> 00:06:17,570 Visi jūsų mėgstamiausia sąlyginiai teiginiai iš C 137 00:06:17,570 --> 00:06:19,520 vis dar yra prieinami jums naudoti. 138 00:06:19,520 --> 00:06:21,140 Taigi nėra didelė perėjimas ten. 139 00:06:21,140 --> 00:06:23,400 Mes galime say-- mes galime turėti jei ataskaitose, kaip šis. 140 00:06:23,400 --> 00:06:28,210 jei $ y 43 arba $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Taigi tai gana paprasta. 142 00:06:29,690 --> 00:06:31,980 Mes galime turėti, jei ir kitur. 143 00:06:31,980 --> 00:06:34,210 Mes galime turėti, jei ir kitur, jei. 144 00:06:34,210 --> 00:06:36,430 >> Ir pastebėsite kažką labai gražus čia, ir tai 145 00:06:36,430 --> 00:06:39,620 yra tarsi vienas iš tų Privalumai PHP, palyginti su C, pranešimu 146 00:06:39,620 --> 00:06:41,510 kokią funkciją mes ne naudojant čia? 147 00:06:41,510 --> 00:06:47,737 Mes naudodami == į palyginkite kintamasis, $ vardas, į eilutę. 148 00:06:47,737 --> 00:06:49,070 Mes negalėjome padaryti, kad C, tiesa? 149 00:06:49,070 --> 00:06:53,200 Mes turėjo naudoti funkcija vadinama StrComp arba StrEndComp ar 150 00:06:53,200 --> 00:06:54,840 su juo susijusių pusbroliai. 151 00:06:54,840 --> 00:06:56,980 >> Ir taip jau matome šiuos privalumus. 152 00:06:56,980 --> 00:07:00,930 Neturime ką nors padaryti kaip kvaila ar galbūt unintuitive 153 00:07:00,930 --> 00:07:03,540 kaip skambinti funkcija vadinama StrComp jei aš tik noriu išbandyti 154 00:07:03,540 --> 00:07:05,237 ar vertė yra lygi eilutę. 155 00:07:05,237 --> 00:07:07,820 Galėčiau tiesiog naudokite lygus lygiomis teisėmis, kaip aš galėjau daryti ką nors kita. 156 00:07:07,820 --> 00:07:09,560 Taigi ten privalumas. 157 00:07:09,560 --> 00:07:13,350 >> Kartais, beje, jums gali matyti kitur, jei taip vienu žodžiu, elseif. 158 00:07:13,350 --> 00:07:14,910 Ir tai viskas OK PHP taip pat. 159 00:07:14,910 --> 00:07:17,020 Taigi kartais jūs galite pamatyti, kad. 160 00:07:17,020 --> 00:07:17,790 Tai ne klaidos. 161 00:07:17,790 --> 00:07:21,830 PHP tikrųjų supranta elseif. 162 00:07:21,830 --> 00:07:23,980 Aš nežinau, kodėl jie nusprendė įgyvendinti, kad 163 00:07:23,980 --> 00:07:28,220 bet kaip mes matėme daug kartų visoje mūsų video šiol, 164 00:07:28,220 --> 00:07:30,460 mes programuotojai tai patinka jei mes galime padaryti kažką greitai, 165 00:07:30,460 --> 00:07:33,660 taip atsikratyti tos erdvės matyt didelis privalumas. 166 00:07:33,660 --> 00:07:34,800 >> Štai tada ir elseif. 167 00:07:34,800 --> 00:07:37,540 Mes taip pat turime trejopo operatorius, Prisiminkite klaustukas gaubtinės žarnos, 168 00:07:37,540 --> 00:07:43,262 už tikrai trumpą formą, jei dar ar sąlyginė šakojasi. 169 00:07:43,262 --> 00:07:45,470 Ir, matyt,, šioje, ką mes bandome padaryti čia 170 00:07:45,470 --> 00:07:49,720 yra priskirti kintamajam $ raidžių arba true arba false, 171 00:07:49,720 --> 00:07:54,110 priklausomai nuo to, ar $ var yra raidinis simbolis. 172 00:07:54,110 --> 00:07:57,320 Taigi, tai yra gana panašus į IsAlpha kad mes susipažinę su iš C. 173 00:07:57,320 --> 00:07:59,010 Tai tarsi iš PHP ekvivalentą. 174 00:07:59,010 --> 00:08:01,550 Ši funkcija yra, matyt, vadinamas ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 bet tai kaip mes tai darome PHP. 176 00:08:03,450 --> 00:08:08,560 Taigi visa tai bus taip, jei $ var yra raidė, $ laiškas yra tiesa. 177 00:08:08,560 --> 00:08:13,820 Jei $ var nėra raidžių, $ laiškas yra klaidinga. 178 00:08:13,820 --> 00:08:15,820 >> Mes taip pat turime jungiklis pareiškimus dar. 179 00:08:15,820 --> 00:08:17,870 Mes prisimename tuos iš C taip pat. 180 00:08:17,870 --> 00:08:22,480 Pačiame viršuje ten, tai kaip mes tai darome kažkas panašaus GET int arba gauti eilutę. 181 00:08:22,480 --> 00:08:23,845 Taigi PHP turi, kad pastatyta. 182 00:08:23,845 --> 00:08:25,470 Mums nereikia, kad CS50 biblioteką nebėra. 183 00:08:25,470 --> 00:08:27,237 Mes galime tiesiog naudokite funkciją readline. 184 00:08:27,237 --> 00:08:29,820 Ką tai ketina padaryti, tai Spausdinti iš pranešimo: "Jūsų valstybė, 185 00:08:29,820 --> 00:08:33,820 Prašome, "ir tada mirksi eilutę laukia prie įėjimo vartotojas 186 00:08:33,820 --> 00:08:34,739 tam tikra informacija. 187 00:08:34,739 --> 00:08:36,530 Dabar pastebėsite, ką dar mes galime padaryti su jungikliu. 188 00:08:36,530 --> 00:08:39,105 Jei jūs jį naudojo anksčiau, jums gali prisiminti, kad jungiklis 189 00:08:39,105 --> 00:08:44,960 apsiriboja gana daug skaičių ir simbolių, tačiau dabar mes galime naudoti eilutes. 190 00:08:44,960 --> 00:08:50,190 Ir iš tiesų, jungiklis pareiškimas PHP yra gana šiek tiek lankstesnis 191 00:08:50,190 --> 00:08:54,880 nei jo pusbrolis iš C. 192 00:08:54,880 --> 00:08:55,380 Kilpas. 193 00:08:55,380 --> 00:08:58,130 Tiesiog kaip sąlyginių visi seni draugai yra vis dar ten. 194 00:08:58,130 --> 00:09:00,740 Mes turime, o kilpas, kad įskaitomi nuo 1 iki 100, šiuo atveju. 195 00:09:00,740 --> 00:09:03,940 Mes padaryti, o kilpos kad skaičius nuo 1 iki 100, 196 00:09:03,940 --> 00:09:06,200 ir mes turime kilpų kad skaičius nuo 1 iki 100. 197 00:09:06,200 --> 00:09:07,220 Taigi ne didelis šuolis ten. 198 00:09:07,220 --> 00:09:09,360 Sintaksė yra gana kiek tiksliai tas pats, 199 00:09:09,360 --> 00:09:11,760 išskyrus dabar mes naudojame dolerio ženklas kintamasis, o ne 200 00:09:11,760 --> 00:09:17,260 skelbiantis sveikasis kintamieji arba kažką panašaus, kad mūsų skaitikliai. 201 00:09:17,260 --> 00:09:20,090 >> Štai kur viskas gauti daug geriau nei C, nors. 202 00:09:20,090 --> 00:09:21,020 Masyvai. 203 00:09:21,020 --> 00:09:23,020 Taigi Prisimenu, kai mes buvome kalbame apie C, siekiant 204 00:09:23,020 --> 00:09:25,560 mums augti ir trauktis informacijos rinkiniai, 205 00:09:25,560 --> 00:09:28,310 mums reikia rūšiuoti pagal nutylėjimą į šį susietojo sąrašo idėja, 206 00:09:28,310 --> 00:09:30,780 nes C matricas buvo fiksuotas dydis. 207 00:09:30,780 --> 00:09:31,800 Mes negalime trauktis juos. 208 00:09:31,800 --> 00:09:32,930 Mes negalėjome juos auginti. 209 00:09:32,930 --> 00:09:36,074 Mes turėjome perskirstyti atminties ir daryti visa tai beprotybė 210 00:09:36,074 --> 00:09:38,490 arba naudokite susijusių sąrašus, kuriuose imtis gana šiek tiek daugiau erdvės. 211 00:09:38,490 --> 00:09:41,590 Bet PHP, matricos nėra fiksuotas dydis nebėra. 212 00:09:41,590 --> 00:09:43,240 Jie gali augti ir jie gali susitraukti. 213 00:09:43,240 --> 00:09:46,660 Taigi dar kartą, šie 20 metų, kad egzistavo tarp pirmojo išleidimo C 214 00:09:46,660 --> 00:09:49,440 ir pirmoji laida PHP, mes nusprendėme, kad, žinote, 215 00:09:49,440 --> 00:09:51,670 tai būtų tikrai didelis jei galėtume tai padaryti. 216 00:09:51,670 --> 00:09:54,100 Ir taip mes įgyvendinome tai. 217 00:09:54,100 --> 00:09:58,040 >> Taigi PHP masyvų nėra nustatyta dydis, ir dėl PHP tikrai ne 218 00:09:58,040 --> 00:10:03,090 turi programuotojas priekyje atsukta sąvokos tipų, 219 00:10:03,090 --> 00:10:05,110 mes galime maišyti duomenų tipai mūsų masyvų, taip pat. 220 00:10:05,110 --> 00:10:08,100 Taigi, mes net neturime naudoti visas sveikieji skaičiai arba visus plaukiojančios taškai, 221 00:10:08,100 --> 00:10:12,826 mes gali turėti visi mišinį skirtingų rūšių į vieną masyvą. 222 00:10:12,826 --> 00:10:14,700 Skelbiu masyvas yra gana paprasta. 223 00:10:14,700 --> 00:10:16,116 Tai tiesiog kaip bet kuris kitas kintamasis. 224 00:10:16,116 --> 00:10:20,020 $ nums = array (1, 2, 3, 4), masyvo yra funkcija 225 00:10:20,020 --> 00:10:22,760 kad pastatytas į PHP, kad sukurs jums masyvo. 226 00:10:22,760 --> 00:10:28,315 Tai sukuria keturių verčių matrica, numeriai, šiuo atveju, vadinamas $ nums. 227 00:10:28,315 --> 00:10:29,940 Ir yra daugiau nei vienas būdas tai padaryti. 228 00:10:29,940 --> 00:10:32,420 Ir mes ketiname pamatyti šį PHP aikštelė. 229 00:10:32,420 --> 00:10:36,380 PHP buvo sukurtas daug skirtingų žmonių ir auga ir auga ir auga. 230 00:10:36,380 --> 00:10:40,050 Yra paprastai ne tik dviejų ar Trys būdai, kaip ką nors padaryti, PHP, 231 00:10:40,050 --> 00:10:42,170 ten paprastai kaip 10 ar 20. 232 00:10:42,170 --> 00:10:45,300 Štai tik dar vienas bendras būdas paskelbti masyvą. 233 00:10:45,300 --> 00:10:48,310 $ nums = kvadratinių laikiklis 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Taigi tai yra tarsi panaši į C anketa kampu br-- garbanotas petnešomis notacijos, o. $ - 235 00:10:53,170 --> 00:10:58,525 ar tai būtų int nums aikštė skliausteliuose lygus garbanotas petnešomis 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 PHP tai $ nums = aikštė kronšteinai 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Tačiau abu šie pavyzdžiai čia man duoti daroma keturių masyvo šiuo atveju sveikieji skaičiai. 238 00:11:08,920 --> 00:11:10,920 >> Ką daryti, jei noriu smeigtuko kažką dabar? 239 00:11:10,920 --> 00:11:14,760 Na galiu tik pasakyti $ nums 4, kuris vėl, mes vis dar skaičiuojant nuo 0 Spragtelėkite čia 240 00:11:14,760 --> 00:11:17,800 PHP programavimo kalba, būtų penktas elementas masyve. 241 00:11:17,800 --> 00:11:18,990 Galiu tik pasakyti, kad. 242 00:11:18,990 --> 00:11:22,860 Nesiruošiu patirti SEG kaltės, nes mano matrica yra tik 243 00:11:22,860 --> 00:11:24,337 augs, kad tilptų, kad. 244 00:11:24,337 --> 00:11:25,420 Tai gana gražus, tiesa? 245 00:11:25,420 --> 00:11:28,400 Ir iš tiesų, aš net nereikia nurodyti, kur aš noriu įdėti ją. 246 00:11:28,400 --> 00:11:31,220 Galiu tik pasakyti, tai ir tik smeigtuko ją tiesiai ant iki galo, 247 00:11:31,220 --> 00:11:34,099 ar galėjau net tik pasakyti $ nums 20 arba 1000. 248 00:11:34,099 --> 00:11:35,140 Jis tikrai ne klausimas. 249 00:11:35,140 --> 00:11:38,330 Jis vis dar tik ketina smeigtuko ją tiesiai ant galo. 250 00:11:38,330 --> 00:11:41,490 >> Taigi aš galiu augti ir as-- mes nesiruošia ją padengti čia 251 00:11:41,490 --> 00:11:45,360 bet galiu sumegzti arba juostelių elementai iš masyvo, taip pat, 252 00:11:45,360 --> 00:11:50,064 ir masyvo susitrauks, kad tilptų kad dabar trūksta arba tuščia vieta. 253 00:11:50,064 --> 00:11:52,230 Yra dar vienas būdas smeigtuko kažkas ant masyvą, 254 00:11:52,230 --> 00:11:54,330 kuris yra funkcija vadinama array_push. 255 00:11:54,330 --> 00:11:57,860 Taigi dar kartą, tik šį būties idėja galėtų daryti tai, ko daug skirtingų būdų. 256 00:11:57,860 --> 00:12:01,950 Taigi mes matėme tris skirtingus būdus dabar smeigtuko kitą elementą į masyvą. 257 00:12:01,950 --> 00:12:06,900 Taigi, tai prideda dar vieną elementą į $ nums masyvo pabaigos. 258 00:12:06,900 --> 00:12:08,340 Ir mes galime išmaišyti mūsų duomenų tipus. 259 00:12:08,340 --> 00:12:13,110 Taigi, aš gali turėti ne masyvas 1, 2, 3, 4, bet 1, teisinga, 3, 4, 260 00:12:13,110 --> 00:12:16,420 kur teisinga yra loginis, ir tada jei noriu kursas apie kito elemento 261 00:12:16,420 --> 00:12:20,860 to masyvo, galbūt eilutė, eilutė "penki", galėčiau tai padaryti. 262 00:12:20,860 --> 00:12:26,110 Ir dabar mano masyvas būtų būti 1, teisinga, 3, 4, penkių. 263 00:12:26,110 --> 00:12:28,640 Žodis penkių, o ne sveikas skaičius, 5. 264 00:12:28,640 --> 00:12:31,270 Taigi lankstumas daug ten. 265 00:12:31,270 --> 00:12:33,290 >> Lankstumą gauna dar geriau, nors, 266 00:12:33,290 --> 00:12:37,530 nes PHP paramą kažką vadinamas masyvą. 267 00:12:37,530 --> 00:12:40,660 Ir mes tarsi miglotai kalbėjo apie Association masyvai C 268 00:12:40,660 --> 00:12:44,740 į maišos lentelių kontekste, nes kas asociatyvūs matricos yra tikrai visi 269 00:12:44,740 --> 00:12:48,950 apie darysite raktą vertė pora rodymo. 270 00:12:48,950 --> 00:12:53,410 Ir šiuo atveju, jei keys-- mes susipažinę su masyvų iš C, 271 00:12:53,410 --> 00:12:55,440 raktai indekso numeriai. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 Ir vertybės yra tai, ką mes matome, kad masyvo 0, 1 masyvas, 2, ir taip toliau. 274 00:13:03,070 --> 00:13:06,310 Taigi raktai indeksai, ir vertybės 275 00:13:06,310 --> 00:13:10,060 kas toje masyvo vietoje, nurodyta šio indekso. 276 00:13:10,060 --> 00:13:15,130 >> Bet PHP, mes neturime tai padaryti sąvoka masyvo 0, 1 masyvas, 2 277 00:13:15,130 --> 00:13:15,830 nebėra. 278 00:13:15,830 --> 00:13:21,025 Dabar mes galime naudoti faktines žodžius į žemėlapį klavišus vertybes. 279 00:13:21,025 --> 00:13:22,650 Ir taip galėčiau pasakyti kažką panašaus į tai. 280 00:13:22,650 --> 00:13:26,710 Galėčiau sukurti masyvą naudojant kvadratinių laikiklis sintaksė taip. 281 00:13:26,710 --> 00:13:30,685 $ picos = kvadratinių laikiklis "sūris" ir tada 282 00:13:30,685 --> 00:13:37,210 Ši dviguba rodykle žymėjimo rūšiuoti, 8.99 "Peperoni" arrow 10.99-- 9.99, 283 00:13:37,210 --> 00:13:37,880 ir taip toliau. 284 00:13:37,880 --> 00:13:39,060 Ir taip, kas čia vyksta? 285 00:13:39,060 --> 00:13:41,040 Ką aš iš tikrųjų daro? 286 00:13:41,040 --> 00:13:43,990 Aš sukuriant pagrindines vertė pora rodymo. 287 00:13:43,990 --> 00:13:49,060 Taigi, vietoj to, suprantama, pavyzdžiui, picos 0, 1 vnt, picos 2, 288 00:13:49,060 --> 00:13:52,350 Dabar galiu pasakyti, picos sūris, picos Peperoni, 289 00:13:52,350 --> 00:13:55,120 ir kreiptis į vertybes susijęs su jais. 290 00:13:55,120 --> 00:13:56,970 >> Taigi, čia yra mūsų raktai žalia spalva. 291 00:13:56,970 --> 00:13:59,870 Sūris, Peperoni, daržovių, buivolų vištienos. 292 00:13:59,870 --> 00:14:04,200 Čia yra rodyklė, kuri leidžia Tai rakto pora žemėlapių. 293 00:14:04,200 --> 00:14:07,420 Ir tada čia yra vertybės tuo masyvo vietą. 294 00:14:07,420 --> 00:14:10,330 Taigi, tai tarsi sakydamas masyvo 0 lygus 8.99. 295 00:14:10,330 --> 00:14:11,720 Svarbiausia yra 0. 296 00:14:11,720 --> 00:14:13,600 Vertė yra 8,99. 297 00:14:13,600 --> 00:14:19,370 Dabar galiu pasakyti, masyvo sūrio, arba tokia atveju picos sūris, sūris yra raktas, 298 00:14:19,370 --> 00:14:23,340 ir ką manau esant picos sūris yra 8.99. 299 00:14:23,340 --> 00:14:25,540 Štai vertė, kad aš ten rasti. 300 00:14:25,540 --> 00:14:28,124 >> Taigi galiu pasakyti, kas patinka. $ picos sūris = 7.99. 301 00:14:28,124 --> 00:14:29,040 Pasakykite man kyla pardavimą. 302 00:14:29,040 --> 00:14:31,750 Noriu dis-- Noriu lašas Sūrio picos kaina. 303 00:14:31,750 --> 00:14:35,620 Arba galiu naudoti daržovių picos kaip dalis būklės, 304 00:14:35,620 --> 00:14:39,990 ar galiu pridėti naują elementą į mano masyvas, kaip galėčiau tai padaryti anksčiau. 305 00:14:39,990 --> 00:14:44,680 Galiu pridėti naują elementą į tai masyvą su rakto "kumpio" 306 00:14:44,680 --> 00:14:49,250 o vertė 13.49. 307 00:14:49,250 --> 00:14:53,820 >> Bet tai tarsi pristato problemos jei jūs manote apie tai per sekundę. 308 00:14:53,820 --> 00:14:55,721 Kaip mes pakartoti per šio masyvo? 309 00:14:55,721 --> 00:14:56,220 Teisė? 310 00:14:56,220 --> 00:14:59,820 C, mes tiesiog turime už kilpos, paprastai, kad 311 00:14:59,820 --> 00:15:03,650 būtų paleisti nuo 0 į dydis masyvo minus 1. 312 00:15:03,650 --> 00:15:08,060 Masyvas yra n elementų tuo, The Galioja indeksai yra nuo 0 iki n minus 1. 313 00:15:08,060 --> 00:15:11,530 Taigi, mes galime naudoti už kilpa žingsnis per kiekvieną elementą. 314 00:15:11,530 --> 00:15:13,530 >> Bet tai tikrai ne atveju nebėra, tiesa? 315 00:15:13,530 --> 00:15:17,360 Dabar, kai mes turime rakto pora rodymo, kur raktai yra žodžiai, 316 00:15:17,360 --> 00:15:19,970 kaip mes pakartoti per visus žodžius? 317 00:15:19,970 --> 00:15:22,420 Na, laimei, PHP turi būdas susidoroti su tai taip, 318 00:15:22,420 --> 00:15:24,580 ir todėl mes peršokti atgal į kilpų sekundę 319 00:15:24,580 --> 00:15:30,780 įvesti ketvirtą rūšies kilpa, kad egzistuoja PHP vadinamas foreach ciklą. 320 00:15:30,780 --> 00:15:34,430 Ir kas foreach ciklas daro, yra tai iš esmės tą pačią idėją. 321 00:15:34,430 --> 00:15:36,060 Jūs galite naudoti ją bet masyvo natūra. 322 00:15:36,060 --> 00:15:38,100 Tačiau tai iš esmės pati idėja kaip kilpa, 323 00:15:38,100 --> 00:15:40,750 išskyrus, o ne naudojant indekso numeriai, jūs tiesiog 324 00:15:40,750 --> 00:15:45,830 keistai sintaksę kur skambinate kiekvieną elementą 325 00:15:45,830 --> 00:15:47,550 pavadinimas pagal šią kilpą tikslais. 326 00:15:47,550 --> 00:15:49,258 >> Taigi, šiuo atveju, foreach ($ masyvas kaip $ raktas). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Iš esmės, kaip kad komentaras pastabose, viduje tos foreach ciklas, 329 00:15:56,450 --> 00:16:00,466 jis ketina eiti per kiekvieną elementas $ masyvo, kuris paprastai yra 330 00:16:00,466 --> 00:16:03,340 bus Association masyvas, bet tikrai gali būti bet kuris iš masyvo natūra 331 00:16:03,340 --> 00:16:05,419 kad norite PHP. 332 00:16:05,419 --> 00:16:07,210 Ir kiekvieną kartą, kad už kilpa jums gali 333 00:16:07,210 --> 00:16:13,780 sakė $ masyvas skliaustus $ i, galite tiesiog pasakyti $ klavišą. 334 00:16:13,780 --> 00:16:22,340 Taigi, kad $ raktas tampa už kiekvieną slapyvardį indeksas PHP masyvą, 335 00:16:22,340 --> 00:16:23,710 ir todėl jūs galite naudoti ją kaip kad. 336 00:16:23,710 --> 00:16:25,897 >> Taigi, pavyzdžiui, mes dabar turime mūsų picos masyvo. 337 00:16:25,897 --> 00:16:27,730 Aš rūšies sukišti ją į ten kampe 338 00:16:27,730 --> 00:16:31,080 todėl mes galime jį naudoti padaryti greitai pavyzdys. 339 00:16:31,080 --> 00:16:36,420 Jei aš sakau foreach ($ picos, kaip $ pica), gerai, kas vyksta? 340 00:16:36,420 --> 00:16:42,400 Na, aš ruošiuosi kartoti per kiekvieną vienas elementas iš masyvo $ picos, 341 00:16:42,400 --> 00:16:46,670 ir taip, aš ruošiuosi skambinti kiekvienas elementas, kai aš viduje 342 00:16:46,670 --> 00:16:49,400 iš to organo kilpa, $ pica. 343 00:16:49,400 --> 00:16:52,440 >> Štai tarsi stovėti-in, prisiminti, kad $ pica 344 00:16:52,440 --> 00:16:59,140 yra stendas-in sakydamas $ picos skliaustus $ i 345 00:16:59,140 --> 00:17:03,370 jei mes buvome naudojant už kilpos, kur mes gali eiti nuo $ i = nuo 0 iki, šiuo atveju, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 Jei mes neturėjome rakto poros čia, tai būtų elementas 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 ir mes naudoti for ciklas eiti $ picos 0, $ picos 1, $ 2, picos 349 00:17:16,390 --> 00:17:17,750 $ picos 3 d. 350 00:17:17,750 --> 00:17:23,130 Taigi, dabar tik $ pica pakeisti tos individualios raktu. 351 00:17:23,130 --> 00:17:25,630 >> Taigi, kas tai vyksta atsispausdinti? 352 00:17:25,630 --> 00:17:29,030 Aš spausdinti $ pica. 353 00:17:29,030 --> 00:17:35,270 Ką aš ketinu rasti at-- jei aš atsispausdinti $ picas, $ i? 354 00:17:35,270 --> 00:17:35,770 Teisė? 355 00:17:35,770 --> 00:17:38,680 Jei aš ruošiuosi atsispausdinti i-asis elementas picos, 356 00:17:38,680 --> 00:17:40,070 ką aš ketinu spausdinti? 357 00:17:40,070 --> 00:17:42,580 Aš ruošiuosi atsispausdinti vertės toje vietoje, tiesa? 358 00:17:42,580 --> 00:17:45,370 Pavyzdžiui, jei mes darome ši į C kontekste, 359 00:17:45,370 --> 00:17:49,786 mes neturime paprastai naudoti mūsų iteratorių kintamasis, int i = 0, i yra mažesnis nei 3, 360 00:17:49,786 --> 00:17:52,900 i ++, spausdinti 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Mes spausdinti masyvo 0, 1 masyvas, 2, 3 masyvas. 362 00:17:57,500 --> 00:17:59,580 Ir taip, kas tai spausdina tai. 363 00:17:59,580 --> 00:18:01,150 Tai kainų sąrašas. 364 00:18:01,150 --> 00:18:05,750 8.99, 9,99, 10,99, 11,99. 365 00:18:05,750 --> 00:18:06,900 >> Dabar greitai pastaba čia. 366 00:18:06,900 --> 00:18:10,900 Foreach ciklas nebūtinai spausdinti dalykų tvarka. 367 00:18:10,900 --> 00:18:12,770 Tai nėra garantuojamas. 368 00:18:12,770 --> 00:18:13,550 Ji paprastai daro. 369 00:18:13,550 --> 00:18:17,667 Tai paprastai remiasi į tam kurie elementai yra pridedami prie masyvo, 370 00:18:17,667 --> 00:18:18,750 tad tiesiog turėti tai omenyje. 371 00:18:18,750 --> 00:18:20,830 Tai gali būti ne iš eilės. 372 00:18:20,830 --> 00:18:23,930 Bet foreach ciklas bus pakartoti visoje kiekvieno elemento 373 00:18:23,930 --> 00:18:25,060 nagrinėjamo masyvo. 374 00:18:25,060 --> 00:18:27,980 Šiuo atveju, vėl, kad masyvas $ picos. 375 00:18:27,980 --> 00:18:32,920 >> Galiu pakeisti sintaksę, nors, jei Noriu tiek klavišą ir vertę. 376 00:18:32,920 --> 00:18:37,179 Vietoj sakydamas $ picas kaip $ picos, galiu pasakyti tai. 377 00:18:37,179 --> 00:18:39,470 Ir jei jums atrodo, ką aš paryškinamas žalia čia 378 00:18:39,470 --> 00:18:42,130 jis atrodo kaip esminė vertybė poros žemėlapių. 379 00:18:42,130 --> 00:18:45,980 Ir todėl, jei you-- net jei esate ne visiškai tikras, ką jis ketina daryti, 380 00:18:45,980 --> 00:18:49,300 jūs tikriausiai galite atspėti kad $ įdaras vyksta 381 00:18:49,300 --> 00:18:53,800 būti šiuo atveju raktas ir $ kaina bus vertė. 382 00:18:53,800 --> 00:18:59,200 Taigi, aš pakeisti dabar kiekvieną elementą nuo $ picos, kaip rakto pora, 383 00:18:59,200 --> 00:19:03,900 ir dabar aš galiu kreiptis į raktą ir vertė, kurie gali praversti, 384 00:19:03,900 --> 00:19:05,590 pavyzdžiui, taip. 385 00:19:05,590 --> 00:19:10,170 >> "Visa" - tai daug spausdinimas vyksta here-- "visuma" 386 00:19:10,170 --> 00:19:17,300 papildymo "pica kainuoja $" kainą, o tada Aš atsispausdinti laikotarpis ir backslash n. 387 00:19:17,300 --> 00:19:23,420 Taigi dabar, pranešimas vėl aš turėti prieigą prie pagrindinis, $ įdaras, ir vertės, $ kaina. 388 00:19:23,420 --> 00:19:26,647 Taigi jūs galite atspėti, kas tai ketina atsispausdinti? 389 00:19:26,647 --> 00:19:29,480 Yra daug spausdinimo ataskaitose daug, bet ten tik vienas Backslash N, 390 00:19:29,480 --> 00:19:33,410 todėl ketina spausdinti kažką on vieną eilutę kodo entire--. 391 00:19:33,410 --> 00:19:36,965 >> Jei aš galiu kreiptis į raktą ir vertė, tada dabar 392 00:19:36,965 --> 00:19:39,090 o ne tik, kad galėtų spausdinti kainas, 393 00:19:39,090 --> 00:19:41,330 Galiu atsispausdinti kažką panašaus į tai. 394 00:19:41,330 --> 00:19:43,780 "Visa sūrio pica kainuoja $ 8,99." 395 00:19:43,780 --> 00:19:47,150 Ir dabar aš naudoju visus keys-- sūris, Peperoni, daržovių, 396 00:19:47,150 --> 00:19:49,640 Buffalo chicken-- ir vertybes. 397 00:19:49,640 --> 00:19:53,980 8.99, 9,99, 10,99, 11,99 Taigi tai tik kitoks būdas 398 00:19:53,980 --> 00:19:57,840 padaryti foreach ciklą, kad vietoj tiesiog suteikia jums prieigą prie vertybių, 399 00:19:57,840 --> 00:20:02,950 jis tiesiog suteikia you-- ji suteikia jums Prieiga prie raktų ir vertybes. 400 00:20:02,950 --> 00:20:04,411 >> Taigi spausdinti informaciją. 401 00:20:04,411 --> 00:20:07,410 Aš jau padariau jam porą įvairių būdų, galite pastebėjau. 402 00:20:07,410 --> 00:20:11,080 Dvi funkcijos mes pirmiausia matyti yra spausdinimo ir aido. 403 00:20:11,080 --> 00:20:14,380 Ir gana daug visų ketinimų ir tikslais, jie tiksliai ta pati. 404 00:20:14,380 --> 00:20:17,130 They're-- ten labai subtilus skirtumas tai net neverta 405 00:20:17,130 --> 00:20:21,130 patekti į, bet iš esmės visur galite naudoti spausdinti jūs tikriausiai galite naudoti 406 00:20:21,130 --> 00:20:22,370 echo taip pat. 407 00:20:22,370 --> 00:20:23,610 >> Ir tai ne tik du. 408 00:20:23,610 --> 00:20:26,970 PHP turi daug skirtingų daug spausdinimo būdai dalykus, 409 00:20:26,970 --> 00:20:30,520 ir ji taip pat turi būdų, kaip integruoti kintamuosius į viduryje eilutę. 410 00:20:30,520 --> 00:20:32,860 Taigi prisimenu iš C, tai jums prisiminti, ką funkcija 411 00:20:32,860 --> 00:20:37,580 mes galime naudoti pakeisti kintamuosius į ką norime atspausdinti? 412 00:20:37,580 --> 00:20:40,160 Jūs tikriausiai naudoti šį veikti gana daug. 413 00:20:40,160 --> 00:20:42,290 printf, tiesa? 414 00:20:42,290 --> 00:20:45,290 Taigi tai yra tai, ką mes turėjome prieš viduje iš mūsų foreach kilpa kontekste. 415 00:20:45,290 --> 00:20:48,000 Mes turėjome šių penkių atskiri spausdinimo ataskaitos, 416 00:20:48,000 --> 00:20:50,330 nes tai buvo vienintelis Kaip aš tikrai žinojo tuo metu, 417 00:20:50,330 --> 00:20:52,450 Kaip atsispausdinti pranešimus. 418 00:20:52,450 --> 00:20:59,560 Aš nežinojau, kaip integruoti Kintamasis $ papildymo į mano PHP kodą. 419 00:20:59,560 --> 00:21:03,700 Na, jei aš tiesiog paimti laukinį spėti, printf, ji iš tikrųjų būtų dirbę. 420 00:21:03,700 --> 00:21:08,980 printf yra funkcija, kuri galiu naudoti PHP, kaip aš galiu jį naudoti C 421 00:21:08,980 --> 00:21:11,880 >> Ir taip kažką panašaus į tai, printf, vėl, mes susipažinę su tuo. 422 00:21:11,880 --> 00:21:16,420 Pirmasis% s pakeitė su $ įdaras vertės. 423 00:21:16,420 --> 00:21:19,700 Antrasis% s pakeitė su $ kainos vertės. 424 00:21:19,700 --> 00:21:22,630 Ir todėl aš interpellating, kuri yra tik išgalvotas būdas 425 00:21:22,630 --> 00:21:25,400 sakydamas aš klijuoti kintamuosius į tą vietą. 426 00:21:25,400 --> 00:21:31,000 Taigi, aš prijungti $ įdaras kur raudona% s yra ir $ kaina kur mėlynas% s 427 00:21:31,000 --> 00:21:36,060 yra, ir tada aš būtų gauti pranešimą, "Visa sūrio pica kainuoja $ 8,99." 428 00:21:36,060 --> 00:21:37,750 >> Ne vienintelis būdas aš galiu tai padaryti, nors. 429 00:21:37,750 --> 00:21:39,760 Gal aš noriu naudoti šį metodą. 430 00:21:39,760 --> 00:21:44,890 Tai iš tikrųjų, kas dažniausiai vadinamas kintamos interpeliacija. 431 00:21:44,890 --> 00:21:45,690 Galiu naudoti aidą. 432 00:21:45,690 --> 00:21:47,737 Aš galėtų naudoti spaudinį taip pat, kaip matysime. 433 00:21:47,737 --> 00:21:48,820 Bet kas čia vyksta? 434 00:21:48,820 --> 00:21:51,520 >> Pirmiausia, aš turiu pabėgti dolerio ženklas. 435 00:21:51,520 --> 00:21:55,140 Nes atsimenu, kai mes iš tikrųjų buvo spausdinti iš picų kainas, 436 00:21:55,140 --> 00:21:59,370 Aš iš tikrųjų buvo formatuoti juos kaip pinigų skaičiai dolerio ženklas. 437 00:21:59,370 --> 00:22:05,635 Bet mes naudojame doleris ženklai taip pat atstovauti kintamųjų vardai PHP, 438 00:22:05,635 --> 00:22:08,010 o ypač, kai aš naudojant šį metodą garbanotieji 439 00:22:08,010 --> 00:22:10,040 petnešomis kintamasis interpeliacija metodas, man reikia 440 00:22:10,040 --> 00:22:13,490 pabėgti mano dolerio ženklas, todėl ji nėra manau, kad aš kalbu apie kintamąjį. 441 00:22:13,490 --> 00:22:16,920 Tai vyksta iš tikrųjų, tiesiog atspausdinti dolerio ženklas. 442 00:22:16,920 --> 00:22:19,530 >> Taigi tarsi Analogizować jį tai, ką matote pabaigoje ten. 443 00:22:19,530 --> 00:22:22,832 Tai iš tikrųjų nėra Spausdinti Backslash N, tiesa? 444 00:22:22,832 --> 00:22:24,290 Jis spausdina naują eilutę charakterį. 445 00:22:24,290 --> 00:22:26,750 Tai is-- jis nesiruošia Spausdinti Backslash dolerio ženklas, 446 00:22:26,750 --> 00:22:30,130 jis ketina išspausdinti tik dolerio ženklas simbolių. 447 00:22:30,130 --> 00:22:30,640 Pačią idėją. 448 00:22:30,640 --> 00:22:32,760 Pabėgti sekas, ką šie dalykai yra vadinamas. 449 00:22:32,760 --> 00:22:37,080 >> Tačiau pastebite, kad aš nesu daro bet% s pavadavimų rūšiuoti, 450 00:22:37,080 --> 00:22:40,050 Aš tiesiog pažodžiui prijungti į šiuos kintamuosius. 451 00:22:40,050 --> 00:22:45,110 Ir taip this-- kas nutiktų čia yra tai, kad $ topping-- vertė vėl, 452 00:22:45,110 --> 00:22:48,390 tiesiog laikyti ką mes buvome kalbame apie taip far-- sūrio gaus 453 00:22:48,390 --> 00:22:49,720 prijungtas ten. 454 00:22:49,720 --> 00:22:54,780 Ir $ kaina būtų kokia reikšmė yra ne picos, skliausteliuose, sūris, 455 00:22:54,780 --> 00:22:56,270 kuris buvo 8,99. 456 00:22:56,270 --> 00:23:01,860 Ir taip, tai taip pat spausdinti "Visa sūrio pica kainuoja $ 8,99." 457 00:23:01,860 --> 00:23:05,160 Ir kaip sakiau, aš galėtų naudoti spausdinti čia vietoj echo, 458 00:23:05,160 --> 00:23:08,040 o funkcionalumas bus beveik lygiai tas pats. 459 00:23:08,040 --> 00:23:09,660 Būtų atsispausdinti tą patį. 460 00:23:09,660 --> 00:23:12,680 >> Yra dar vienas būdas tai padaryti, ir tai yra dar vienas privalumas 461 00:23:12,680 --> 00:23:14,710 PHP dirbti su stygos. 462 00:23:14,710 --> 00:23:17,130 Mes galime padaryti simbolių eilučių sujungimas. 463 00:23:17,130 --> 00:23:19,660 Mes galime tai padaryti C, taip pat, naudojant funkciją, vadinamą strcat, 464 00:23:19,660 --> 00:23:21,180 bet vėlgi, mes turėjome skambinti atskiras funkcijas. 465 00:23:21,180 --> 00:23:22,640 Tai buvo visas šis netvarka daryti. 466 00:23:22,640 --> 00:23:24,590 Mes turėjome svarą-yra string.h. 467 00:23:24,590 --> 00:23:25,780 Tai buvo gamyba, tiesa? 468 00:23:25,780 --> 00:23:30,070 Bet dabar galiu tik naudoti šią dot operatorius Jungiant eilutes kartu. 469 00:23:30,070 --> 00:23:34,910 >> Taigi, aš concatenating "visuma" ir tada nepriklausomai nuo $ įdaras yra, vertės nėra, 470 00:23:34,910 --> 00:23:38,860 ir tada kitas eilutė "picos kainuoja $" 471 00:23:38,860 --> 00:23:42,340 ir tada concatenating kokia nuo $ kainą yra, vertės nėra, 472 00:23:42,340 --> 00:23:45,670 ir tada pačioje pabaigoje aš Spręsti laikotarpis pasvirąjį n. 473 00:23:45,670 --> 00:23:47,926 Ir taip tai galėtų spausdinti "visuma", - vėl 474 00:23:47,926 --> 00:23:50,550 jei mes kalbame apie pirmą elementas tos picos array-- 475 00:23:50,550 --> 00:23:54,710 "Visa sūrio pica kainuoja $ 8,99." 476 00:23:54,710 --> 00:24:01,260 Laikotarpis, Backslash N, vėlgi, su $ įdaras ir $ kaina pakaito 477 00:24:01,260 --> 00:24:06,580 už tai, ką mes jau nurodyta mūsų foreach kilpa kaip rakto poros žemėlapių. 478 00:24:06,580 --> 00:24:08,050 >> PHP gali tvarkyti funkcijas. 479 00:24:08,050 --> 00:24:11,250 Funkcijos buvo tarsi neatsiejama C, kaip matėme. 480 00:24:11,250 --> 00:24:14,870 Kaip kintamųjų, mes nereikia nurodyti grįžimo tipo funkciją, 481 00:24:14,870 --> 00:24:16,350 nes tai tikrai ne klausimas. 482 00:24:16,350 --> 00:24:18,660 Ir mes neturime nurodėte duomenų tipų jokių parametrų, 483 00:24:18,660 --> 00:24:21,410 nes jie tikrai ne Nesvarbu, kaip mes matėme PHP. 484 00:24:21,410 --> 00:24:24,510 Kiekvienas funkcija yra įdiegta su funkcija raktinį žodį. 485 00:24:24,510 --> 00:24:27,920 Štai kaip mes nurodyti PHP kalba ką mes kalbame apie tai funkcija. 486 00:24:27,920 --> 00:24:29,720 >> Ir mes neturime spręsti pagrindinis ne visi, 487 00:24:29,720 --> 00:24:33,690 nes vertėjo, PHP interpretatorius, veikia nuo viršaus į apačią, 488 00:24:33,690 --> 00:24:34,190 nepriklausomai. 489 00:24:34,190 --> 00:24:35,640 Jei jis mato galite padaryti funkcija skambutis, jis bus 490 00:24:35,640 --> 00:24:37,850 eiti rasti skambinimo funkcijos, net jei jis ateina vėliau. 491 00:24:37,850 --> 00:24:40,360 Bet ji ketina skaityti iš viršaus į apačioje, todėl nereikia nurodyti, 492 00:24:40,360 --> 00:24:41,500 čia, kur jums pradėti. 493 00:24:41,500 --> 00:24:46,700 Jūs pradedate nuo 1 eilutėje jūsų PHP ir dirbti žemyn iš ten. 494 00:24:46,700 --> 00:24:49,690 >> Taigi čia yra, kaip mes norėtume sukurti funkcija vadinama hard_square. 495 00:24:49,690 --> 00:24:54,100 Tai, matyt, užima vieną parametras, kuris aš skambinti $ x. 496 00:24:54,100 --> 00:24:58,424 Ši funkcija yra sudėtingas tik iliustruoti įvairių dalykų. 497 00:24:58,424 --> 00:24:59,590 Mes vis dar turime grąžinimo vertybes. 498 00:24:59,590 --> 00:25:00,870 Aš naudoju for ciklas čia. 499 00:25:00,870 --> 00:25:04,970 Tačiau tai iš esmės tik, ką šis sudaro vos $ x $ x kartų. 500 00:25:04,970 --> 00:25:10,520 Ką aš iš tikrųjų daro tiesiog pridedant x 0 x kartų arba $ x $ nulinės x kartų. 501 00:25:10,520 --> 00:25:15,850 Bet tai iš tikrųjų tiksliai tas pats kaip dauginant $ x $ x kartų. 502 00:25:15,850 --> 00:25:18,700 Aš vis dar gali grįžti vertę, šiuo atveju $ rezultatas, 503 00:25:18,700 --> 00:25:22,060 ir aš atlikau PHP funkciją. 504 00:25:22,060 --> 00:25:24,160 >> Štai kaip jūs galite naudoti ją kontekste. 505 00:25:24,160 --> 00:25:26,020 Taigi gal aš viduje tam tikru PHP failą. 506 00:25:26,020 --> 00:25:29,240 Nuoroda mėlyna ten, kad Aš naudojau savo PHP skirtukus, 507 00:25:29,240 --> 00:25:31,010 kampas laikiklis klaustukas PHP. 508 00:25:31,010 --> 00:25:35,180 Tarp jų yra visi PHP, kad aš noriu rašyti. 509 00:25:35,180 --> 00:25:37,840 Taigi, aš, matyt, ketina get-- Aš ruošiuosi paskatinti vartotoją 510 00:25:37,840 --> 00:25:41,550 man duoti numerį, parduotuvė, kuri kintamasis, parduotuvė, kad kintamasis $ x, 511 00:25:41,550 --> 00:25:43,320 ką jie man davė. 512 00:25:43,320 --> 00:25:48,590 Tada aš ruošiuosi echo hard_square šios vertės, 513 00:25:48,590 --> 00:25:50,370 ir, matyt, vyksta smeigtuko naują eilutę 514 00:25:50,370 --> 00:25:53,590 taip pat, o vėliau ant aš apibrėžti funkciją hard_square taip 515 00:25:53,590 --> 00:25:55,550 kad kai aš padaryti skambinti hard_square, 516 00:25:55,550 --> 00:25:58,160 jis žino, ką aš kalbu apie. 517 00:25:58,160 --> 00:26:00,705 >> Dabar, aš taip pat galėtų padaryti kažkas panašaus į tai. 518 00:26:00,705 --> 00:26:02,050 Tai yra šiek tiek kitoks. 519 00:26:02,050 --> 00:26:04,190 Tai beveik tiksliai pats, ką mes matėme anksčiau, 520 00:26:04,190 --> 00:26:08,400 išskyrus vietoj sakydamas tik $ x ten kaip parametras hard_square, 521 00:26:08,400 --> 00:26:11,730 Aš sakau $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Taigi, šis yra pavyzdys Gynybinės programavimas, 523 00:26:14,330 --> 00:26:17,070 saugojo savo programas nuo kenkėjiškų vartotojams. 524 00:26:17,070 --> 00:26:20,020 >> Tai yra vienas būdas padaryti tam tikrą klaidą tikrinti, kad mes tikrai ne 525 00:26:20,020 --> 00:26:24,670 turi kaip alternatyva C Galėtume niekada nurodyti numatytąją vertę kažką. 526 00:26:24,670 --> 00:26:27,010 Mes visada turėjo patikrinti ar, pavyzdžiui, 527 00:26:27,010 --> 00:26:30,820 jei mes padarėme paskambinti GetString, tai buvo Tinkamiausia jei iš karto po to, 528 00:26:30,820 --> 00:26:33,300 patikrinti, kad mes patikrino ar eilutę 529 00:26:33,300 --> 00:26:35,504 kad vartotojas davė mums nėra lygus nuliui, 530 00:26:35,504 --> 00:26:37,920 nes mes nenorime pradėti dirbti su null eilutę. 531 00:26:37,920 --> 00:26:39,670 >> Čia, tai yra būdas apsisaugoti nuo tai. 532 00:26:39,670 --> 00:26:43,480 Jei vartotojas nepateikia mums kažką kažkaip, ką mes ketiname daryti? 533 00:26:43,480 --> 00:26:46,080 Na, mes tiesiog pasakyti kokia jie nebuvo pateikti mums, 534 00:26:46,080 --> 00:26:47,705 mes tik ketina prijungti 10 vietoj. 535 00:26:47,705 --> 00:26:52,030 Taigi, jei jie nebuvo pateikti mums vertę, tiesiog naudokite 10 pagal nutylėjimą. Ir taip čia 536 00:26:52,030 --> 00:26:53,940 pastebėsite, kad aš padaryti kvietimas hard_square, 537 00:26:53,940 --> 00:26:55,980 bet ten ne laiku vartotojui, tiesa? 538 00:26:55,980 --> 00:26:57,540 Aš tiesiog padaryti tuščią pokalbį. 539 00:26:57,540 --> 00:27:00,860 >> Bet mano funkcija hard_square laukiasi parametrą. 540 00:27:00,860 --> 00:27:02,222 Kas tai vyksta atsispausdinti? 541 00:27:02,222 --> 00:27:03,680 Ji ketina išspausdinti 100, tiesa? 542 00:27:03,680 --> 00:27:05,720 Kadangi vartotojas nebuvo man nieko. 543 00:27:05,720 --> 00:27:08,970 Ir todėl aš tik ketina prisiimti kad 10-- 10 yra numatytoji reikšmė. 544 00:27:08,970 --> 00:27:13,760 Ir taip tai spausdinti iš 100 atskiroje eilutėje. 545 00:27:13,760 --> 00:27:16,390 >> PHP failus neturite būti tik vieną failą. 546 00:27:16,390 --> 00:27:19,480 Galite derinti kelis failus kartu, kaip jūs galite į C. būdas 547 00:27:19,480 --> 00:27:24,330 mes padarėme, kad C buvo paprastai padaryti šiek #include gauti header files ištrauktas. 548 00:27:24,330 --> 00:27:26,180 Mes nedarome, kad PHP. 549 00:27:26,180 --> 00:27:29,110 Mes darome kažką vadinama require_once. 550 00:27:29,110 --> 00:27:33,360 Ir tada ten visa ši dalykas, kas tai __dir__? 551 00:27:33,360 --> 00:27:36,510 Tai tiesiog ypatinga kintamasis, arba specialus pastovus, 552 00:27:36,510 --> 00:27:39,030 tikrai, kad nurodoma, ką jūsų dabartinis katalogas yra. 553 00:27:39,030 --> 00:27:41,320 Ir todėl jis ketina ieškoti Jūsų einamojo katalogo 554 00:27:41,320 --> 00:27:44,900 failo vadinamas cs50.php Šiame pavyzdyje čia 555 00:27:44,900 --> 00:27:50,490 ir jis ketina laikytis tą failą ne jūsų PHP programos viršuje 556 00:27:50,490 --> 00:27:56,980 darant prielaidą, kad jūs galėsite įdėti reikalauja kai eilėje prie jūsų PHP failo viršuje. 557 00:27:56,980 --> 00:28:01,474 >> Taigi PHP yra visų pirma naudojamas, bet ne išimtinai naudojamas, 558 00:28:01,474 --> 00:28:03,140 kaip internetinę programavimo kalbą. 559 00:28:03,140 --> 00:28:05,270 Tai tikrai, kaip ji atėjo į būti. 560 00:28:05,270 --> 00:28:06,980 Bet tai yra visiškai kalba, kaip mes matėme. 561 00:28:06,980 --> 00:28:10,105 Mes matėme gana daug visus dalykus , kad ji gali padaryti, kad yra panašūs į C, 562 00:28:10,105 --> 00:28:13,290 ir tai gali padaryti Heck daug daugiau nei tai. 563 00:28:13,290 --> 00:28:16,950 >> Bet kadangi tai yra pilnas kalba ir mes gali padaryti komandinės eilutės programų į jį. 564 00:28:16,950 --> 00:28:18,630 Mes galime paleisti komandinę eilutę programas. 565 00:28:18,630 --> 00:28:22,580 Visa tai reikalauja paleisti komandą eilutės programa, kad parašyta PHP 566 00:28:22,580 --> 00:28:24,260 yra tai, kad jūs turite PHP interpretatorių. 567 00:28:24,260 --> 00:28:27,460 Taigi, tai tarsi analogiškas atsižvelgdamas į savo sistemą kompiliatorių 568 00:28:27,460 --> 00:28:31,100 Jei norite kompiliuoti savo C kodą ją paversti vykdomąjį failą. 569 00:28:31,100 --> 00:28:33,810 Jūs turite PHP interpretatorių kad egzistuoja jūsų sistemoje 570 00:28:33,810 --> 00:28:37,330 taip, kad jūs galite suprasti PHP failus. 571 00:28:37,330 --> 00:28:40,370 >> Darant prielaidą, kad jūs darote, ir paprastai tai vertėjas yra vadinamas PHP, 572 00:28:40,370 --> 00:28:44,300 ir tai paprastai siejama su dauguma parsisiųsti arba įrenginių PHP 573 00:28:44,300 --> 00:28:47,430 kad jūs galite gauti internete, ir, žinoma, iš PHP vertėjo vardas 574 00:28:47,430 --> 00:28:49,550 mes turime CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Viskas, ką jums padaryti, tai tipo php failą. 576 00:28:51,819 --> 00:28:53,610 O ką jūsų programa s ketina padaryti, tai jis 577 00:28:53,610 --> 00:28:55,360 ketina paleisti per vertėjas, tai 578 00:28:55,360 --> 00:28:58,040 ketina ignoruoti viską, kas ne tarp klausimą mark-- 579 00:28:58,040 --> 00:29:03,160 arba kampas laikiklis klaustukas PHP, PHP separatoriai ir atspausdinti jį, 580 00:29:03,160 --> 00:29:07,660 ir jis bus interpretuoti ir vykdyti kodas viduje PHP separatoriai. 581 00:29:07,660 --> 00:29:12,850 >> Taigi leiskite pop perkelti į CS50 IDE ir turėti pažvelgti į PHP failus pora, 582 00:29:12,850 --> 00:29:19,850 veikia PHP failus pora, į komandinės eilutės sąsaja CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Taigi čia mes esame CS50 IDE, ir aš ėmėsi laisvę 584 00:29:22,100 --> 00:29:25,800 atidaryti failą pavadinimu hello1.php. 585 00:29:25,800 --> 00:29:29,920 Ir, matyt, šio turinys failas yra tik PHP separatoriai ten, 586 00:29:29,920 --> 00:29:32,220 ir tarp jų, echo ("Sveikas, pasauli"). 587 00:29:32,220 --> 00:29:34,710 Tai gana paprasta PHP programa. 588 00:29:34,710 --> 00:29:37,670 Aš tik ketina slinkti žemyn mano terminalo lange čia 589 00:29:37,670 --> 00:29:44,320 ir aš ruošiuosi rašyti php hello1.php, paspauskite Enter. 590 00:29:44,320 --> 00:29:44,950 Sveikas Pasauli. 591 00:29:44,950 --> 00:29:48,110 Tai tikriausiai, kas mes buvome tikisi, kad tai padaryti, tiesa? 592 00:29:48,110 --> 00:29:51,140 >> Vykime ir imtis kitą pažvelgti programą. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 Beveik tas pats, ne daug vyksta čia. 595 00:29:55,090 --> 00:29:57,190 Šį kartą, nors aš ruošiuosi greitai vartotojas duoti man savo vardus. 596 00:29:57,190 --> 00:29:59,290 Aš naudoju tą readline funkciją dar kartą. 597 00:29:59,290 --> 00:30:01,340 $ pavadinimas = readline. 598 00:30:01,340 --> 00:30:03,070 Štai greitas, "Kas yra tavo vardas?" 599 00:30:03,070 --> 00:30:04,880 >> Matyt aš spausdinimas jis savo linija. 600 00:30:04,880 --> 00:30:07,220 Ir tada, todėl linija žemiau kad bus laiku 601 00:30:07,220 --> 00:30:08,750 , kuriame vartotojas gali įvesti savo vardą. 602 00:30:08,750 --> 00:30:12,030 Ir tada aš naudoju šiek tiek kintamasis interpeliacija čia on-line 3 603 00:30:12,030 --> 00:30:14,780 spausdinti "labas" ir kokia vartotojas tipų. 604 00:30:14,780 --> 00:30:22,040 Taigi tai yra analogiškas sakydamas Sveiki, kablelis,% s, jeigu mes buvome naudojant printf C 605 00:30:22,040 --> 00:30:24,910 >> Taigi eikime ir interpretuoti šią programą. 606 00:30:24,910 --> 00:30:27,400 Taigi dar kartą, aš slinkite žemyn mano terminalo lange. 607 00:30:27,400 --> 00:30:29,070 PHP hello2.php. 608 00:30:29,070 --> 00:30:31,920 609 00:30:31,920 --> 00:30:33,820 Koks tavo vardas? 610 00:30:33,820 --> 00:30:35,490 Doug. 611 00:30:35,490 --> 00:30:36,526 Sveiki, Doug. 612 00:30:36,526 --> 00:30:39,440 Aš taip pat turiu kitą failas, vadinamas hello3.php. 613 00:30:39,440 --> 00:30:42,850 Aš ruošiuosi išvalyti ekranas su valdymo L, 614 00:30:42,850 --> 00:30:46,210 ir aš ruošiuosi atlikti, kad. 615 00:30:46,210 --> 00:30:47,640 Koks tavo vardas? 616 00:30:47,640 --> 00:30:49,020 Doug. 617 00:30:49,020 --> 00:30:49,780 Sveiki, Doug. 618 00:30:49,780 --> 00:30:56,540 Taigi elgesį yra identiškas hello2.php, bet kodėl jis hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Na, čia yra skirtumas. 620 00:30:58,040 --> 00:31:00,620 Šiuo atveju pranešimas kad čia 1 eilutę, 621 00:31:00,620 --> 00:31:04,270 Turiu kažką, kad nėra tarp PHP separatoriai. 622 00:31:04,270 --> 00:31:07,760 Aš tiesiog spausdinti out-- arba aš tiesiog įvedėte, "Kas yra tavo vardas?" 623 00:31:07,760 --> 00:31:12,060 Kai PHP interpretatorius mato tai, neturi jokios idėjos, kaip ją interpretuoti kaip PHP, 624 00:31:12,060 --> 00:31:15,060 ir todėl vietoj jei, tai tik ketina jį išspjaukite. 625 00:31:15,060 --> 00:31:19,010 >> Taigi pastebėti on-line 3 dabar mano kvietimą į readline, nėra greitas nebėra. 626 00:31:19,010 --> 00:31:21,750 Aš tiesiog iš tikrųjų vyksta, kai to-- PHP interpretatorius mano, kad tai, 627 00:31:21,750 --> 00:31:23,400 jis ketina išspausdinti "Koks tavo vardas?" 628 00:31:23,400 --> 00:31:25,941 Tada jis mato, oi, gerai, here's-- visa kita bus 629 00:31:25,941 --> 00:31:29,970 aiškinama kaip PHP, todėl Štai kodėl tai veikia. 630 00:31:29,970 --> 00:31:34,990 Aš neturiu būtinai paprašys vartotojas to-- viduje readline, 631 00:31:34,990 --> 00:31:37,490 Aš galiu tik jį už iš PHP separatoriai 632 00:31:37,490 --> 00:31:41,490 ir leisti vertėją tiesiog atsispausdinti jį man. 633 00:31:41,490 --> 00:31:45,364 >> Taigi jūs neturite iš tikrųjų turi tik turėti vieną rinkinį PHP separatoriai 634 00:31:45,364 --> 00:31:46,030 į savo programą. 635 00:31:46,030 --> 00:31:49,887 Jūs iš tikrųjų gali turėti keletą iš jų, atidarymo ir uždarymo juos, kaip reikia. 636 00:31:49,887 --> 00:31:51,720 Taigi leiskite pažvelgti esant programų pora 637 00:31:51,720 --> 00:31:55,070 į CS50 IDE, kur mes iliustruoja šią mintį, turintys 638 00:31:55,070 --> 00:31:58,376 keli komplektai apibrėžiamas PHP. 639 00:31:58,376 --> 00:32:02,010 >> Gerai, kad aš atidarė failą čia vadinamas add1.php. 640 00:32:02,010 --> 00:32:03,390 Ir pastebėti, kas vyksta čia. 641 00:32:03,390 --> 00:32:08,077 Tiesiog kaip ir anksčiau, aš turiu vieno PHP rinkinys separatoriai. 642 00:32:08,077 --> 00:32:10,660 Aš ruošiuosi atsispausdinti pranešimą "Prašome duoti man numerį." 643 00:32:10,660 --> 00:32:13,394 Tada aš ruošiuosi skaityti liniją ir laikykite jį kintamojo $ NUM1. 644 00:32:13,394 --> 00:32:14,810 Tada aš ruošiuosi spausdinti iš naujo. 645 00:32:14,810 --> 00:32:16,310 Duok man antrą numerį. 646 00:32:16,310 --> 00:32:20,450 Skaityti nuo vartotojo, parduotuvėje linija ką jie įvedėte į $ NUM2. 647 00:32:20,450 --> 00:32:23,980 Įtraukti juos kartu ir laikyti, kad sukelti kintamojo vadinamas $ suma, 648 00:32:23,980 --> 00:32:26,180 ir tada atsispausdinti, "The suma iš šių dviejų skaičių 649 00:32:26,180 --> 00:32:29,254 yra ", tada Zainterpelować ten kintamasis $ suma. 650 00:32:29,254 --> 00:32:31,170 Taigi tegul tiesiog paleisti tai per vertėją 651 00:32:31,170 --> 00:32:33,720 patvirtinti, kad tai, ką mes tikimės. 652 00:32:33,720 --> 00:32:37,540 PHP add1.php. 653 00:32:37,540 --> 00:32:38,665 Prašau duoti man numerį, 3. 654 00:32:38,665 --> 00:32:40,410 Prašau duoti man antrą skaičių, 4. 655 00:32:40,410 --> 00:32:43,370 Dėl šių dviejų skaičių suma yra 7. 656 00:32:43,370 --> 00:32:45,030 Štai 3 + 4. 657 00:32:45,030 --> 00:32:45,530 GERAI? 658 00:32:45,530 --> 00:32:47,770 Taigi nieko siaubingai išgalvotas ten. 659 00:32:47,770 --> 00:32:51,080 >> O dabar tegul atverti add2.php. 660 00:32:51,080 --> 00:32:54,460 Čia aš turiu PHP pora apibrėžiamas rinkiniai ten, tiesa? 661 00:32:54,460 --> 00:32:59,107 Linijos 1, 3-- linijos 1 ir 3 neturi PHP skirtukus. 662 00:32:59,107 --> 00:33:00,940 Taigi, kai vertėjas mato juos, tai tik 663 00:33:00,940 --> 00:33:03,220 ketina išspjauti tiksliai ką aš įvedėte ten. 664 00:33:03,220 --> 00:33:05,011 Štai kur aš daro visi mano raginimo. 665 00:33:05,011 --> 00:33:11,220 Dėl 2 ir 4 eilučių, matome labai susipažinęs $? php tarsi separatoriai, 666 00:33:11,220 --> 00:33:15,210 taip tos dvi eilutės yra ketina vykdyti kaip PHP. 667 00:33:15,210 --> 00:33:18,270 Ir tada eilutėje 5, turiu tai Keistas dalykas čia, tiesa? 668 00:33:18,270 --> 00:33:20,480 Šis kampas laikiklis klaustukas lygybės ženklas. 669 00:33:20,480 --> 00:33:22,660 Aš net padidinti šiek tiek toliau. 670 00:33:22,660 --> 00:33:29,270 Jūs galite pamatyti tai, ką aš kalbame apie teisę ten, šį $? =. 671 00:33:29,270 --> 00:33:33,420 >> Pasirodo, kad tai taip įprasta, kad priežastis, kad mes atverti PHP rinkinį 672 00:33:33,420 --> 00:33:36,055 separatoriai yra išspausdinti vertę. 673 00:33:36,055 --> 00:33:37,430 Ir tai viskas, ką mes ketiname daryti. 674 00:33:37,430 --> 00:33:39,220 Bet ten net sutrumpinimas už tai. 675 00:33:39,220 --> 00:33:46,490 $? = PHP sutrumpinimas sakydamas kažkas panašaus $ Php echo suma 676 00:33:46,490 --> 00:33:48,350 iš NUM1 ir NUM2. 677 00:33:48,350 --> 00:33:51,900 Taigi tai yra tik dar vienas sutrumpinta už tai. 678 00:33:51,900 --> 00:33:55,550 >> Taigi, jei aš paleisti šią programą, PHP add2.php. 679 00:33:55,550 --> 00:33:57,530 Aš padidinti žemyn truputį. 680 00:33:57,530 --> 00:33:59,000 Prašau duoti man numerį, 4. 681 00:33:59,000 --> 00:34:00,350 Prašau duoti man antrą numerį. 682 00:34:00,350 --> 00:34:04,650 O kadangi aš ne tikrai rūpi duomenų tipai PHP, galiu pasakyti, 4.8. 683 00:34:04,650 --> 00:34:07,160 Dėl šių dviejų skaičių suma yra 8,8. 684 00:34:07,160 --> 00:34:10,179 Ši funkcija elgiasi gana daug lygiai tas pats, kaip mes galime tikėtis, 685 00:34:10,179 --> 00:34:10,989 taip pat. 686 00:34:10,989 --> 00:34:13,114 Ir aš turiu dar viena atidaryta čia vadinamas dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Pabandykite dar kartą. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Turiu dar viena čia vadinamas dice1.php, kuris taip pat žr, 691 00:34:33,280 --> 00:34:37,440 turi tokią skliaustų klausimą pažymėti lygybės ženklo žymėjimo ten, 692 00:34:37,440 --> 00:34:40,659 bet pastebėsite, kad šiuo atveju aš paskambinę funkcija rand, kuris, kaip jums 693 00:34:40,659 --> 00:34:42,790 galima tikėtis generuoja atsitiktinius skaičius. 694 00:34:42,790 --> 00:34:46,889 "Jūs valcavimo", ir jis ketina apskaičiuoti tam tikrą atsitiktinį skaičių, mod 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Taigi, kad jums duoti man skaičių į 1-6 intervale. 697 00:34:49,989 --> 00:34:53,040 >> Atminkite, kad mod 6 man duotų yra vienas iš 0-5 intervale, skaičius, 698 00:34:53,040 --> 00:34:56,630 bet jei aš imituoti kauliukai ritininis, o tai, ką aš darau čia 699 00:34:56,630 --> 00:35:00,040 Aš nenoriu šie kauliukai eiti nuo 0 5, noriu kauliukus, kad eiti nuo 1 iki 6. 700 00:35:00,040 --> 00:35:02,800 Ir taip, tai yra būdas gauti me į 1-6 intervale. 701 00:35:02,800 --> 00:35:04,720 Darau tai du kartus. 702 00:35:04,720 --> 00:35:08,630 Taigi, matyt, aš valcavimo du kauliukai šioje programoje. 703 00:35:08,630 --> 00:35:15,210 >> Taigi aš išvalyti mano ekrano, ir aš padaryti php dice1.php. 704 00:35:15,210 --> 00:35:16,640 Jūs valcavimo 4 ir 2. 705 00:35:16,640 --> 00:35:19,156 Ir jei aš paleisti programą Vėlgi, jūs valcavimo 5 ir 5. 706 00:35:19,156 --> 00:35:21,780 Taigi kiekvieną kartą, kai aš paleisti programą, Gaunu skirtingus numerius, 707 00:35:21,780 --> 00:35:24,280 nes kiekvieną kartą, aš Taigi, tai pradeda daugiau. 708 00:35:24,280 --> 00:35:27,250 Ji ketina sukurti naujas nustatyti atsitiktinių skaičių už mane. 709 00:35:27,250 --> 00:35:29,790 >> Taigi, jei mes įpratę veikiančias programas iš C, 710 00:35:29,790 --> 00:35:32,520 mes įpratę rašyti ./ Pavadinimas programą, tiesa? 711 00:35:32,520 --> 00:35:35,090 Štai kaip mes padarėme viską mūsų programas C iki šiol. 712 00:35:35,090 --> 00:35:37,555 Mes galime tai padaryti PHP taip pat pridedant kažką vadinama 713 00:35:37,555 --> 00:35:40,026 Szulernia prie mūsų PHP failo viršuje. 714 00:35:40,026 --> 00:35:41,400 Žinau, kad tai rūšies kvailas žodis. 715 00:35:41,400 --> 00:35:44,540 Tai trumpas maišos trenksmu. 716 00:35:44,540 --> 00:35:46,300 Štai du pirmuosius ženklus ten. 717 00:35:46,300 --> 00:35:50,030 Įsiminti mes vadiname šauktukas Dažnai kompiuterių mokslo sprogimo. 718 00:35:50,030 --> 00:35:51,690 Ji taip pat gali būti už aštriu trenksmu. 719 00:35:51,690 --> 00:35:53,273 Yra keletas būdų ją interpretuoti. 720 00:35:53,273 --> 00:35:57,320 Bet tai iš esmės yra ypatinga Rūšiuoti Vadovavimo, kad PHP interpretatorius 721 00:35:57,320 --> 00:36:00,160 supranta, kaip, oi, aš noriu jums vykdyti šią programą, 722 00:36:00,160 --> 00:36:05,250 kuris yra akivaizdžiai / vartotojas / bin / php, kuris iš tikrųjų yra kur PHP interpretatorius 723 00:36:05,250 --> 00:36:08,590 specialiai gyvena mūsų sistemoje. 724 00:36:08,590 --> 00:36:12,530 Taigi it's-- kas atsitinka čia vertėjas supranta, OH, 725 00:36:12,530 --> 00:36:17,270 Aš, matyt, turėtų naudoti šioje programoje paleisti šį failą. 726 00:36:17,270 --> 00:36:20,010 Ir taip jis leidžia jums praleisti per žingsnį 727 00:36:20,010 --> 00:36:22,979 turintys pasakyti php something.php. 728 00:36:22,979 --> 00:36:25,020 Yra vienas kitas laimikis čia yra tai, kad, jei mes 729 00:36:25,020 --> 00:36:27,320 norime, kad mūsų programas dirbti kaip tikimasi, mes 730 00:36:27,320 --> 00:36:30,220 reikia padaryti kažką vadinama failas leidimo pakeitimas. 731 00:36:30,220 --> 00:36:33,380 Ir mes go-- ir kalbame šiek tiek šiek tiek daugiau apie rinkmenų leidimų pakeitimai 732 00:36:33,380 --> 00:36:37,550 mūsų vaizdo MVC, bet pakanka pasakyti, kad tai, ką jums reikia padaryti, 733 00:36:37,550 --> 00:36:42,760 siekiant, kad jūsų .php failai vykdomąjį. 734 00:36:42,760 --> 00:36:49,330 Taigi leiskite pažvelgti į tai, kaip Mūsų galutinis pavyzdys perkelta į CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Taigi čia IDE Turiu du failus šiame PHP katalogas, atrodo, nėra 736 00:36:53,910 --> 00:36:55,310 vadinamas .php. 737 00:36:55,310 --> 00:36:58,170 Turiu funkcija vadinama add-- Turiu failą pavadinimu ADD3 738 00:36:58,170 --> 00:37:00,650 ir byla vadinama dice2. 739 00:37:00,650 --> 00:37:03,680 Taigi Paimkime greitai atrodo ir atverti ADD3. 740 00:37:03,680 --> 00:37:08,300 Ir kaip jūs galite, skaitykite pradžioje mano failo Turiu šį Szulernia, tiesa? 741 00:37:08,300 --> 00:37:11,420 Tai maišos ženklą šauktukas. 742 00:37:11,420 --> 00:37:15,115 Dabar, jūs taip pat gal pastebėti, kad dėl kokios nors priežasties, 743 00:37:15,115 --> 00:37:16,990 Aš neturiu jokios sintaksės pabrėžiant nebėra, 744 00:37:16,990 --> 00:37:20,198 ir tai, ką aš užsiminiau anksčiau, kuris buvo, kad jei aš neturiu pavadinti savo failą 745 00:37:20,198 --> 00:37:23,040 .php, aš neturiu naudą iš sintaksės nebėra. 746 00:37:23,040 --> 00:37:26,220 Šis failas yra tiesiog vadinamas ADD3. 747 00:37:26,220 --> 00:37:30,960 Taigi, kad aš galiu paleisti jį vėliau su ./ ADD3 ir ne ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Taigi reason-- jis vis dar gerai, jis vis dar galioja PHP, 749 00:37:33,680 --> 00:37:37,000 Bet tai ne sintaksė pabrėžė, nes Šis failas yra nepakvietė something.php. 750 00:37:37,000 --> 00:37:41,580 Tai vienintelis realus skirtumas čia plius Szulernia. 751 00:37:41,580 --> 00:37:45,170 Taigi pažiūrėkime, kas atsitinka, kai Aš stengiuosi ir paleisti šią programą. 752 00:37:45,170 --> 00:37:50,780 ./ ADD3, kaip aš norėčiau su C. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ ADD3 nesuteiktas leidimas. 754 00:37:53,190 --> 00:37:55,390 Tai yra tai, ką jūs ketinate pamatyti, jei jūs pamiršti 755 00:37:55,390 --> 00:37:59,280 naudoti chmod komandą pakeisti failo leidimus. 756 00:37:59,280 --> 00:38:03,845 >> As it turns out, reguliariai PHP failai gali būti ne tik įvykdytas. 757 00:38:03,845 --> 00:38:06,970 Jie gali būti aiškinamas, bet mes daro kažką šiek tiek skiriasi čia. 758 00:38:06,970 --> 00:38:07,761 Mes jį paleidus. 759 00:38:07,761 --> 00:38:12,970 Ir todėl man reikia pridėti leidimą vykdymo, chmod a + x ADD3. 760 00:38:12,970 --> 00:38:15,680 Tada galiu pasakyti ./ ADD3. 761 00:38:15,680 --> 00:38:16,860 Prašau duoti man numerį. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Dėl šių dviejų skaičių suma yra 11. 764 00:38:20,490 --> 00:38:26,530 >> Be to, aš jau suCHMODintas dice2, todėl galiu tiesiog įveskite ./ dice2, 765 00:38:26,530 --> 00:38:31,260 Jūs valcavimo A 1 ir A 1, jums valcavimo 5 ir 4, ir taip toliau. 766 00:38:31,260 --> 00:38:33,680 >> Taigi, kad gana daug idėja PHP sintaksė, tiesa? 767 00:38:33,680 --> 00:38:35,221 Yra daug gauti per, aš žinau. 768 00:38:35,221 --> 00:38:39,160 Bet tikiuosi, kad jūs matėte, kad dabar, PHP tikrai nėra, kad skiriasi nuo C 769 00:38:39,160 --> 00:38:43,670 ir tikrai suteikia mums galimybę imtis ko žingsniu ar dvi. 770 00:38:43,670 --> 00:38:48,230 Mes iš tikrųjų neturime jaudintis per daug about-- mes darome tikrai ne 771 00:38:48,230 --> 00:38:51,605 nerimauti per daug apie žemo lygio detales, 772 00:38:51,605 --> 00:38:52,980 turėjo nerimauti su C, tiesa? 773 00:38:52,980 --> 00:38:56,170 Mes galime sutelkti dėmesį į aukštojo lygio dalykų, kad PHP 774 00:38:56,170 --> 00:39:01,090 leidžia mums daryti ir imtis už savaime suprantama, kad jis dirbs už mus. 775 00:39:01,090 --> 00:39:04,350 Taigi ji suteikia mums galimybę dabar Keičiant C PHP, 776 00:39:04,350 --> 00:39:08,280 padaryti programas, kurios yra daug daugiau sudėtingas ir galbūt daug labiau patikimas. 777 00:39:08,280 --> 00:39:13,070 >> Taigi, aš tikiuosi, kad jūs smagiai darbo su PHP, ir aš tikiu, Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 Tai CS50. 779 00:39:15,050 --> 00:39:17,637