1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG LLOYD: így már sokat a munka C, 3 00:00:07,370 --> 00:00:09,536 és C egy nagyon klassz nyelvet, mert ez ad 4 00:00:09,536 --> 00:00:12,840 képes merülni igazán alacsony szinten be a programokat. 5 00:00:12,840 --> 00:00:16,810 Kapunk a dolgokat, mint Tényleg percben manipulálásával 6 00:00:16,810 --> 00:00:18,800 egyedi bájt memóriát. 7 00:00:18,800 --> 00:00:21,420 Emlékezzünk vissza, hogy pointerek nagyon lehetővé teszi számunkra, hogy a rugalmasság. 8 00:00:21,420 --> 00:00:25,260 >> De mindig szükség van hogy finomszemcsés részletességgel 9 00:00:25,260 --> 00:00:26,820 programjainkban? 10 00:00:26,820 --> 00:00:28,210 Valószínűleg nem, ugye? 11 00:00:28,210 --> 00:00:30,376 És ha megyünk, hogy Kompromisszumot kell aközött, hogy 12 00:00:30,376 --> 00:00:32,911 képes megtenni nagyon, nagyon perc a dolgokat, és nagyon, nagyon 13 00:00:32,911 --> 00:00:35,910 nagy dolog, hogy nem kell azt gondolni, kb, nem kell végrehajtaniuk 14 00:00:35,910 --> 00:00:40,290 Ezek igazán nagy ötletek, ha ők már beépített számunkra, 15 00:00:40,290 --> 00:00:43,980 általában az épület nagy programok vagy nagy projekteket, 16 00:00:43,980 --> 00:00:49,130 mi valószínűleg fog err oldalán Az, hogy több nyelven cucc épült 17 00:00:49,130 --> 00:00:51,300 számunkra, ahelyett, Az alacsony szintű cucc. 18 00:00:51,300 --> 00:00:53,970 És ez az, ahol a PHP igazán jön be. 19 00:00:53,970 --> 00:00:58,200 >> Most, az egyik oka hogy tanítunk PHP CS50 20 00:00:58,200 --> 00:01:01,020 az, hogy ez erősen inspirálta C. És valóban, véleményem szerint, 21 00:01:01,020 --> 00:01:05,140 ott tényleg két progenitor nyelvek 22 00:01:05,140 --> 00:01:08,200 Nagyon gyakori manapság. 23 00:01:08,200 --> 00:01:10,110 C és a Lisp. 24 00:01:10,110 --> 00:01:13,280 És ők progenitor nyelveken mert minden más modern programozási 25 00:01:13,280 --> 00:01:17,380 nyelven, hogy a kifejlesztett Azóta ihlette 26 00:01:17,380 --> 00:01:20,330 által az egyik vagy a másik szintaktikailag. 27 00:01:20,330 --> 00:01:26,160 PHP-ben nagyon hasonló szintaktikai C, míg a nyelvek, mint a rendszer, 28 00:01:26,160 --> 00:01:27,900 például, amely lehet, hogy nem hallott, 29 00:01:27,900 --> 00:01:32,070 erősen inspirálta a nyelven nevű LISP, ami egy régebbi nyelvet. 30 00:01:32,070 --> 00:01:34,220 >> Tehát az ok, amit tanítunk PHP CS50 az, hogy 31 00:01:34,220 --> 00:01:37,730 ismeretében C mint alapvetően mint te ezen a ponton, 32 00:01:37,730 --> 00:01:41,280 felvette a PHP, amely megadja a képesség, hogy nem sokkal magasabb szintű dolgokat 33 00:01:41,280 --> 00:01:44,710 mint a C-nek, nem olyan nagy akadály, 34 00:01:44,710 --> 00:01:48,230 mert már van a alapgondolata a szintaxis. 35 00:01:48,230 --> 00:01:50,590 C 'körül szinte 45 éves ezen a ponton. 36 00:01:50,590 --> 00:01:52,780 PHP már körülbelül 20 éve. 37 00:01:52,780 --> 00:01:57,080 És abban a 25 évben között, programozók 38 00:01:57,080 --> 00:02:01,540 elhatározták, hogy mennyi Inkább magasabb szintű képességek, 39 00:02:01,540 --> 00:02:04,970 és az elkövetett hibák és a küzdelmek A 20 év között 40 00:02:04,970 --> 00:02:08,210 vezetett PHP és egyéb modern nyelvek. 41 00:02:08,210 --> 00:02:11,039 >> PHP a nagy választék nyelvét szoftver 42 00:02:11,039 --> 00:02:14,042 hogy allow-- számára szoftverek hogy-- ahol 43 00:02:14,042 --> 00:02:16,250 kell csinálni a dolgokat, hogy a C valójában bonyolult. 44 00:02:16,250 --> 00:02:18,480 Így például, a munka A húrok C 45 00:02:18,480 --> 00:02:21,709 nagyon bonyolult, mert mint tudjuk, húrok C 46 00:02:21,709 --> 00:02:23,250 tényleg csak tömbök karakter. 47 00:02:23,250 --> 00:02:25,230 Ez nem egy beépített adattípus. 48 00:02:25,230 --> 00:02:28,220 Vagy talán még lényegesebb, valami, amit nem is terjed ki a C, 49 00:02:28,220 --> 00:02:30,360 mi van, ha meg kell csinálni Egyes számítógép-hálózatok? 50 00:02:30,360 --> 00:02:30,860 Minden rendben? 51 00:02:30,860 --> 00:02:34,920 >> C képes csinálni, de annyira misztikus és így nehéz ténylegesen. 52 00:02:34,920 --> 00:02:37,580 Nem lenne jó, ha a nyelv volt egy beépített, egyszerű módja 53 00:02:37,580 --> 00:02:38,910 végrehajtásához hálózatépítés? 54 00:02:38,910 --> 00:02:43,420 És PHP nyelv ami ezt, vagy elősegíti, hogy egy kicsit több. 55 00:02:43,420 --> 00:02:47,740 Mint mondtam, PHP-ben nagyon erősen inspirált C. A szintaxis nagyon hasonló. 56 00:02:47,740 --> 00:02:51,760 És ez így remélhetőleg, hogy a átmenet az egyik a másik 57 00:02:51,760 --> 00:02:54,710 Egy kicsit lágyabb, mint néhány Más nyelveken lehet. 58 00:02:54,710 --> 00:02:58,800 >> Írásához PHP, csak nyissa fel egy fájlt a .php fájl kiterjesztését. 59 00:02:58,800 --> 00:03:00,670 Technikailag ez nem valóban szükséges, 60 00:03:00,670 --> 00:03:04,495 de ha akarod, a dolgok, mint szintaktikai kiemelve az IDE, hogy a típus 61 00:03:04,495 --> 00:03:07,620 nevek, vagy változó neve, beosztása, Tudod, a kulcsszavak a nyelven 62 00:03:07,620 --> 00:03:10,090 kiemelve a egyedi szín, akkor általában 63 00:03:10,090 --> 00:03:14,020 szeretné elnevezni a fájlokat Egy adott fájl kiterjesztését. 64 00:03:14,020 --> 00:03:18,430 Így már elemzi a fájl egy .php kiterjesztése, de akkor is a PHP, 65 00:03:18,430 --> 00:03:23,310 minden PHP kódot írunk, hogy fájlt kell csatolni ezekben PHP 66 00:03:23,310 --> 00:03:25,190 határolójelek hogy látjuk itt a képernyőn. 67 00:03:25,190 --> 00:03:27,910 Hegyes zárójel? Php kezdeni. 68 00:03:27,910 --> 00:03:30,860 Aztán írunk minden kedves PHP kódot, amit szeretnénk a kettő között. 69 00:03:30,860 --> 00:03:32,260 És akkor ? 70 00:03:32,260 --> 00:03:34,710 hegyes zárójel zárja. 71 00:03:34,710 --> 00:03:37,170 >> Ha ezt nem tesszük meg, akkor mi fog történni? 72 00:03:37,170 --> 00:03:38,170 Ez nem fog zuhanni. 73 00:03:38,170 --> 00:03:39,410 Ez nem fog valóban tönkreteheti a programunk. 74 00:03:39,410 --> 00:03:41,440 De ez nem megy, hogy a hatás, amit szeretnénk. 75 00:03:41,440 --> 00:03:44,540 Mi fog történni, tényleg, hogy amikor megpróbáljuk, és a program futtatásához, 76 00:03:44,540 --> 00:03:50,330 mindent nem azok között határoló fog kinyomtatható szó szerint. 77 00:03:50,330 --> 00:03:52,210 Ez nem fog ténylegesen végre a kódot, 78 00:03:52,210 --> 00:03:56,010 ez lesz most nyomtassa ki szó szerint. 79 00:03:56,010 --> 00:03:57,320 >> Most miért ez a helyzet? 80 00:03:57,320 --> 00:04:00,416 Tehát C, amit ismert, mint egy összeállított nyelvet. 81 00:04:00,416 --> 00:04:03,040 Te bizonyára ismeri azt a lépést, hogy a programok, 82 00:04:03,040 --> 00:04:07,820 fordult a .c fájlok és .h fájlok egy végrehajtható make, 83 00:04:07,820 --> 00:04:11,130 különösen a Csengés, mint a mi fordító. 84 00:04:11,130 --> 00:04:13,030 PHP, bár nem ezt azzal egyenértékű. 85 00:04:13,030 --> 00:04:15,600 PHP, amit hívják értelmezett nyelv. 86 00:04:15,600 --> 00:04:16,760 És ez mit jelent? 87 00:04:16,760 --> 00:04:20,680 >> Nos, ez azt jelenti, hogy nem kell átalakítani a forráskód nullák 88 00:04:20,680 --> 00:04:21,470 előzetesen. 89 00:04:21,470 --> 00:04:23,900 Inkább van egy programot, amely más néven 90 00:04:23,900 --> 00:04:29,771 PHP, amely megérti a PHP és lehet valami, hogy ez a menet. 91 00:04:29,771 --> 00:04:32,520 Ez nem igazán pontosan pontos, de ez egy nagyon jó analógia 92 00:04:32,520 --> 00:04:33,760 hogy mi történik. 93 00:04:33,760 --> 00:04:37,230 Ez ezeket értelmező nullák és egyesek a repülésre. 94 00:04:37,230 --> 00:04:40,160 És így, ha nem tudja, hogyan kell feldolgozni valamit, 95 00:04:40,160 --> 00:04:42,800 ha nem tudja, hogyan kell folyamat PHP, akkor valószínűleg 96 00:04:42,800 --> 00:04:44,680 akarta tenni, hogy a szöveg ott, ugye? 97 00:04:44,680 --> 00:04:48,960 >> Valószínűleg akarta tenni a kódot ott, akkor is, ha ez nem közötti PHP-- 98 00:04:48,960 --> 00:04:50,035 A PHP zárni. 99 00:04:50,035 --> 00:04:51,910 De-- így ez nem fog törölni az Ön számára, 100 00:04:51,910 --> 00:04:53,576 ez csak fog alapvetően megválni tőle. 101 00:04:53,576 --> 00:04:55,550 Így fog nyomtatni ki a képernyőre. 102 00:04:55,550 --> 00:04:57,150 >> Ez úgy tűnik, mintha ez egy rossz dolog, de valójában ez 103 00:04:57,150 --> 00:04:58,220 lesz igazán jó dolog, mivel mi 104 00:04:58,220 --> 00:05:00,390 látni, amikor arról beszélünk, PHP webfejlesztés, 105 00:05:00,390 --> 00:05:04,010 mert azt jelenti, hogy közbeszór PHP és HTML. 106 00:05:04,010 --> 00:05:06,640 Mi lehet használni őket össze, hogy egy dinamikusabb weboldalt. 107 00:05:06,640 --> 00:05:10,650 De még az, hogy a video PHP webfejlesztés. 108 00:05:10,650 --> 00:05:12,021 >> Tehát mi a szintaxis a PHP? 109 00:05:12,021 --> 00:05:13,520 Ez az, amit ez a videó szól. 110 00:05:13,520 --> 00:05:14,850 Beszéljünk róla. 111 00:05:14,850 --> 00:05:16,490 >> Szóval indulni, változók. 112 00:05:16,490 --> 00:05:18,030 PHP változók léteznek. 113 00:05:18,030 --> 00:05:20,067 Már csak két nagy különbségek C. 114 00:05:20,067 --> 00:05:21,900 Az első az, hogy van nem típusleíróval. 115 00:05:21,900 --> 00:05:24,245 Nem kell mondanom, int, char, float, minden ilyesmi. 116 00:05:24,245 --> 00:05:25,620 Mi nem kell tennie, hogy többé. 117 00:05:25,620 --> 00:05:26,810 A PHP egy modern nyelvet. 118 00:05:26,810 --> 00:05:28,910 Meg lehet kitalálni, mit te akar csinálni, vagy hogy egy bevált 119 00:05:28,910 --> 00:05:30,451 Gondolom, hogy mit akar csinálni. 120 00:05:30,451 --> 00:05:31,700 Szóval ez nagyon szép. 121 00:05:31,700 --> 00:05:35,330 >> A másik dolog az, hogy az összes változó neveket kell kezdeni egy dollár jelet. 122 00:05:35,330 --> 00:05:36,940 Ez csak valami szokni. 123 00:05:36,940 --> 00:05:39,496 Ez egy kicsit furcsa, mert ez olyan, hogy a PHP megérti 124 00:05:39,496 --> 00:05:40,870 mi az a változó, és mi nem. 125 00:05:40,870 --> 00:05:43,340 Szóval minden változó neve kezdődik egy dollár jelet. 126 00:05:43,340 --> 00:05:46,884 Tehát C mondhatnánk valamit mint ez, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Nem kell csinálni, hogy már a PHP. 128 00:05:48,550 --> 00:05:52,540 Mi csak annyit $ x = 54. 129 00:05:52,540 --> 00:05:55,920 És azt mondhatnánk, például a C- ha már font-tartalmazta a CS50 .h 130 00:05:55,920 --> 00:06:00,314 header fájlt, mondhatnánk karakterlánc kifejezés = "Ez CS50." 131 00:06:00,314 --> 00:06:01,980 Mi nem kell tennie, hogy a PHP, mégis. 132 00:06:01,980 --> 00:06:04,865 Mi csak annyit $ kifejezésre = "Ez CS50." 133 00:06:04,865 --> 00:06:08,760 És valóban, húr most beépített adattípus PHP- 134 00:06:08,760 --> 00:06:10,950 vagy inkább a PHP amit egy string. 135 00:06:10,950 --> 00:06:15,612 Ez külön egy tömbben A karakterek, mint ez a C 136 00:06:15,612 --> 00:06:17,570 Minden kedvenc feltételes nyilatkozatok C 137 00:06:17,570 --> 00:06:19,520 továbbra is elérhető Önnek. 138 00:06:19,520 --> 00:06:21,140 Így nem nagy átmenet van. 139 00:06:21,140 --> 00:06:23,400 Mi lehet say-- mi lehet ha a nyilatkozatok, mint ez. 140 00:06:23,400 --> 00:06:28,210 ha a $ y 43, vagy $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Szóval ez elég egyértelmű. 142 00:06:29,690 --> 00:06:31,980 Mi lehet akkor és mást. 143 00:06:31,980 --> 00:06:34,210 Mi lehet akkor és mást, ha. 144 00:06:34,210 --> 00:06:36,430 >> És észre valamit nagyon szép itt, és ez a 145 00:06:36,430 --> 00:06:39,620 egyfajta egyike azoknak Előnyei PHP versus C, értesítés 146 00:06:39,620 --> 00:06:41,510 milyen funkciót mi nem használjuk itt? 147 00:06:41,510 --> 00:06:47,737 Mi használ == összehasonlítani a változó, $ nev, hogy egy string. 148 00:06:47,737 --> 00:06:49,070 Mi ezt nem tehette meg a C, ugye? 149 00:06:49,070 --> 00:06:53,200 Meg kellett használni a funkciót nevű StrComp vagy StrEndComp vagy bármely 150 00:06:53,200 --> 00:06:54,840 a vele kapcsolatban álló unokatestvérek. 151 00:06:54,840 --> 00:06:56,980 >> És így már látjuk ezeket az előnyöket. 152 00:06:56,980 --> 00:07:00,930 Nem kell, hogy tegyen valamit buta vagy talán unintuitive 153 00:07:00,930 --> 00:07:03,540 a hívás olyan függvény is StrComp ha csak azt akarom, hogy teszteljék 154 00:07:03,540 --> 00:07:05,237 hogy egy érték megegyezik egy húr. 155 00:07:05,237 --> 00:07:07,820 Tudtam csak használni egyenlő az egyenlők, mint amit tehettem mást. 156 00:07:07,820 --> 00:07:09,560 Szóval van egy előnye. 157 00:07:09,560 --> 00:07:13,350 >> Néha, az úton, lehet, lásd még ha egy szó, elseif. 158 00:07:13,350 --> 00:07:14,910 És ez rendben PHP is. 159 00:07:14,910 --> 00:07:17,020 Így néha lehet látni, hogy. 160 00:07:17,020 --> 00:07:17,790 Ez nem elírás. 161 00:07:17,790 --> 00:07:21,830 PHP valóban meg is érti elseif. 162 00:07:21,830 --> 00:07:23,980 Nem tudom, miért úgy határozott, hogy, hogy, 163 00:07:23,980 --> 00:07:28,220 de ahogy már sokszor láttuk egész videóinkat eddig, 164 00:07:28,220 --> 00:07:30,460 mi programozók szeretik, ha tehetünk a dolgok gyorsan, 165 00:07:30,460 --> 00:07:33,660 így megszabadulni, hogy a tér nyilvánvalóan a nagy előnye. 166 00:07:33,660 --> 00:07:34,800 >> Szóval ez if. 167 00:07:34,800 --> 00:07:37,540 Mi is a háromkomponensű üzemeltető, visszahívási kérdőjel vastagbél, 168 00:07:37,540 --> 00:07:43,262 az igazán rövid űrlapot, ha mást vagy feltételes elágazás. 169 00:07:43,262 --> 00:07:45,470 És úgy tűnik, ebben a, mit is próbálunk csinálni itt 170 00:07:45,470 --> 00:07:49,720 van hozzá a változó $ írni igaz vagy hamis, 171 00:07:49,720 --> 00:07:54,110 attól függően, hogy $ valtozo alfabetikus karakter. 172 00:07:54,110 --> 00:07:57,320 Szóval ez elég hasonló a isalpha hogy vagyunk tisztában a C. 173 00:07:57,320 --> 00:07:59,010 Ez a fajta az egyenértékű PHP. 174 00:07:59,010 --> 00:08:01,550 A funkció láthatóan nevű ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 de ez hogyan csináljuk a PHP. 176 00:08:03,450 --> 00:08:08,560 Szóval az egész lesz az, ha $ valtozo egy levél, $ írni igaz. 177 00:08:08,560 --> 00:08:13,820 Ha a $ var nem írni, $ levél hamis. 178 00:08:13,820 --> 00:08:15,820 >> Mi is switch kimutatásokat is. 179 00:08:15,820 --> 00:08:17,870 Gondolunk azokra származó C is. 180 00:08:17,870 --> 00:08:22,480 Legtetején van, hogy hogyan csináljuk valami ilyesmit get int, vagy kap húr. 181 00:08:22,480 --> 00:08:23,845 Tehát a PHP-nek, hogy épített. 182 00:08:23,845 --> 00:08:25,470 Nem kell a CS50 könyvtár többé. 183 00:08:25,470 --> 00:08:27,237 Mi is csak használni a funkciót readline. 184 00:08:27,237 --> 00:08:29,820 Hogy ez mit fog csinálni a nyomtatási azt az üzenetet, "A állam, 185 00:08:29,820 --> 00:08:33,820 please "majd villogó prompt várja, hogy a felhasználó bemeneti 186 00:08:33,820 --> 00:08:34,739 néhány információt. 187 00:08:34,739 --> 00:08:36,530 Most vegyük észre, mi mást tehetünk kapcsolóval. 188 00:08:36,530 --> 00:08:39,105 Ha korábban is használtam, Talán emlékeznek, hogy kapcsoló 189 00:08:39,105 --> 00:08:44,960 korlátozódik elég sokat egészek és karakter, de most már tudjuk használni szálakat. 190 00:08:44,960 --> 00:08:50,190 És valóban, a switch PHP egy kicsit rugalmasabb 191 00:08:50,190 --> 00:08:54,880 mint a unokatestvére C. 192 00:08:54,880 --> 00:08:55,380 Hurkok. 193 00:08:55,380 --> 00:08:58,130 Csakúgy, mint a feltételes mód, az összes a régi kedvencek még mindig ott vannak. 194 00:08:58,130 --> 00:09:00,740 Van while számítanak 1-100 ebben az esetben. 195 00:09:00,740 --> 00:09:03,940 Mi már nem, miközben hurkok számítanak 1-100, 196 00:09:03,940 --> 00:09:06,200 és mi van a hurok számítanak 1-100. 197 00:09:06,200 --> 00:09:07,220 Tehát nem nagy ugrás van. 198 00:09:07,220 --> 00:09:09,360 A szintaxis elég sokkal pontosan ugyanaz, 199 00:09:09,360 --> 00:09:11,760 kivéve, hogy most mi használ dollár jel változó helyett 200 00:09:11,760 --> 00:09:17,260 nyilvánításának integer vagy valami ilyesmi a mi számlálók. 201 00:09:17,260 --> 00:09:20,090 >> Itt, ahol a dolgok egy sokkal jobb, mint a C, mégis. 202 00:09:20,090 --> 00:09:21,020 Tömbök. 203 00:09:21,020 --> 00:09:23,020 Szóval emlékszem, amikor mi voltunk beszélünk C, annak érdekében, 204 00:09:23,020 --> 00:09:25,560 számunkra, hogy növekszik és csökken információkészletek, 205 00:09:25,560 --> 00:09:28,310 mi szükség van egyfajta alapértelmezett hogy ezt az ötletet egy láncolt lista, 206 00:09:28,310 --> 00:09:30,780 mert a C tömbök rögzítették méretű. 207 00:09:30,780 --> 00:09:31,800 Nem zsugorodik őket. 208 00:09:31,800 --> 00:09:32,930 Nem növekedni őket. 209 00:09:32,930 --> 00:09:36,074 Meg kellett átcsoportosítása memória és mindezt őrület 210 00:09:36,074 --> 00:09:38,490 vagy használja láncolt listák, amelyek vegye fel egy kicsit több helyet. 211 00:09:38,490 --> 00:09:41,590 De PHP tömbök Nem fix méretű többé. 212 00:09:41,590 --> 00:09:43,240 Ők nőhet, és lehet zsugorodik. 213 00:09:43,240 --> 00:09:46,660 Tehát még egyszer: a 20 év, hogy létezett között az első kiadás a C 214 00:09:46,660 --> 00:09:49,440 és az első kiadás PHP, úgy döntöttünk, hogy tudod, 215 00:09:49,440 --> 00:09:51,670 akkor lenne igazán nagyszerű ha meg tudnánk csinálni. 216 00:09:51,670 --> 00:09:54,100 És így végre ezt. 217 00:09:54,100 --> 00:09:58,040 >> Tehát PHP tömbök nem rögzített mérete, és mivel a PHP nem igazán 218 00:09:58,040 --> 00:10:03,090 Van programozó utcára néz fogalmát típusú, 219 00:10:03,090 --> 00:10:05,110 tudjuk keverni adattípusok a mi tömbök is. 220 00:10:05,110 --> 00:10:08,100 Tehát nem is kell, hogy minden egészek, vagy az összes lebegő pontokat, 221 00:10:08,100 --> 00:10:12,826 mi lehet vegyesen is Különböző egyetlen tömbben. 222 00:10:12,826 --> 00:10:14,700 Nyilvánító tömb elég egyértelmű. 223 00:10:14,700 --> 00:10:16,116 Olyan ez, mint bármilyen más változó. 224 00:10:16,116 --> 00:10:20,020 $ nums = array (1, 2, 3, 4), tömb a függvénye 225 00:10:20,020 --> 00:10:22,760 ami épített PHP hogy létrehoz egy tömböt az Ön számára. 226 00:10:22,760 --> 00:10:28,315 Ez egy tömböt hoz létre négy értékeket, számok ebben az esetben, az úgynevezett $ nums. 227 00:10:28,315 --> 00:10:29,940 És van több, mint egy módja annak, hogy csináld. 228 00:10:29,940 --> 00:10:32,420 És megyünk látni ezt a sok PHP. 229 00:10:32,420 --> 00:10:36,380 PHP által kifejlesztett számos különböző az emberek és a nő és nő és nő. 230 00:10:36,380 --> 00:10:40,050 Általában mindig van nem csak két, vagy Három módon, hogy tegyen valamit a PHP, 231 00:10:40,050 --> 00:10:42,170 ott általában 10, 20. 232 00:10:42,170 --> 00:10:45,300 Itt is csak egy újabb közös módja annak, hogy egy tömböt. 233 00:10:45,300 --> 00:10:48,310 $ nums = szögletes zárójel 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Tehát ez a fajta hasonlít a C szöge br-- kapcsos zárójel jelölést, inkább. $ - 235 00:10:53,170 --> 00:10:58,525 vagy lenne int nums téren zárójelben egyenlő göndör merevítő 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 A PHP ez $ nums = téren zárójelben 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 De mind a két példa erre, hogy nekem egy sor négy ebben az esetben egész számokat. 238 00:11:08,920 --> 00:11:10,920 >> Mit tegyünk, ha a forduláshoz valamit most? 239 00:11:10,920 --> 00:11:14,760 Hát én csak annyit $ nums 4, amely megint, még mindig jobbról 0 itt 240 00:11:14,760 --> 00:11:17,800 PHP, akkor az ötödik elem a tömb. 241 00:11:17,800 --> 00:11:18,990 Én csak azt mondom, hogy. 242 00:11:18,990 --> 00:11:22,860 Nem fogok szenvedni egy seg Hiba, mert a tömb csak 243 00:11:22,860 --> 00:11:24,337 nőni fog befogadni ezt. 244 00:11:24,337 --> 00:11:25,420 Ez elég szép, ugye? 245 00:11:25,420 --> 00:11:28,400 És valóban, nem is kell, hogy adja meg, hová akarok mondani. 246 00:11:28,400 --> 00:11:31,220 Én csak azt mondom ezt, és csak tack meg közvetlenül, hogy a végén, 247 00:11:31,220 --> 00:11:34,099 Vagy akár akár csak mondjuk $ nums 20 vagy 1000. 248 00:11:34,099 --> 00:11:35,140 Ez nem igazán számít. 249 00:11:35,140 --> 00:11:38,330 Még mindig csak fog tack meg közvetlenül a végéig. 250 00:11:38,330 --> 00:11:41,490 >> Szóval én is nő, és as-- vagyunk Nem fog ellepje itt, 251 00:11:41,490 --> 00:11:45,360 de azt is toldja meg, és szalag elemeket ki a tömb is, 252 00:11:45,360 --> 00:11:50,064 és a tömb zsugorodik elhelyezésére hogy most hiányzik vagy üres helyet. 253 00:11:50,064 --> 00:11:52,230 Van egy másik módja a forduláshoz valamit rá egy tömb, 254 00:11:52,230 --> 00:11:54,330 amely egy olyan függvény is array_push. 255 00:11:54,330 --> 00:11:57,860 Tehát újra, csak ez a gondolat, hogy képes megtenni dolgokat sokféleképpen. 256 00:11:57,860 --> 00:12:01,950 Így láttuk három különböző módon most a forduláshoz egy másik elemmel, egy tömbben. 257 00:12:01,950 --> 00:12:06,900 Tehát ez egy újabb elem hogy a végén a $ nums tömb. 258 00:12:06,900 --> 00:12:08,340 És mi lehet összekeverni a adattípusok. 259 00:12:08,340 --> 00:12:13,110 Így tudtam egy sor nem 1, 2, 3, 4, de az 1, igaz, 3, 4, 260 00:12:13,110 --> 00:12:16,420 ahol igaz egy logikai, majd ha azt akarom, hogy host másik elem 261 00:12:16,420 --> 00:12:20,860 E tömb, talán egy húr, a húr "öt" Én nem tudta elérni. 262 00:12:20,860 --> 00:12:26,110 És most én tömb lenne 1, igaz, 3, 4, öt. 263 00:12:26,110 --> 00:12:28,640 A szó öt, nem pedig egész 5. 264 00:12:28,640 --> 00:12:31,270 Szóval egy nagy rugalmasságot ott. 265 00:12:31,270 --> 00:12:33,290 >> A rugalmasság kap még jobb, mégis, 266 00:12:33,290 --> 00:12:37,530 mert PHP támogatja valamit nevű asszociatív tömb. 267 00:12:37,530 --> 00:12:40,660 És valami homályosan beszélt mintegy asszociatív tömbök a C 268 00:12:40,660 --> 00:12:44,740 összefüggésben a hash táblák, mert mi asszociatív tömbök valóban minden 269 00:12:44,740 --> 00:12:48,950 mintegy teszik kulcs érték pár leképezés. 270 00:12:48,950 --> 00:12:53,410 És ebben az esetben, a keys-- ha vagyunk tisztában tömbök a C, 271 00:12:53,410 --> 00:12:55,440 A kulcsok index számokat. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 És az értékek, amit találunk, hogy tömb 0, 1 tömb, tömb 2, és így tovább. 274 00:13:03,070 --> 00:13:06,310 Tehát a gombok indexek, és az értékek 275 00:13:06,310 --> 00:13:10,060 mi van a tömbben található, által meghatározott indexnek. 276 00:13:10,060 --> 00:13:15,130 >> De a PHP, nem kell ezt fogalmát tömb 0, 1 tömb, tömb 2 277 00:13:15,130 --> 00:13:15,830 többé. 278 00:13:15,830 --> 00:13:21,025 Most már használhatja a tényleges szavakat feltérképezni gombokkal értékeket. 279 00:13:21,025 --> 00:13:22,650 És így tudtam mondani valami ilyesmit. 280 00:13:22,650 --> 00:13:26,710 Nem tudtam létrehozni egy tömböt használ a szögletes zárójel szintaxis a következő. 281 00:13:26,710 --> 00:13:30,685 $ pizzák = szögletes zárójel "sajt", majd 282 00:13:30,685 --> 00:13:37,210 ez a fajta kettős nyíl jelöléssel, 8.99 "paprikás" nyíl 10.99-- 9,99, 283 00:13:37,210 --> 00:13:37,880 stb. 284 00:13:37,880 --> 00:13:39,060 És így, mi folyik itt? 285 00:13:39,060 --> 00:13:41,040 Mi vagyok én valójában csinál? 286 00:13:41,040 --> 00:13:43,990 Hozok létre kulcs-érték párt leképezést. 287 00:13:43,990 --> 00:13:49,060 Tehát ahelyett, hogy például kimondjuk, pizzák 0, 1 darab, pizzák 2, 288 00:13:49,060 --> 00:13:52,350 Én most azt mondják pizzák sajt, pizza pepperoni, 289 00:13:52,350 --> 00:13:55,120 és nézze meg az értékeket velük kapcsolatban. 290 00:13:55,120 --> 00:13:56,970 >> Tehát itt van a kulcs a zöld. 291 00:13:56,970 --> 00:13:59,870 Sajt, pepperoni, zöldség, bivaly csirke. 292 00:13:59,870 --> 00:14:04,200 Itt látható a nyíl, ami ez a kulcs-érték párt feltérképezése. 293 00:14:04,200 --> 00:14:07,420 És akkor itt szereplő értékek A tömb helyét. 294 00:14:07,420 --> 00:14:10,330 Szóval ez, mintha azt mondanánk tömb 0értéke 8.99. 295 00:14:10,330 --> 00:14:11,720 A kulcs a 0. 296 00:14:11,720 --> 00:14:13,600 Az érték 8,99. 297 00:14:13,600 --> 00:14:19,370 Én most azt mondják tömb sajtot, vagy e esetében pizzák, sajtok a kulcs, 298 00:14:19,370 --> 00:14:23,340 és mit találok pizzák sajt 8.99. 299 00:14:23,340 --> 00:14:25,540 Ez az érték, amit találok ott. 300 00:14:25,540 --> 00:14:28,124 >> Szóval lehet ilyeneket mondani. $ pizza sajt = 7,99. 301 00:14:28,124 --> 00:14:29,040 Mondjuk én magam egy eladó. 302 00:14:29,040 --> 00:14:31,750 Azt akarom dis-- akarok dobni Az ár a sajtos pizza. 303 00:14:31,750 --> 00:14:35,620 Vagy tudom használni a növényi pizza részeként egy állapot, 304 00:14:35,620 --> 00:14:39,990 vagy én is hozzá egy új elemet, hogy én tömb, akárcsak tehettem korábban. 305 00:14:39,990 --> 00:14:44,680 Azt is hozzá egy új elemet erre asszociatív tömböt kulcs "szalonna" 306 00:14:44,680 --> 00:14:49,250 és az értéket 13.49. 307 00:14:49,250 --> 00:14:53,820 >> De ez a fajta bevezet egy probléma, Ha belegondolsz egy pillanatra. 308 00:14:53,820 --> 00:14:55,721 Hogyan tudnánk halad végig ez a tömb? 309 00:14:55,721 --> 00:14:56,220 Jobbra? 310 00:14:56,220 --> 00:14:59,820 A C-ben, mi lenne csak egy A hurok, jellemzően, hogy 311 00:14:59,820 --> 00:15:03,650 futna 0 és a a tömb méretét mínusz 1. 312 00:15:03,650 --> 00:15:08,060 A tömb n elem a, a Érvényes indexek 0 n mínusz 1. 313 00:15:08,060 --> 00:15:11,530 Így tudtuk használni a for ciklus Lépjünk át Minden egyes elem. 314 00:15:11,530 --> 00:15:13,530 >> De ez nem igazán A helyzet már, ugye? 315 00:15:13,530 --> 00:15:17,360 Most hol van kulcs-érték párt leképezés hol vannak a kulcsok szó, 316 00:15:17,360 --> 00:15:19,970 hogyan végighaladni összes szóval? 317 00:15:19,970 --> 00:15:22,420 Nos, szerencsére a PHP-nek olyan módon, hogy ezt is, 318 00:15:22,420 --> 00:15:24,580 és így fogunk ugrik vissza a hurkok a második 319 00:15:24,580 --> 00:15:30,780 bevezetni egy negyedik fajta hurok létezik PHP úgynevezett foreach ciklus. 320 00:15:30,780 --> 00:15:34,430 És mi az a foreach ciklus tesz, ez alapvetően ugyanaz a gondolat. 321 00:15:34,430 --> 00:15:36,060 Akkor használja bármilyen fajta tömb. 322 00:15:36,060 --> 00:15:38,100 De ez alapvetően a Ugyanez a gondolat, mint a for ciklus, 323 00:15:38,100 --> 00:15:40,750 kivéve használata helyett mutatószámok, csak 324 00:15:40,750 --> 00:15:45,830 Van ez a fura szintaxist, ahol hívja minden egyes eleme 325 00:15:45,830 --> 00:15:47,550 nevét E hurok. 326 00:15:47,550 --> 00:15:49,258 >> Tehát ebben az esetben, foreach ($ tomb as $ kulcs). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Alapvetően, hogy megjegyzést megjegyzi, belsejét, hogy foreach ciklus, 329 00:15:56,450 --> 00:16:00,466 ez megy, hogy menjen át minden egyes eleme $ tömb, amely jellemzően 330 00:16:00,466 --> 00:16:03,340 lesz egy asszociatív tömb, de lehet igazán bármilyen tömb 331 00:16:03,340 --> 00:16:05,419 kívánt PHP. 332 00:16:05,419 --> 00:16:07,210 És minden alkalommal, hogy a egy for ciklus lehet, hogy 333 00:16:07,210 --> 00:16:13,780 azt mondták $ tomb szögletes zárójelben $ i, akkor is csak mondjuk $ gombot. 334 00:16:13,780 --> 00:16:22,340 Annak érdekében, hogy a $ kulcs alias lesz minden indexe a PHP asszociatív tömb, 335 00:16:22,340 --> 00:16:23,710 és így használni, mint ezt. 336 00:16:23,710 --> 00:16:25,897 >> Így például, mi már Most kaptuk meg pizzák tömb. 337 00:16:25,897 --> 00:16:27,730 Már fajta begyömöszölte a sarokban van 338 00:16:27,730 --> 00:16:31,080 így tudjuk használni, hogy csinál egy gyors példát. 339 00:16:31,080 --> 00:16:36,420 Ha azt mondom foreach ($ pizzák $ pizza), nos, mi történik? 340 00:16:36,420 --> 00:16:42,400 Nos, megyek halad végig minden egyetlen elem a tömb $ pizzák, 341 00:16:42,400 --> 00:16:46,670 és ezáltal fogom hívni minden eleme, amikor nem vagyok benne 342 00:16:46,670 --> 00:16:49,400 A testület, hogy a hurok, $ pizzát. 343 00:16:49,400 --> 00:16:52,440 >> Szóval ez egyfajta stand-in, emlékszem, hogy a $ pizza 344 00:16:52,440 --> 00:16:59,140 egy stand-ban, mert azt mondta $ pizzák szögletes zárójelben $ i 345 00:16:59,140 --> 00:17:03,370 ha mi is egy for ciklus, ahol mehet a $ i = 0, ebben az esetben, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 Ha nem volt kulcs érték párok itt, ez lenne elem 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 és mi volna használni egy for ciklus menni $ pizzák 0, $ pizzák 1, $ 2 pizzák, 349 00:17:16,390 --> 00:17:17,750 $ pizzák 3. 350 00:17:17,750 --> 00:17:23,130 Tehát most mindössze $ pizza helyett az adott egyén számára kulcsfontosságú. 351 00:17:23,130 --> 00:17:25,630 >> Tehát mi fog ez kinyomtatni? 352 00:17:25,630 --> 00:17:29,030 Én kinyomtatásával $ pizzát. 353 00:17:29,030 --> 00:17:35,270 Mit fogok találni at-- ha én kinyomtatni $ pizzák, $ i? 354 00:17:35,270 --> 00:17:35,770 Jobbra? 355 00:17:35,770 --> 00:17:38,680 Ha fogom kinyomtatni Az i-edik elemét pizzák, 356 00:17:38,680 --> 00:17:40,070 mit fogok nyomtatni? 357 00:17:40,070 --> 00:17:42,580 Megyek, hogy nyomtassa ki a értékeket az adott helyen, ugye? 358 00:17:42,580 --> 00:17:45,370 Mint ha csinálunk ez összefüggésben a C, 359 00:17:45,370 --> 00:17:49,786 mi általában nem használja a bejáró változó, int i = 0, i kisebb, mint 3, 360 00:17:49,786 --> 00:17:52,900 i ++, kinyomtatni 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Mi kinyomtatásával tömb 0, tömb 1, 2 tömb, tömb 3. 362 00:17:57,500 --> 00:17:59,580 És akkor mi van ebben kiírja ez. 363 00:17:59,580 --> 00:18:01,150 Ez a lista árak. 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 >> Most egy gyors megjegyzés itt. 366 00:18:06,900 --> 00:18:10,900 A foreach ciklus nem feltétlenül nyomtassa ki dolgokat. 367 00:18:10,900 --> 00:18:12,770 Ez nem garantált. 368 00:18:12,770 --> 00:18:13,550 Ez általában akkor. 369 00:18:13,550 --> 00:18:17,667 Ez általában az a sorrend, amely elemeket adunk a tömbhöz, 370 00:18:17,667 --> 00:18:18,750 így csak viselik, hogy az elme. 371 00:18:18,750 --> 00:18:20,830 Lehet, hogy nem azért. 372 00:18:20,830 --> 00:18:23,930 De egy foreach ciklus lesz ismételget szerte minden elemét 373 00:18:23,930 --> 00:18:25,060 A tömb a kérdéses. 374 00:18:25,060 --> 00:18:27,980 Ebben az esetben, ismét, hogy a tömb $ pizzák. 375 00:18:27,980 --> 00:18:32,920 >> Meg tudom változtatni a szintaxist, bár, ha Azt akarom, mind a kulcsot és az értéket. 376 00:18:32,920 --> 00:18:37,179 Ahelyett, hogy $ pizzák $ -os pizza, mondhatom ezt. 377 00:18:37,179 --> 00:18:39,470 És ha megnézi amit én a zöld szín jelzi itt, 378 00:18:39,470 --> 00:18:42,130 úgy néz ki, mint egy kulcs-érték párt feltérképezése. 379 00:18:42,130 --> 00:18:45,980 És így ha you-- akkor is, ha nem teljesen biztos benne, mit fog tenni, 380 00:18:45,980 --> 00:18:49,300 valószínűleg kitalálni hogy a $ feltöltési megy 381 00:18:49,300 --> 00:18:53,800 hogy a legfontosabb ebben az esetben, és $ ára lesz az értéke. 382 00:18:53,800 --> 00:18:59,200 Úgyhogy helyett most minden elemét A $ pizzák, mint egy kulcs-érték párt, 383 00:18:59,200 --> 00:19:03,900 és most nézze meg a gombot, és Az érték, ami hasznos, 384 00:19:03,900 --> 00:19:05,590 például, a következők szerint. 385 00:19:05,590 --> 00:19:10,170 >> "Egy egész" - ez egy csomó nyomtatás folyik here-- "Egy egész" 386 00:19:10,170 --> 00:19:17,300 feltöltési "pizza ára $" ára, majd Azt ki kell nyomtatni egy pont, és egy rep n. 387 00:19:17,300 --> 00:19:23,420 Tehát most, értesítést megint férhetnek hozzá kulcsfontosságú, $ öntettel, és egy értéket, $ áron. 388 00:19:23,420 --> 00:19:26,647 Így tudod kitalálni, mi ez fog nyomtatni? 389 00:19:26,647 --> 00:19:29,480 Van egy csomó print utasítás, de már csak egy backslash n, 390 00:19:29,480 --> 00:19:33,410 így fog nyomtatni valamit Egy entire-- egyetlen kódsort. 391 00:19:33,410 --> 00:19:36,965 >> Ha tudok, olvassa el a kulcsot és ez az érték, akkor most, 392 00:19:36,965 --> 00:19:39,090 ahelyett, hogy csak képes kinyomtatni az árak, 393 00:19:39,090 --> 00:19:41,330 Én ki is nyomtathatja, valami ilyesmi. 394 00:19:41,330 --> 00:19:43,780 "Egy egész sajtos pizza ára 8,99 $." 395 00:19:43,780 --> 00:19:47,150 És most én vagyok a minden a keys-- sajt, szalámi, zöldség, 396 00:19:47,150 --> 00:19:49,640 bivaly chicken-- és az értékeket. 397 00:19:49,640 --> 00:19:53,980 8.99, 9.99, 10.99, 11.99 Tehát hogy csak egy másik módja 398 00:19:53,980 --> 00:19:57,840 hogy nem egy foreach ciklus, hogy ahelyett, Csak így hozzáférést azokhoz az értékekhez, 399 00:19:57,840 --> 00:20:02,950 ez csak ad you-- ez ad Belépés a kulcsokat és értékeket. 400 00:20:02,950 --> 00:20:04,411 >> Tehát kinyomtatásával információkat. 401 00:20:04,411 --> 00:20:07,410 Már megtettem pár különböző módon, lehet, hogy észrevette. 402 00:20:07,410 --> 00:20:11,080 A két funkció voltunk elsősorban láttam a nyomtatott és az echo. 403 00:20:11,080 --> 00:20:14,380 És elég sok minden cél és célokra, ők pontosan ugyanaz. 404 00:20:14,380 --> 00:20:17,130 They're-- van egy nagyon finom különbséggel, hogy nem is érdemes 405 00:20:17,130 --> 00:20:21,130 bekerülni, de alapvetően mindenütt akkor a nyomtatási akkor talán használni 406 00:20:21,130 --> 00:20:22,370 echo is. 407 00:20:22,370 --> 00:20:23,610 >> És ez nem az egyetlen kettő. 408 00:20:23,610 --> 00:20:26,970 A PHP egy csomó más módon nyomtathatja dolgokat, 409 00:20:26,970 --> 00:20:30,520 és azt is milyen lehetőségek vannak az változók közepére húr. 410 00:20:30,520 --> 00:20:32,860 Tehát visszahívja a C, ugye emlékszem, milyen funkciót 411 00:20:32,860 --> 00:20:37,580 tudjuk használni, hogy helyettesítse változók a dolgokat akarunk kinyomtatni? 412 00:20:37,580 --> 00:20:40,160 Valószínűleg használja ezt működik elég sokat. 413 00:20:40,160 --> 00:20:42,290 printf, ugye? 414 00:20:42,290 --> 00:20:45,290 Szóval ez az, amit azelőtt belül Az összefüggésben a foreach ciklus. 415 00:20:45,290 --> 00:20:48,000 Mi volt ez az öt Külön print utasítás, 416 00:20:48,000 --> 00:20:50,330 mert ez volt az egyetlen Én úgy ismertem igazán idején 417 00:20:50,330 --> 00:20:52,450 hogyan lehet kinyomtatni az üzeneteket. 418 00:20:52,450 --> 00:20:59,560 Nem tudtam, hogyan lehet integrálni a változó $ feltöltési az én PHP kódot. 419 00:20:59,560 --> 00:21:03,700 Nos, ha én csak hozott vad hiszem, printf, hogy valójában működött volna. 420 00:21:03,700 --> 00:21:08,980 printf egy olyan funkció, hogy tudom használni PHP, ahogy én is hozzá tudjon C. 421 00:21:08,980 --> 00:21:11,880 >> És így valami ilyesmi, printf, megint vagyunk tisztában ezzel. 422 00:21:11,880 --> 00:21:16,420 Az első% s helyébe melynek értéke $ feltöltés. 423 00:21:16,420 --> 00:21:19,700 A második% s helyébe melynek értéke $ áron. 424 00:21:19,700 --> 00:21:22,630 És így vagyok interpelláló, ami csak egy divatos módon 425 00:21:22,630 --> 00:21:25,400 A mondván én vagyok maradva a változók erre a helyre. 426 00:21:25,400 --> 00:21:31,000 Úgyhogy dugulás $ csúcsán, ahol a piros% s és $ áron, ahol a kék% s 427 00:21:31,000 --> 00:21:36,060 van, és akkor én kapta meg az üzenetet, "Egy egész sajtos pizza ára 8,99 $." 428 00:21:36,060 --> 00:21:37,750 >> Nem csak úgy lehet csinálni, azt hiszem. 429 00:21:37,750 --> 00:21:39,760 Talán azt akarja használni ezt a módszert. 430 00:21:39,760 --> 00:21:44,890 Ez tulajdonképpen mi a leggyakrabban nevű változó interpelláció. 431 00:21:44,890 --> 00:21:45,690 Tudom használni a visszhang. 432 00:21:45,690 --> 00:21:47,737 Jól jönne egy nyomtatási is, mint látni fogjuk. 433 00:21:47,737 --> 00:21:48,820 De mi történik itt? 434 00:21:48,820 --> 00:21:51,520 >> Először is, azt kell menekülni a dollár jel. 435 00:21:51,520 --> 00:21:55,140 Mert emlékszem, amikor mi volt valójában kinyomtatásával az árak a pizzák, 436 00:21:55,140 --> 00:21:59,370 Én valójában formázás őket monetáris számok egy dollár jelet. 437 00:21:59,370 --> 00:22:05,635 De mi használ dollár jeleket is képviseletére változó nevét PHP- 438 00:22:05,635 --> 00:22:08,010 és különösen, ha én vagyok ezzel a módszerrel a göndör 439 00:22:08,010 --> 00:22:10,040 zárójel változó interpelláció módszer, szükségem 440 00:22:10,040 --> 00:22:13,490 menekülni én dollár jelet, így nem hiszem beszélek változó. 441 00:22:13,490 --> 00:22:16,920 Ez lesz ténylegesen, Szó nyomtatni egy dollár jel. 442 00:22:16,920 --> 00:22:19,530 >> Tehát egyfajta analogize hogy amit látsz a végén van. 443 00:22:19,530 --> 00:22:22,832 Ez valójában nem print backslash n, igaz? 444 00:22:22,832 --> 00:22:24,290 Kinyomtat egy új sor karakter. 445 00:22:24,290 --> 00:22:26,750 Ez is-- ez nem fog print backslash dollár jel, 446 00:22:26,750 --> 00:22:30,130 ez meg fog kinyomtatni csak egy dollár jel karaktert. 447 00:22:30,130 --> 00:22:30,640 Ugyanezt a gondolatot. 448 00:22:30,640 --> 00:22:32,760 Az Escape szekvenciákat, mit Ezért nevezik. 449 00:22:32,760 --> 00:22:37,080 >> De észre, hogy nem teszek bármiféle% s cserék, 450 00:22:37,080 --> 00:22:40,050 Én csak a szó szoros értelmében dugulás Ezekben változók. 451 00:22:40,050 --> 00:22:45,110 És így this-- mi fog történni itt az, hogy a értéke $ topping-- ismét, 452 00:22:45,110 --> 00:22:48,390 Csak összhangban amiken beszélünk, így far-- sajtot kapnánk 453 00:22:48,390 --> 00:22:49,720 dugva ott. 454 00:22:49,720 --> 00:22:54,780 És $ ár lenne bármilyen értéke A pizzák, szögletes zárójelben, sajt, 455 00:22:54,780 --> 00:22:56,270 ami 8,99. 456 00:22:56,270 --> 00:23:01,860 És így ez is ki kell nyomtatni "Egy egész sajtos pizza ára 8,99 $." 457 00:23:01,860 --> 00:23:05,160 És mint mondtam, nem tudtam használni print itt nem visszhang, 458 00:23:05,160 --> 00:23:08,040 és a funkcionalitása nagyjából pontosan ugyanaz. 459 00:23:08,040 --> 00:23:09,660 Úgy nyomtassa ki ugyanezt. 460 00:23:09,660 --> 00:23:12,680 >> Van egy másik módja annak, hogy csinálni, és ez egy újabb előny 461 00:23:12,680 --> 00:23:14,710 PHP dolgozó szálakat. 462 00:23:14,710 --> 00:23:17,130 Tehetünk szövegösszefűzés. 463 00:23:17,130 --> 00:23:19,660 Ezt megtehetjük a C is, függvény segítségével, úgynevezett strcat, 464 00:23:19,660 --> 00:23:21,180 de a lényeg, meg kellett hívja funkciót látnak el. 465 00:23:21,180 --> 00:23:22,640 Ez volt az egész káosz csinálni. 466 00:23:22,640 --> 00:23:24,590 Meg kellett font-tartalmazzák string.h. 467 00:23:24,590 --> 00:23:25,780 Ez volt a termelés, ugye? 468 00:23:25,780 --> 00:23:30,070 De most már csak használni ezt a pontot üzemeltető összefûzését húrok együtt. 469 00:23:30,070 --> 00:23:34,910 >> Úgyhogy összefűző "Egy egész" és akkor bármi értéke $ feltöltési, 470 00:23:34,910 --> 00:23:38,860 majd egy másik húr, "pizza költségek $" 471 00:23:38,860 --> 00:23:42,340 majd összefűzése bármi az értéke $ ár, 472 00:23:42,340 --> 00:23:45,670 majd a legvégén vagyok tacking korabeli backslash n. 473 00:23:45,670 --> 00:23:47,926 És így ez is nyomtassa ki "Egy egész" - ismét, 474 00:23:47,926 --> 00:23:50,550 Ha beszélünk az első eleme, hogy a pizzák array-- 475 00:23:50,550 --> 00:23:54,710 "Egy egész sajtos pizza ára 8,99 $." 476 00:23:54,710 --> 00:24:01,260 Időszakban, backslash n, ismét a A $ feltöltési és $ ár helyettesítő 477 00:24:01,260 --> 00:24:06,580 amit mi volt megadva a mi foreach hurok, mint a kulcs-érték párt feltérképezése. 478 00:24:06,580 --> 00:24:08,050 >> PHP képes kezelni funkciókat. 479 00:24:08,050 --> 00:24:11,250 Funkciók volt egyfajta elválaszthatatlan a C, mint láttuk. 480 00:24:11,250 --> 00:24:14,870 Mint változók, akkor nem kell adja meg a visszatérési típus a funkciót, 481 00:24:14,870 --> 00:24:16,350 mert nem igazán számít. 482 00:24:16,350 --> 00:24:18,660 És mi nem adja meg a adatok paraméter típusát, 483 00:24:18,660 --> 00:24:21,410 mert nem igazán anyag, mint láttuk a PHP. 484 00:24:21,410 --> 00:24:24,510 Minden funkció be A funkció kulcsszó. 485 00:24:24,510 --> 00:24:27,920 Mi így jelzik a PHP, hogy mit beszélünk függvénye. 486 00:24:27,920 --> 00:24:29,720 >> És nem kell foglalkozik fő egyáltalán, 487 00:24:29,720 --> 00:24:33,690 mert a tolmács, a PHP tolmács, működik a tetejétől az aljáig, 488 00:24:33,690 --> 00:24:34,190 attól függetlenül. 489 00:24:34,190 --> 00:24:35,640 Ha úgy látja, lehet, hogy függvényhívás, akkor az 490 00:24:35,640 --> 00:24:37,850 Keressük a függvényhívás, akkor is, ha csak később jön. 491 00:24:37,850 --> 00:24:40,360 De ez meg fog olvasni fentről alján, így nem kell megadnia, 492 00:24:40,360 --> 00:24:41,500 Itt, ahol kezdeni. 493 00:24:41,500 --> 00:24:46,700 Elkezdi 1-es vonalon a PHP és a munka le onnan. 494 00:24:46,700 --> 00:24:49,690 >> Tehát itt van, hogyan is kellene létrehozni olyan függvény hard_square. 495 00:24:49,690 --> 00:24:54,100 Ez látszólag úgy egy paraméter, amely hívom $ x. 496 00:24:54,100 --> 00:24:58,424 Ez a funkció csak bonyolult hogy bemutassa a különböző dolgokat. 497 00:24:58,424 --> 00:24:59,590 Még mindig van visszatérési értékük. 498 00:24:59,590 --> 00:25:00,870 Én használ egy hurok itt. 499 00:25:00,870 --> 00:25:04,970 De ez alapvetően csak, mi ez a összege mindössze $ x-szer $ x. 500 00:25:04,970 --> 00:25:10,520 Amit én valójában csinál éppen hozzátéve x 0 x-szer vagy $ x nullára $ x-szer. 501 00:25:10,520 --> 00:25:15,850 De ez gyakorlatilag pontosan ugyanaz, mint megszorozzuk $ x-szer $ x. 502 00:25:15,850 --> 00:25:18,700 Még mindig vissza értéket, Ebben az esetben a $ eredmény, 503 00:25:18,700 --> 00:25:22,060 és Csináltam egy függvény a PHP-ben. 504 00:25:22,060 --> 00:25:24,160 >> Itt van, hogyan lehet használni a kontextusban. 505 00:25:24,160 --> 00:25:26,020 Így talán én vagyok benne néhány PHP fájlt. 506 00:25:26,020 --> 00:25:29,240 Figyeljük kék nézve, hogy Én is használtam én PHP határoló, 507 00:25:29,240 --> 00:25:31,010 hegyes zárójel kérdőjel php. 508 00:25:31,010 --> 00:25:35,180 A kettő között ezek mind a A PHP, hogy akarok írni. 509 00:25:35,180 --> 00:25:37,840 Úgyhogy nyilván fog get-- Megyek figyelmezteti a felhasználót 510 00:25:37,840 --> 00:25:41,550 hogy adjon nekem egy számot, boltban, hogy változó, áruház, hogy változó $ x, 511 00:25:41,550 --> 00:25:43,320 amit adtak nekem. 512 00:25:43,320 --> 00:25:48,590 Aztán megyek echo hard_square az az érték, 513 00:25:48,590 --> 00:25:50,370 és látszólag megy a forduláshoz új sorban 514 00:25:50,370 --> 00:25:53,590 valamint, majd később Megyek a függvényt hard_square így 515 00:25:53,590 --> 00:25:55,550 hogy amikor azt, hogy a hívja a hard_square, 516 00:25:55,550 --> 00:25:58,160 tudja, hogy mit beszélek. 517 00:25:58,160 --> 00:26:00,705 >> Most azt is megtehetik valami ilyesmi. 518 00:26:00,705 --> 00:26:02,050 Ez kicsit más. 519 00:26:02,050 --> 00:26:04,190 Ez majdnem pontosan ugyanaz, mint amit korábban láttunk, 520 00:26:04,190 --> 00:26:08,400 kivéve ahelyett, hogy csak $ x ott a paramétert hard_square, 521 00:26:08,400 --> 00:26:11,730 Azt mondom, $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Tehát ez egy példa defenzív programozásra, 523 00:26:14,330 --> 00:26:17,070 őrzés a programok rosszindulatú felhasználók ellen. 524 00:26:17,070 --> 00:26:20,020 >> Ez az egyik módja annak, hogy némi hiba annak ellenőrzése, hogy mi nem igazán 525 00:26:20,020 --> 00:26:24,670 van, mint egy lehetőséget a C. soha nem tudtuk az alapértelmezett érték valamit. 526 00:26:24,670 --> 00:26:27,010 Mindig volt, hogy ellenőrizze hogy az, például, 527 00:26:27,010 --> 00:26:30,820 ha egy hívást, hogy getString volt leghelyesebb, ha Közvetlenül azután, hogy 528 00:26:30,820 --> 00:26:33,300 ellenőrizni, hogy megnéztük hogy a húr 529 00:26:33,300 --> 00:26:35,504 hogy a felhasználó adta nekünk nem egyenlő null, 530 00:26:35,504 --> 00:26:37,920 mert nem akar kezdeni dolgozik egy üres szöveg. 531 00:26:37,920 --> 00:26:39,670 >> Itt, ez egy módja védekezni ez ellen. 532 00:26:39,670 --> 00:26:43,480 Ha a felhasználó nem adja meg nekünk valamit Valahogy, mit fogunk csinálni? 533 00:26:43,480 --> 00:26:46,080 Nos, mi csak mondani, amit mert nem biztosították számunkra, 534 00:26:46,080 --> 00:26:47,705 mi csak megy, hogy csatlakoztassa a 10 helyett. 535 00:26:47,705 --> 00:26:52,030 Tehát, ha nem ad nekünk egy értéket, csak használja 10 alapértelmezés szerint. És így van, 536 00:26:52,030 --> 00:26:53,940 észre, hogy én vagyok így A felhívás a hard_square, 537 00:26:53,940 --> 00:26:55,980 de nincs prompt a felhasználó, ugye? 538 00:26:55,980 --> 00:26:57,540 Én csak így egy üres hívást. 539 00:26:57,540 --> 00:27:00,860 >> De a funkciót hard_square vár paraméterként. 540 00:27:00,860 --> 00:27:02,222 Mit fog ez kinyomtatni? 541 00:27:02,222 --> 00:27:03,680 Meg fog kinyomtatni 100, ugye? 542 00:27:03,680 --> 00:27:05,720 Mivel a felhasználó nem adj semmit. 543 00:27:05,720 --> 00:27:08,970 És így én csak fog vállalni hogy 10-- 10 az alapértelmezett érték. 544 00:27:08,970 --> 00:27:13,760 És így ez lenne kinyomtatni ki 100 külön sorban. 545 00:27:13,760 --> 00:27:16,390 >> PHP fájlt nem kell hogy csak egyetlen fájl. 546 00:27:16,390 --> 00:27:19,480 Így több fájlokat együtt, mint te is a C módja 547 00:27:19,480 --> 00:27:24,330 tettük, hogy a C jellemzően nem egy #include kap header fájlokat húzta be. 548 00:27:24,330 --> 00:27:26,180 Mi nem ezt, hogy a PHP. 549 00:27:26,180 --> 00:27:29,110 Nem teszünk valamit az úgynevezett require_once. 550 00:27:29,110 --> 00:27:33,360 És akkor ott van ez az egész a dolog, mi ez __dir__? 551 00:27:33,360 --> 00:27:36,510 Ez csak egy speciális változó, vagy különleges állandó, 552 00:27:36,510 --> 00:27:39,030 Tényleg, hogy meghatározza, hogy milyen az aktuális könyvtár. 553 00:27:39,030 --> 00:27:41,320 És ez így fog kinézni az aktuális könyvtárban 554 00:27:41,320 --> 00:27:44,900 Egy nevű fájlt cs50.php Ebben a példában itt, 555 00:27:44,900 --> 00:27:50,490 és ez meg fog ragaszkodni, hogy a fájl a tetején a programunk, 556 00:27:50,490 --> 00:27:56,980 feltételezve, hogy amit tesz a igényelnek egyszer sort a tetején a PHP fájlt. 557 00:27:56,980 --> 00:28:01,474 >> Tehát PHP elsősorban használt, de nem kizárólag, 558 00:28:01,474 --> 00:28:03,140 mint egy nyelv a webes programozás. 559 00:28:03,140 --> 00:28:05,270 Ez tényleg így került lennie. 560 00:28:05,270 --> 00:28:06,980 De ez egy teljes nyelvet, ahogy láttam. 561 00:28:06,980 --> 00:28:10,105 Láttuk elég sok minden a dolgokat hogy meg tudja csinálni, amelyek hasonlóak a C, 562 00:28:10,105 --> 00:28:13,290 és meg tudja csinálni a fene sokkal több annál. 563 00:28:13,290 --> 00:28:16,950 >> De mivel ez egy teljes nyelvi és tehetünk parancssori programozási benne. 564 00:28:16,950 --> 00:28:18,630 Mi lehet futtatni parancssoros programokat. 565 00:28:18,630 --> 00:28:22,580 Minden, ami szükséges egy parancs futtatható line programot, ami PHP-ben íródott 566 00:28:22,580 --> 00:28:24,260 az, hogy van egy PHP interpreter. 567 00:28:24,260 --> 00:28:27,460 Tehát ez a fajta analóg amelynek fordító a rendszer 568 00:28:27,460 --> 00:28:31,100 Ha azt szeretnénk, hogy fordítsa le a C kód hogy átalakítsuk azt futtatható fájlokat. 569 00:28:31,100 --> 00:28:33,810 Be kell, hogy a PHP értelmező hogy létezik-e a rendszer 570 00:28:33,810 --> 00:28:37,330 így értelmezi a PHP fájlokat. 571 00:28:37,330 --> 00:28:40,370 >> Feltéve, ha nem, és általában ez a tolmács hívják PHP, 572 00:28:40,370 --> 00:28:44,300 és ez általában a csomagban a legtöbb letöltés és telepítés a PHP 573 00:28:44,300 --> 00:28:47,430 hogy lehet kapni az interneten, és minden bizonnyal a neve a PHP értelmező 574 00:28:47,430 --> 00:28:49,550 mi van a CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Minden, amit csinál a típusú php fájl. 576 00:28:51,819 --> 00:28:53,610 És mi a program eredménye, hogy ez 577 00:28:53,610 --> 00:28:55,360 fog végigmenni a tolmács, ez 578 00:28:55,360 --> 00:28:58,040 figyelmen kívül hagy mindent, ami Nem a kettő között forgó mark-- 579 00:28:58,040 --> 00:29:03,160 vagy, hegyes zárójel kérdőjel php, A PHP határolójelek, és nyomtassa ki, 580 00:29:03,160 --> 00:29:07,660 és ez lesz értelmezi és végrehajtja a kódrészletet a PHP zárni. 581 00:29:07,660 --> 00:29:12,850 >> Úgyhogy pop át CS50 IDE és Van egy pillantást néhány PHP fájlt, 582 00:29:12,850 --> 00:29:19,850 fut egy pár PHP fájlok, a parancssori felület a CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Tehát itt vagyunk CS50 IDE, és vettem a bátorságot, 584 00:29:22,100 --> 00:29:25,800 A fájl megnyitásakor nevű hello1.php. 585 00:29:25,800 --> 00:29:29,920 És úgy tűnik, a tartalmát fájl csak a PHP határoló ott, 586 00:29:29,920 --> 00:29:32,220 és a kettő között, echo ("hello, world"). 587 00:29:32,220 --> 00:29:34,710 Ez egy nagyon egyszerű PHP program. 588 00:29:34,710 --> 00:29:37,670 Csak megyek, hogy lépjünk le az én terminál ablakban itt, 589 00:29:37,670 --> 00:29:44,320 és megyek írja php hello1.php, nyomd meg az Entert. 590 00:29:44,320 --> 00:29:44,950 Helló Világ. 591 00:29:44,950 --> 00:29:48,110 Valószínűleg ezt voltunk számítok rá, hogy nem, ugye? 592 00:29:48,110 --> 00:29:51,140 >> Menjünk fel, és vegye Egy másik nézd meg a programot. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 Nagyjából ugyanaz a dolog, Nem sok folyik itt. 595 00:29:55,090 --> 00:29:57,190 Ezúttal azonban, fogok kérni A felhasználó adja meg a nevüket. 596 00:29:57,190 --> 00:29:59,290 Én a readline, hogy ismét. 597 00:29:59,290 --> 00:30:01,340 $ name = readline. 598 00:30:01,340 --> 00:30:03,070 Ez a prompt, "Mi a neved?" 599 00:30:03,070 --> 00:30:04,880 >> Úgy látszik, én vagyok nyomtatás ez a saját járatán. 600 00:30:04,880 --> 00:30:07,220 És akkor, így a vonal alatti ez lesz a prompt 601 00:30:07,220 --> 00:30:08,750 ahol a felhasználó adja meg a nevüket. 602 00:30:08,750 --> 00:30:12,030 És akkor én egy kicsit változó interpelláció itt a 3. sorban 603 00:30:12,030 --> 00:30:14,780 kinyomtatni "Hello", és amit a felhasználó beír. 604 00:30:14,780 --> 00:30:22,040 Tehát ez analóg mondván, Hello, vessző,% s ha mi is a printf C-ben 605 00:30:22,040 --> 00:30:24,910 >> Szóval menjünk és értelmezni ezt a programot. 606 00:30:24,910 --> 00:30:27,400 Szóval megint fogok lépjünk le az én terminál ablakot. 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 Mi a neved? 610 00:30:33,820 --> 00:30:35,490 Doug. 611 00:30:35,490 --> 00:30:36,526 Szia, Doug. 612 00:30:36,526 --> 00:30:39,440 Nekem is van egy másik nevű fájlt hello3.php. 613 00:30:39,440 --> 00:30:42,850 Megyek törlöm képernyőn a Control L, 614 00:30:42,850 --> 00:30:46,210 és fogok végrehajtani, hogy. 615 00:30:46,210 --> 00:30:47,640 Mi a neved? 616 00:30:47,640 --> 00:30:49,020 Doug. 617 00:30:49,020 --> 00:30:49,780 Szia, Doug. 618 00:30:49,780 --> 00:30:56,540 Tehát a viselkedés megegyezik hello2.php, de miért van az, hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Nos, itt van a különbség. 620 00:30:58,040 --> 00:31:00,620 Ebben az esetben, értesítés hogy 1-es vonalon van, 621 00:31:00,620 --> 00:31:04,270 Van valami, ami nem között a PHP zárni. 622 00:31:04,270 --> 00:31:07,760 Én csak a nyomtatás out-- vagy én csak gépelt, "Mi a neved?" 623 00:31:07,760 --> 00:31:12,060 Amikor a PHP értelmező látja ezt, Fogalma sincs, hogy hogyan értelmezzük azt a PHP, 624 00:31:12,060 --> 00:31:15,060 és így ahelyett, ennek hiányában, ez csak fog köpje ki. 625 00:31:15,060 --> 00:31:19,010 >> Szóval észre a 3. sorban most, az én döntésem, hogy readline, nincs azonnali többé. 626 00:31:19,010 --> 00:31:21,750 Én csak tényleg lesz az alábbiakra: ha A PHP értelmező látja ezt, 627 00:31:21,750 --> 00:31:23,400 ez meg fog kinyomtatni "Mi a neved?" 628 00:31:23,400 --> 00:31:25,941 Aztán látja, oh, OK, here's-- minden más lesz 629 00:31:25,941 --> 00:31:29,970 értelmezni, mint a PHP, így ezért ez működik. 630 00:31:29,970 --> 00:31:34,990 Nem kell feltétlenül kérdezi A felhasználó az alábbiakra: belsejében Readline 631 00:31:34,990 --> 00:31:37,490 Én is csak azt a külvilág felé A PHP határoló 632 00:31:37,490 --> 00:31:41,490 és lehetővé teszi a tolmács hogy csak nyomtassa ki nekem. 633 00:31:41,490 --> 00:31:45,364 >> Szóval valójában nem csak a hogy egy sor PHP határoló 634 00:31:45,364 --> 00:31:46,030 a programban. 635 00:31:46,030 --> 00:31:49,887 Akkor valójában több közülük, nyitó és záró őket, ha szükséges. 636 00:31:49,887 --> 00:31:51,720 Szóval vessünk egy pillantást egy pár programok 637 00:31:51,720 --> 00:31:55,070 A CS50 IDE ahol Ennek illusztrálására gondolat, 638 00:31:55,070 --> 00:31:58,376 Több csomag határolt PHP. 639 00:31:58,376 --> 00:32:02,010 >> OK, így már megnyitott egy fájlt Itt az úgynevezett add1.php. 640 00:32:02,010 --> 00:32:03,390 És észre, mi történik itt. 641 00:32:03,390 --> 00:32:08,077 Csakúgy, mint korábban, van egy Egyetlen PHP készlet zárni. 642 00:32:08,077 --> 00:32:10,660 Megyek, hogy nyomtassa ki a Üzenet: "Kérlek, adj egy számot." 643 00:32:10,660 --> 00:32:13,394 Akkor fogok olvasni egy vonalat, és tárolja a változó $ num1. 644 00:32:13,394 --> 00:32:14,810 Akkor megyek, hogy nyomtassa ki újra. 645 00:32:14,810 --> 00:32:16,310 Adj egy második számot. 646 00:32:16,310 --> 00:32:20,450 Olvassa el a sorban a felhasználó, áruház amit csak beírtam a $ num2. 647 00:32:20,450 --> 00:32:23,980 Add össze őket, és tárolja, hogy eredményezhet változó neve $ összeget, 648 00:32:23,980 --> 00:32:26,180 majd nyomtassa ki, "A ezek összege két szám 649 00:32:26,180 --> 00:32:29,254 az, hogy "majd interpellál ott a változó $ összeget. 650 00:32:29,254 --> 00:32:31,170 Úgyhogy csak futtatni ezt a tolmács 651 00:32:31,170 --> 00:32:33,720 annak igazolására, hogy ez az, amit várunk. 652 00:32:33,720 --> 00:32:37,540 php add1.php. 653 00:32:37,540 --> 00:32:38,665 Kérem adjon nekem egy számot, 3. 654 00:32:38,665 --> 00:32:40,410 Kérem, adja meg a második számot, 4. 655 00:32:40,410 --> 00:32:43,370 Ezek összege két szám 7. 656 00:32:43,370 --> 00:32:45,030 Ez 3 + 4. 657 00:32:45,030 --> 00:32:45,530 OKÉ? 658 00:32:45,530 --> 00:32:47,770 Tehát semmi szörnyen divatos van. 659 00:32:47,770 --> 00:32:51,080 >> És most nézzük nyit add2.php. 660 00:32:51,080 --> 00:32:54,460 Itt van egy pár PHP tagolt készletek vannak, ugye? 661 00:32:54,460 --> 00:32:59,107 1-es, 3-- 1-es 3 nincs PHP zárni. 662 00:32:59,107 --> 00:33:00,940 Tehát amikor a tolmács látja őket, csak 663 00:33:00,940 --> 00:33:03,220 fog köpni, hogy pontosan el beírt ott. 664 00:33:03,220 --> 00:33:05,011 Tehát ott vagyok Ennek az én megkérdezése. 665 00:33:05,011 --> 00:33:11,220 A 2-es és 4, látjuk a nagyon ismerős $? php fajta határoló, 666 00:33:11,220 --> 00:33:15,210 Ez a két vonal fog végrehajtani, mint a PHP. 667 00:33:15,210 --> 00:33:18,270 És akkor 5-ös vonalon, már ez Furcsa dolog van itt, ugye? 668 00:33:18,270 --> 00:33:20,480 Ez a hegyes zárójel kérdőjel egyenlőségjel. 669 00:33:20,480 --> 00:33:22,660 Majd még nagyítás egy kicsit tovább. 670 00:33:22,660 --> 00:33:29,270 Láthatjuk ezt én vagyok beszélünk ott, ez a $? =. 671 00:33:29,270 --> 00:33:33,420 >> Kiderül, hogy ez annyira gyakori, hogy az oka, hogy nyit egy sor PHP 672 00:33:33,420 --> 00:33:36,055 elhatárolók kinyomtatni egy értéket. 673 00:33:36,055 --> 00:33:37,430 És ez minden, amit csinálsz. 674 00:33:37,430 --> 00:33:39,220 De van még rövidítés ezt. 675 00:33:39,220 --> 00:33:46,490 $ = PHP rövidítés mondván olyasmi, mint $? php echo összege 676 00:33:46,490 --> 00:33:48,350 A num1 és num2. 677 00:33:48,350 --> 00:33:51,900 Szóval ez is csak egy emberhátránynak ezért. 678 00:33:51,900 --> 00:33:55,550 >> Szóval, ha a program futtatásához, php add2.php. 679 00:33:55,550 --> 00:33:57,530 Majd zoom le egy kicsit. 680 00:33:57,530 --> 00:33:59,000 Kérem adjon nekem egy számot, 4. 681 00:33:59,000 --> 00:34:00,350 Kérem, adja meg a második számot. 682 00:34:00,350 --> 00:34:04,650 És mivel én nem igazán érdekel adattípusok PHP, azt mondhatom, 4.8. 683 00:34:04,650 --> 00:34:07,160 Ezek összege két szám 8.8. 684 00:34:07,160 --> 00:34:10,179 Hogy a funkció viselkedik elég sok pontosan ugyanaz, mint azt várnánk, 685 00:34:10,179 --> 00:34:10,989 is. 686 00:34:10,989 --> 00:34:13,114 És van még egy megnyitott itt az úgynevezett dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Próbálja meg újra. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Van még egy itt hívják dice1.php, amely szintén, lásd, 691 00:34:33,280 --> 00:34:37,440 van, hogy hegyes zárójel kérdés jelölje egyenlőségjel jelöléssel van, 692 00:34:37,440 --> 00:34:40,659 de észrevettem, hogy ebben az esetben én vagyok A funkció meghívása rand, amely, ahogy 693 00:34:40,659 --> 00:34:42,790 várhatnánk generál egy véletlen számot. 694 00:34:42,790 --> 00:34:46,889 "Te sodort", és ez meg fog Számold ki néhány véletlen szám, mod 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Szóval ez ad nekem száma a tartományban 1-6. 697 00:34:49,989 --> 00:34:53,040 >> Ne feledje, hogy a mod 6 adna nekem egy számot a tartományban 0-5, 698 00:34:53,040 --> 00:34:56,630 de ha én vagyok szimuláló kocka tekercs, ami mit csinálok itt, 699 00:34:56,630 --> 00:35:00,040 Nem akarom ezeket a kockákat, hogy menjen 0 5, akarom kockát, hogy menjen 1-6. 700 00:35:00,040 --> 00:35:02,800 És így ez egy módja annak, hogy me-tartományban 1-6. 701 00:35:02,800 --> 00:35:04,720 Én ezt kétszer. 702 00:35:04,720 --> 00:35:08,630 Tehát úgy tűnik, én vagyok gördülő két kocka ebben a programban. 703 00:35:08,630 --> 00:35:15,210 >> Úgyhogy egyértelmű a képernyőn, és én megteszem php dice1.php. 704 00:35:15,210 --> 00:35:16,640 Ön hengerelt a 4 és a 2. 705 00:35:16,640 --> 00:35:19,156 És ha a program futtatásához újra, akkor gördült 5 és 5. 706 00:35:19,156 --> 00:35:21,780 Tehát minden alkalommal, amikor a program futtatásához, Kezdek különböző számokat, 707 00:35:21,780 --> 00:35:24,280 mert minden alkalommal én Szóval, ez az újrakezdés. 708 00:35:24,280 --> 00:35:27,250 Meg fog generálni egy új állítsa a véletlen számok számomra. 709 00:35:27,250 --> 00:35:29,790 >> Tehát, ha vagyunk használni futó programokat C, 710 00:35:29,790 --> 00:35:32,520 hozzá vagyunk szokva, hogy gépelés ./ a egy program neve, ugye? 711 00:35:32,520 --> 00:35:35,090 Így tettünk minden Programjaink a C eddig. 712 00:35:35,090 --> 00:35:37,555 Ezt megtehetjük a PHP, valamint hozzáadásával egy úgynevezett 713 00:35:37,555 --> 00:35:40,026 Egy kocsma, a tetejére a PHP fájlt. 714 00:35:40,026 --> 00:35:41,400 Tudom, hogy ez a fajta egy buta szó. 715 00:35:41,400 --> 00:35:44,540 Ez rövid hash bumm. 716 00:35:44,540 --> 00:35:46,300 Ez az első két karakter van. 717 00:35:46,300 --> 00:35:50,030 Emlékezz hívjuk felkiáltójel Gyakran a bumm a számítástechnikában. 718 00:35:50,030 --> 00:35:51,690 Azt is lehet, hogy az éles durranás. 719 00:35:51,690 --> 00:35:53,273 Van egy pár módon lehet értelmezni őket. 720 00:35:53,273 --> 00:35:57,320 De ez alapvetően egy különleges fajtája A parancs, hogy a PHP értelmező 721 00:35:57,320 --> 00:36:00,160 megérti az, ó, azt akarom, Ön ezt a programot, 722 00:36:00,160 --> 00:36:05,250 ami nyilvánvalóan / user / bin / php, amely valójában, ahol a PHP értelmező 723 00:36:05,250 --> 00:36:08,590 konkrétan él a rendszer. 724 00:36:08,590 --> 00:36:12,530 Tehát it's-- mi történik itt A tolmács megérti, ó, 725 00:36:12,530 --> 00:36:17,270 Én nyilván kéne használni Ebben a programban, hogy futtatni ezt a fájlt. 726 00:36:17,270 --> 00:36:20,010 És ez így lehetővé teszi, átugrani a lépést 727 00:36:20,010 --> 00:36:22,979 kelljen mondani php something.php. 728 00:36:22,979 --> 00:36:25,020 Van még egy fogás itt, ami az, hogy ha 729 00:36:25,020 --> 00:36:27,320 szeretnénk, ha a programok a várt módon működnek, akkor 730 00:36:27,320 --> 00:36:30,220 tennie kell valamit az úgynevezett Egy fájljogosultság változás. 731 00:36:30,220 --> 00:36:33,380 És mi go-- és beszélünk egy kicsit kicsit többet fájljogosultság változások 732 00:36:33,380 --> 00:36:37,550 videónkat a MVC, de elegendő, ha azt mondják, hogy ez az, amit meg kell csinálni 733 00:36:37,550 --> 00:36:42,760 annak érdekében, hogy a .php fájlokat futtatható. 734 00:36:42,760 --> 00:36:49,330 Szóval vessünk egy pillantást erre a mi utolsó példa át CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Tehát itt az IDE Van két kép ebben a PHP könyvtárat, amely úgy tűnik, nem 736 00:36:53,910 --> 00:36:55,310 nevű .php. 737 00:36:55,310 --> 00:36:58,170 Van olyan függvény add-- Van egy fájlt úgynevezett ADD3 738 00:36:58,170 --> 00:37:00,650 és nevű fájl dice2. 739 00:37:00,650 --> 00:37:03,680 Szóval vessünk egy gyors nézd, és nyissa fel ADD3. 740 00:37:03,680 --> 00:37:08,300 És mint látható, az elején Az én file Én ezt a kocsma, ugye? 741 00:37:08,300 --> 00:37:11,420 Ez a kettőskereszt felkiáltójel. 742 00:37:11,420 --> 00:37:15,115 Most, akkor is lehet, észre, hogy valamilyen okból, 743 00:37:15,115 --> 00:37:16,990 Nekem nincs semmilyen szintaktikai kiemelve többé, 744 00:37:16,990 --> 00:37:20,198 és ez az, amit utaltam korábban, amely az volt, hogy ha nem nevet adjak fájl 745 00:37:20,198 --> 00:37:23,040 .php, én nem az az előnye, A szintaxiskiemelést többé. 746 00:37:23,040 --> 00:37:26,220 Ez a fájl csak úgynevezett ADD3. 747 00:37:26,220 --> 00:37:30,960 Tehát, hogy tudok futni, hogy a későbbiekben A ./ ADD3 és nem ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Tehát a reason-- ez még mindig finom, ez még mindig érvényes PHP, 749 00:37:33,680 --> 00:37:37,000 de ez nem szintaktikai kiemelte, mert ez a fájl nem nevezett something.php. 750 00:37:37,000 --> 00:37:41,580 Ez az egyetlen igazi különbség Itt, valamint a kocsma. 751 00:37:41,580 --> 00:37:45,170 Nézzük, mi történik, ha Megpróbálom, és a program futtatásához. 752 00:37:45,170 --> 00:37:50,780 ./ ADD3, mint tenném C. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ ADD3 permission denied. 754 00:37:53,190 --> 00:37:55,390 Ez az, amit akarsz hogy ha elfelejti 755 00:37:55,390 --> 00:37:59,280 hogy a chmod paranccsal változtatni Az engedélyeket a fájl. 756 00:37:59,280 --> 00:38:03,845 >> Mint kiderült, a rendszeres PHP fájlokat nem lehet csak végrehajtani. 757 00:38:03,845 --> 00:38:06,970 Ők is értelmezhető, de mi csinál valamit, egy kicsit más itt. 758 00:38:06,970 --> 00:38:07,761 Mi futtatása. 759 00:38:07,761 --> 00:38:12,970 És így kell hozzá engedélyével végrehajtás, chmod a + x ADD3. 760 00:38:12,970 --> 00:38:15,680 Akkor azt mondhatom ./ ADD3. 761 00:38:15,680 --> 00:38:16,860 Kérem adjon nekem egy számot. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Ezek összege két szám 11. 764 00:38:20,490 --> 00:38:26,530 >> Hasonlóképpen, már chmoded dice2, úgyhogy csak típus ./ dice2, 765 00:38:26,530 --> 00:38:31,260 Ön sodort 1 és 1, akkor hengerelt egy 5 és egy 4, és így tovább. 766 00:38:31,260 --> 00:38:33,680 >> Tehát ez nagyjából a ötlet egy PHP szintaxis, ugye? 767 00:38:33,680 --> 00:38:35,221 Van egy csomó átvészelni, tudom. 768 00:38:35,221 --> 00:38:39,160 De remélhetőleg láttad már, hogy a PHP nem igazán, hogy eltér a C 769 00:38:39,160 --> 00:38:43,670 és tényleg ad nekünk a lehetőséget hogy a dolgokat egy-két fokkal. 770 00:38:43,670 --> 00:38:48,230 Nem igazán kell aggódnia Túl sok about-- Nem igazán 771 00:38:48,230 --> 00:38:51,605 kell túlságosan aggódnunk Az alacsony szintű részleteket is 772 00:38:51,605 --> 00:38:52,980 kellett aggódni a C, ugye? 773 00:38:52,980 --> 00:38:56,170 Mi lehet összpontosítani a magasabb szintű cucc, hogy a PHP 774 00:38:56,170 --> 00:39:01,090 lehetővé teszi számunkra, hogy nem, és hogy a nyújtott, hogy működni fog a számunkra. 775 00:39:01,090 --> 00:39:04,350 Szóval ez ad nekünk a lehetőséget, most, áttéréskor a C PHP, 776 00:39:04,350 --> 00:39:08,280 hogy a programok, amelyek sokkal több összetett és talán sokkal erőteljesebb. 777 00:39:08,280 --> 00:39:13,070 >> Szóval remélem, jó szórakozást munkavégzés PHP, és én vagyok Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 Ez CS50. 779 00:39:15,050 --> 00:39:17,637