1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG LLOYD: Felly rydym wedi gwneud llawer o waith yn C, 3 00:00:07,370 --> 00:00:09,536 ac C yn 'n sylweddol oera iaith oherwydd ei fod yn rhoi i chi 4 00:00:09,536 --> 00:00:12,840 y gallu i ddeifio mewn gwirionedd lefel isel yn eich rhaglenni. 5 00:00:12,840 --> 00:00:16,810 Rydym yn cael i wneud pethau fel 'n sylweddol munud fel drin 6 00:00:16,810 --> 00:00:18,800 beit unigol o gof. 7 00:00:18,800 --> 00:00:21,420 Dwyn i gof bod pwyntyddion 'n sylweddol caniatáu hyblygrwydd hwnnw i ni. 8 00:00:21,420 --> 00:00:25,260 >> Ond bob amser mae angen i ni gael y lefel honno mân-gronyn o fanylion 9 00:00:25,260 --> 00:00:26,820 yn ein rhaglenni? 10 00:00:26,820 --> 00:00:28,210 Nid yw yn ôl pob tebyg, dde? 11 00:00:28,210 --> 00:00:30,376 Ac os ydym yn mynd i gael cyfaddawd rhwng bod yn 12 00:00:30,376 --> 00:00:32,911 gallu gwneud iawn, iawn pethau munud ac yn wir, yn wir 13 00:00:32,911 --> 00:00:35,910 pethau mawr nad oes rhaid i ni feddwl am, nid oes rhaid i ni i weithredu 14 00:00:35,910 --> 00:00:40,290 y syniadau fawr iawn os maent yn barod a adeiladwyd yn i ni, 15 00:00:40,290 --> 00:00:43,980 Yn gyffredinol, ar gyfer adeiladu mawr rhaglenni neu brosiectau mawr, 16 00:00:43,980 --> 00:00:49,130 yn ôl pob tebyg rydyn ni'n mynd i or- o fod wedi ei adeiladu mwy o bethau iaith mewn 17 00:00:49,130 --> 00:00:51,300 i ni, yn hytrach na chael y pethau lefel isel. 18 00:00:51,300 --> 00:00:53,970 A dyna lle PHP 'n sylweddol yn dod i mewn. 19 00:00:53,970 --> 00:00:58,200 >> Yn awr, un o'r rhesymau rydym yn addysgu PHP yn CS50 20 00:00:58,200 --> 00:01:01,020 yw ei fod yn ysbrydolwyd drwm gan C. Ac yn wir, yn fy marn i, 21 00:01:01,020 --> 00:01:05,140 mae mewn gwirionedd dau Ieithoedd progenitor sy'n 22 00:01:05,140 --> 00:01:08,200 yn gyffredin iawn y dyddiau hyn. 23 00:01:08,200 --> 00:01:10,110 C a Lisp. 24 00:01:10,110 --> 00:01:13,280 Ac maen nhw'n ieithoedd progenitor oherwydd bod pob raglennu modern eraill 25 00:01:13,280 --> 00:01:17,380 iaith sydd wedi datblygu ers hynny ei ysbrydoli 26 00:01:17,380 --> 00:01:20,330 gan un neu mae'r syntactically arall. 27 00:01:20,330 --> 00:01:26,160 PHP yn debyg iawn syntactically i C, tra bod ieithoedd fel y Cynllun, 28 00:01:26,160 --> 00:01:27,900 er enghraifft, a oedd yn efallai eich bod wedi clywed am, 29 00:01:27,900 --> 00:01:32,070 ei ysbrydoli drwm gan iaith Gelwir Lisp, sydd yn iaith hŷn. 30 00:01:32,070 --> 00:01:34,220 >> Felly y rheswm rydym yn dysgu PHP yn CS50 yw bod, 31 00:01:34,220 --> 00:01:37,730 trwy wybod C fel y bôn wrth i chi ei wneud ar hyn o bryd, 32 00:01:37,730 --> 00:01:41,280 codi PHP, sy'n rhoi i chi y gallu i wneud pethau ar lefel llawer uwch 33 00:01:41,280 --> 00:01:44,710 na C yn ei wneud, nid yw bod llawer o'r rhwystr, 34 00:01:44,710 --> 00:01:48,230 oherwydd eich bod eisoes yn cael y Syniad sylfaenol y gystrawen. 35 00:01:48,230 --> 00:01:50,590 C wedi bod o gwmpas ers bron i 45 mlynedd yn y fan hon. 36 00:01:50,590 --> 00:01:52,780 PHP wedi bod o gwmpas ers tua 20 mlynedd. 37 00:01:52,780 --> 00:01:57,080 Ac yn y 25 mlynedd yn y canol, rhaglenwyr 38 00:01:57,080 --> 00:02:01,540 benderfynol y byddent yn llawer yn hytrach wedi galluoedd lefel uwch, 39 00:02:01,540 --> 00:02:04,970 ac mae'r camgymeriadau a brwydrau o'r 20 mlynedd yn y canol 40 00:02:04,970 --> 00:02:08,210 arwain at PHP a ieithoedd modern eraill. 41 00:02:08,210 --> 00:02:11,039 >> PHP yn dewis gwych o iaith ar gyfer meddalwedd 42 00:02:11,039 --> 00:02:14,042 bod allow-- am meddalwedd that-- lle rydych yn 43 00:02:14,042 --> 00:02:16,250 angen i ni wneud pethau sydd yn C yn gymhleth mewn gwirionedd. 44 00:02:16,250 --> 00:02:18,480 Felly, er enghraifft, yn gweithio gyda llinynnau yn C 45 00:02:18,480 --> 00:02:21,709 yn gymhleth iawn, oherwydd fel y gwyddom, llinynnau yn C 46 00:02:21,709 --> 00:02:23,250 yn wir yn unig araeau o gymeriadau. 47 00:02:23,250 --> 00:02:25,230 Nid yw'n fath ddata adeiledig yn. 48 00:02:25,230 --> 00:02:28,220 Neu efallai yn fwy sylfaenol, rhywbeth nad oeddem hyd yn oed yn cwmpasu yn C, 49 00:02:28,220 --> 00:02:30,360 beth os ydych angen ei wneud rhywfaint o rwydweithio cyfrifiadurol? 50 00:02:30,360 --> 00:02:30,860 Iawn? 51 00:02:30,860 --> 00:02:34,920 >> C sydd â'r gallu i wneud hynny, ond mae mor arcane ac mor anodd i wneud mewn gwirionedd. 52 00:02:34,920 --> 00:02:37,580 Oni fyddai'n braf pe y Roedd gan iaith, ffordd hawdd adeiledig yn 53 00:02:37,580 --> 00:02:38,910 i weithredu rhwydweithio? 54 00:02:38,910 --> 00:02:43,420 A PHP yn iaith sy'n gwneud hynny, neu'n hwyluso hynny, yn eithaf ychydig yn fwy. 55 00:02:43,420 --> 00:02:47,740 Fel y dywedais, PHP yn hysbrydoli drwm iawn gan C. Mae'r gystrawen yn debyg iawn. 56 00:02:47,740 --> 00:02:51,760 Ac felly dylai gobeithio yn gwneud y trosglwyddo o un i'r llall 57 00:02:51,760 --> 00:02:54,710 ychydig yn feddalach na'r rhai Efallai ieithoedd eraill fod. 58 00:02:54,710 --> 00:02:58,800 >> I ddechrau ysgrifennu PHP, jyst agor i fyny ffeil gyda'r estyniad ffeil .php. 59 00:02:58,800 --> 00:03:00,670 Yn dechnegol nid yw hyn yn ofynnol mewn gwirionedd, 60 00:03:00,670 --> 00:03:04,495 ond os ydych am bethau fel cystrawen gan amlygu yn IDE, fel math hwnnw 61 00:03:04,495 --> 00:03:07,620 enwau, neu enwau amrywiol, swyddogaethau, eich bod yn gwybod, y geiriau allweddol yr iaith 62 00:03:07,620 --> 00:03:10,090 yn cael eu hamlygu mewn lliw penodol, rydych yn gyffredinol 63 00:03:10,090 --> 00:03:14,020 am enwi eich ffeiliau gyda estyniad ffeil penodol. 64 00:03:14,020 --> 00:03:18,430 Felly rydym wedi enwi ein ffeil gyda .php estyniad, ond yna hefyd gyda PHP, 65 00:03:18,430 --> 00:03:23,310 yr holl cod PHP yn ysgrifennu yn y ffeil gael ei hamgáu yn y rhain PHP 66 00:03:23,310 --> 00:03:25,190 amffinyddion a welwn yma ar y sgrin. 67 00:03:25,190 --> 00:03:27,910 Angle braced? Php i ddechrau. 68 00:03:27,910 --> 00:03:30,860 Yna, rydym yn ysgrifennu ein holl PHP cod y mae arnom eisiau yn y canol. 69 00:03:30,860 --> 00:03:32,260 Ac wedyn ? 70 00:03:32,260 --> 00:03:34,710 bachyn ongl i gau. 71 00:03:34,710 --> 00:03:37,170 >> Os nad ydym yn gwneud hyn, yna beth sy'n mynd i ddigwydd? 72 00:03:37,170 --> 00:03:38,170 Nid yw'n mynd i ddamwain. 73 00:03:38,170 --> 00:03:39,410 Nid yw'n mynd i 'n sylweddol yn difetha ein rhaglen. 74 00:03:39,410 --> 00:03:41,440 Ond nid yw'n mynd i gael yr effaith yr ydym am. 75 00:03:41,440 --> 00:03:44,540 Beth sy'n mynd i ddigwydd, mewn gwirionedd, yw bod pan fyddwn yn ceisio rhedeg y rhaglen hon, 76 00:03:44,540 --> 00:03:50,330 popeth nid rhwng amffinyddion y rhai yn mynd i gael ei argraffu allan air am air. 77 00:03:50,330 --> 00:03:52,210 Nid yw'n mynd i mewn gwirionedd yn gweithredu y cod, 78 00:03:52,210 --> 00:03:56,010 mae'n mynd i ychydig ei hargraffu air am air. 79 00:03:56,010 --> 00:03:57,320 >> Nawr, pam yn wir? 80 00:03:57,320 --> 00:04:00,416 Felly C yn yr hyn a elwir fel iaith llunio. 81 00:04:00,416 --> 00:04:03,040 Mae'n debyg eich bod yn gyfarwydd â y cam o wneud eich rhaglenni, 82 00:04:03,040 --> 00:04:07,820 troi'r ffeiliau .c a ffeiliau .h i mewn i cyflawnadwy sengl gyda gwneuthuriad, 83 00:04:07,820 --> 00:04:11,130 yn enwedig gan ddefnyddio Chlang fel ein compiler. 84 00:04:11,130 --> 00:04:13,030 PHP, fodd bynnag, nid yw'n cael gyfwerth hwn. 85 00:04:13,030 --> 00:04:15,600 PHP yn hyn a elwir yn iaith dehongli. 86 00:04:15,600 --> 00:04:16,760 A beth mae hynny'n ei olygu? 87 00:04:16,760 --> 00:04:20,680 >> Wel, mae'n golygu nad oes gennym i drosi ein cod ffynhonnell i zeros a rhai 88 00:04:20,680 --> 00:04:21,470 ymlaen llaw. 89 00:04:21,470 --> 00:04:23,900 Yn hytrach, mae 'na rhaglen, a elwir hefyd yn 90 00:04:23,900 --> 00:04:29,771 PHP, sy'n deall PHP a Gall fath o yn ei gwneud yn ar y hedfan. 91 00:04:29,771 --> 00:04:32,520 Nid yw hyn yn wir yn union gywir, ond mae'n cyfatebiaeth 'n bert da 92 00:04:32,520 --> 00:04:33,760 o'r hyn sy'n digwydd. 93 00:04:33,760 --> 00:04:37,230 Mae'n dehongli rhai sero a rhai ar y hedfan. 94 00:04:37,230 --> 00:04:40,160 Ac felly os nad yw'n gwybod sut i brosesu rhywbeth, 95 00:04:40,160 --> 00:04:42,800 os nad yw'n gwybod sut i proses PHP, mae'n debyg 96 00:04:42,800 --> 00:04:44,680 eisiau rhoi hynny testun i mewn 'na, dde? 97 00:04:44,680 --> 00:04:48,960 >> Mae'n debyg y byddwch eisiau rhoi y cod yn yno, hyd yn oed os nad yw'n rhwng PHP-- 98 00:04:48,960 --> 00:04:50,035 y amffinyddion PHP. 99 00:04:50,035 --> 00:04:51,910 But-- felly nid yw'n mynd ei ddileu ar eich rhan, 100 00:04:51,910 --> 00:04:53,576 dim ond ei fod yn mynd i daflu bôn. 101 00:04:53,576 --> 00:04:55,550 Felly, mae'n mynd i argraffu allan i'r sgrin. 102 00:04:55,550 --> 00:04:57,150 >> Mae hyn yn ymddangos fel ei fod yn ddrwg peth, ond mewn gwirionedd mae'n 103 00:04:57,150 --> 00:04:58,220 mynd i fod yn wirioneddol peth da, fel yr ydym chi helpu 104 00:04:58,220 --> 00:05:00,390 gweld pan fyddwn yn sôn am Datblygu gwefan PHP, 105 00:05:00,390 --> 00:05:04,010 oherwydd mae'n golygu y gallwn intersperse PHP a HTML. 106 00:05:04,010 --> 00:05:06,640 Gallwn eu defnyddio gyda'i gilydd i creu tudalen we yn fwy deinamig. 107 00:05:06,640 --> 00:05:10,650 Ond yn fwy am hynny yn y 'n fideo ar datblygu'r we PHP. 108 00:05:10,650 --> 00:05:12,021 >> Felly beth yw cystrawen PHP? 109 00:05:12,021 --> 00:05:13,520 Dyna beth y fideo hwn yn gyfle i chi. 110 00:05:13,520 --> 00:05:14,850 Gadewch i ni siarad am y peth. 111 00:05:14,850 --> 00:05:16,490 >> Felly, i ddechrau, newidynnau. 112 00:05:16,490 --> 00:05:18,030 Newidynnau PHP yn bodoli. 113 00:05:18,030 --> 00:05:20,067 Mae dim ond dau fawr gwahaniaethau o C. 114 00:05:20,067 --> 00:05:21,900 Y cyntaf yw bod yna dim rhagnodwr math. 115 00:05:21,900 --> 00:05:24,245 Nid oes rhaid i ni ddweud int, torgoch, arnofio, holl bethau hynny. 116 00:05:24,245 --> 00:05:25,620 Nid oes rhaid i ni wneud hynny anymore. 117 00:05:25,620 --> 00:05:26,810 PHP yn iaith fodern. 118 00:05:26,810 --> 00:05:28,910 Gall chyfrif i maes beth rydych yn ceisio ei wneud neu wneud orau 119 00:05:28,910 --> 00:05:30,451 dyfalu ynghylch yr hyn yr ydych yn ceisio ei wneud. 120 00:05:30,451 --> 00:05:31,700 Felly dyna 'n bert' n glws. 121 00:05:31,700 --> 00:05:35,330 >> Y peth arall yw bod yr holl newidyn wedi enwau i ddechrau ag arwydd doler. 122 00:05:35,330 --> 00:05:36,940 Dyna dim ond rhywbeth i ddod i arfer â. 123 00:05:36,940 --> 00:05:39,496 Mae'n ychydig yn rhyfedd, gan fod 'i' fel y gall PHP deall 124 00:05:39,496 --> 00:05:40,870 beth newidyn a beth sydd ddim. 125 00:05:40,870 --> 00:05:43,340 Felly pob enw newidyn yn dechrau gyda arwydd doler. 126 00:05:43,340 --> 00:05:46,884 Felly, yn C gallem ddweud rhywbeth fel hyn, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Nid oes rhaid i ni wneud hynny bellach yn PHP. 128 00:05:48,550 --> 00:05:52,540 Gallwn dim ond dweud $ x = 54. 129 00:05:52,540 --> 00:05:55,920 A gallem ddweud, er enghraifft, yn C, pe baem wedi punt-yn cynnwys y .h CS50 130 00:05:55,920 --> 00:06:00,314 ffeil flaen, gallem ddweud ymadrodd llinyn = "Mae hyn yn CS50." 131 00:06:00,314 --> 00:06:01,980 Nid oes rhaid i ni wneud hynny yn PHP, er. 132 00:06:01,980 --> 00:06:04,865 Gallwn dim ond dweud $ ymadrodd = "Mae hyn yn CS50." 133 00:06:04,865 --> 00:06:08,760 Ac yn wir, llinyn yn awr adeiledig yn fath data yn PHP, 134 00:06:08,760 --> 00:06:10,950 neu yn hytrach PHP yn deall beth llinyn yn. 135 00:06:10,950 --> 00:06:15,612 Mae'n wahân amrywiaeth o gymeriadau fel y mae yn C. 136 00:06:15,612 --> 00:06:17,570 Eich holl hoff Datganiadau amodol o C 137 00:06:17,570 --> 00:06:19,520 yn dal ar gael i chi eu defnyddio. 138 00:06:19,520 --> 00:06:21,140 Felly dim trawsnewidiad mawr yno. 139 00:06:21,140 --> 00:06:23,400 Gallwn say-- gallwn gael os yw datganiadau fel hyn. 140 00:06:23,400 --> 00:06:28,210 os $ y 43, neu $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Felly dyna eithaf syml. 142 00:06:29,690 --> 00:06:31,980 Gallwn gael os a arall. 143 00:06:31,980 --> 00:06:34,210 Gallwn gael os a arall os. 144 00:06:34,210 --> 00:06:36,430 >> Ac yn sylwi ar rywbeth 'n bert' n glws yma, ac mae hyn 145 00:06:36,430 --> 00:06:39,620 yn fath o un o'r rhai manteision o PHP yn erbyn C, rhybudd 146 00:06:39,620 --> 00:06:41,510 pa swyddogaeth nid ydym yn defnyddio yma? 147 00:06:41,510 --> 00:06:47,737 Rydym yn defnyddio == i gymharu â amrywiol, $ enw, i llinyn. 148 00:06:47,737 --> 00:06:49,070 Ni allem wneud hynny yn C, dde? 149 00:06:49,070 --> 00:06:53,200 Roedd yn rhaid i ddefnyddio swyddogaeth o'r enw StrComp neu StrEndComp neu unrhyw 150 00:06:53,200 --> 00:06:54,840 o'i gefndryd cysylltiedig. 151 00:06:54,840 --> 00:06:56,980 >> Ac felly eisoes rydym yn gweld manteision hyn. 152 00:06:56,980 --> 00:07:00,930 Nid oes rhaid i ni wneud rhywbeth fel gwirion neu unintuitive efallai 153 00:07:00,930 --> 00:07:03,540 fel galw swyddogaeth o'r enw StrComp os Fi jyst am brofi 154 00:07:03,540 --> 00:07:05,237 a yw gwerth yn dychwelyd llinyn. 155 00:07:05,237 --> 00:07:07,820 Gallwn i jyst arfer hafal hafal, fel y gallwn i wneud unrhyw beth arall. 156 00:07:07,820 --> 00:07:09,560 Felly mae yna fantais. 157 00:07:09,560 --> 00:07:13,350 >> Weithiau, gyda llaw, efallai y byddwch gweld arall os fel un gair, elseif. 158 00:07:13,350 --> 00:07:14,910 Ac mae hynny'n iawn yn PHP yn ogystal. 159 00:07:14,910 --> 00:07:17,020 Felly weithiau efallai y byddwch yn gweld bod. 160 00:07:17,020 --> 00:07:17,790 Dyw hi ddim yn typo. 161 00:07:17,790 --> 00:07:21,830 PHP mewn gwirionedd yn deall elseif. 162 00:07:21,830 --> 00:07:23,980 Nid wyf yn gwybod pam eu bod penderfynu gweithredu hynny, 163 00:07:23,980 --> 00:07:28,220 ond fel yr ydym wedi gweld sawl gwaith drwy gydol ein fideos hyd yn hyn, 164 00:07:28,220 --> 00:07:30,460 rydym rhaglenwyr wrth fy modd os gallwn wneud pethau yn gyflym, 165 00:07:30,460 --> 00:07:33,660 felly cael gwared ar y gofod yn fantais fawr yn ôl pob golwg. 166 00:07:33,660 --> 00:07:34,800 >> Felly dyna os a elseif. 167 00:07:34,800 --> 00:07:37,540 Mae gennym hefyd y gweithredwr deiran, dwyn i gof colon marc cwestiwn, 168 00:07:37,540 --> 00:07:43,262 am ffurflen fer 'n sylweddol os arall neu ganghennog amodol. 169 00:07:43,262 --> 00:07:45,470 Ac i bob golwg, yn hyn, yr hyn yr ydym yn ceisio ei wneud yma 170 00:07:45,470 --> 00:07:49,720 yn cael ei aseinio y newidyn $ Llythyr naill ai'n gywir neu'n anghywir, 171 00:07:49,720 --> 00:07:54,110 gan ddibynnu a $ var yn gymeriad yr wyddor. 172 00:07:54,110 --> 00:07:57,320 Felly, mae hyn yn eithaf tebyg i isalpha ein bod yn gyfarwydd â oddi wrth C. 173 00:07:57,320 --> 00:07:59,010 Mae hyn yn fath o gyfwerth yn PHP. 174 00:07:59,010 --> 00:08:01,550 Mae'r swyddogaeth yn ôl pob golwg Gelwir ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 ond dyna sut yr ydym yn ei wneud yn PHP. 176 00:08:03,450 --> 00:08:08,560 Felly, mae hyn i gyd yn mynd i fod yn, os $ Var yn llythyr, $ llythyr yn wir. 177 00:08:08,560 --> 00:08:13,820 Os nad yw $ var yn llythyr, $ Llythyr yn ffug. 178 00:08:13,820 --> 00:08:15,820 >> Mae gennym hefyd ddatganiadau switsh o hyd. 179 00:08:15,820 --> 00:08:17,870 Rydym yn galw i gof y rhai o C hefyd. 180 00:08:17,870 --> 00:08:22,480 Ar y brig yno, dyna sut rydym yn ei wneud rhywbeth fel get int neu gael linyn. 181 00:08:22,480 --> 00:08:23,845 Felly PHP wedi bod a adeiladwyd yn. 182 00:08:23,845 --> 00:08:25,470 Nid oes angen y llyfrgell CS50 Rydym anymore. 183 00:08:25,470 --> 00:08:27,237 Gallwn jyst arfer 'r readline swyddogaeth. 184 00:08:27,237 --> 00:08:29,820 Beth sy'n mynd i wneud yw argraffu y neges, "Mae eich cyflwr, 185 00:08:29,820 --> 00:08:33,820 os gwelwch yn dda, "ac yna amrantu brydlon aros i'r defnyddiwr i fewnbynnu 186 00:08:33,820 --> 00:08:34,739 rhywfaint o wybodaeth. 187 00:08:34,739 --> 00:08:36,530 Nawr sylwi ar beth arall gallwn ei wneud gyda switsh. 188 00:08:36,530 --> 00:08:39,105 Os ydych chi wedi ei ddefnyddio o'r blaen, Efallai y byddwch yn cofio bod newid 189 00:08:39,105 --> 00:08:44,960 wedi'i gyfyngu 'n bert lawer i gyfanrifau a cymeriadau, ond erbyn hyn gallwn ddefnyddio llinynnau. 190 00:08:44,960 --> 00:08:50,190 Ac yn wir, y datganiad switsh yn PHP yn eithaf ychydig yn fwy hyblyg 191 00:08:50,190 --> 00:08:54,880 na'i gefnder o C. 192 00:08:54,880 --> 00:08:55,380 Dolenni. 193 00:08:55,380 --> 00:08:58,130 Yn union fel conditionals, i gyd eich hen ffefrynnau yn dal i fod yno. 194 00:08:58,130 --> 00:09:00,740 Mae gennym tra ddolenni sy'n cyfrif 1-100 yn yr achos hwn. 195 00:09:00,740 --> 00:09:03,940 Rydym wedi gwneud tra dolenni sy'n cyfrif 1-100, 196 00:09:03,940 --> 00:09:06,200 ac mae gennym i ddolenni sy'n cyfrif 1-100. 197 00:09:06,200 --> 00:09:07,220 Felly nid oes naid fawr yno. 198 00:09:07,220 --> 00:09:09,360 Mae'r gystrawen yn eithaf yn union yr un fath, 199 00:09:09,360 --> 00:09:11,760 ac eithrio yn awr rydym yn ei ddefnyddio newidyn arwydd doler yn lle hynny 200 00:09:11,760 --> 00:09:17,260 o ddatgan newidynnau cyfanrif neu rhywbeth fel 'na ar gyfer ein cownteri. 201 00:09:17,260 --> 00:09:20,090 >> Dyma lle mae pethau'n cael llawer gwell na C, er. 202 00:09:20,090 --> 00:09:21,020 Araeau. 203 00:09:21,020 --> 00:09:23,020 Felly cofio pan oeddem siarad am C, er mwyn 204 00:09:23,020 --> 00:09:25,560 i ni dyfu ac yn crebachu set o wybodaeth, 205 00:09:25,560 --> 00:09:28,310 roedd angen i ddidoli o fethu â chydymffurfio i'r syniad hwn o restr cysylltiedig, 206 00:09:28,310 --> 00:09:30,780 oherwydd araeau C yn sefydlog o ran maint. 207 00:09:30,780 --> 00:09:31,800 Ni allem eu crebachu. 208 00:09:31,800 --> 00:09:32,930 Ni allem eu tyfu. 209 00:09:32,930 --> 00:09:36,074 Roedd yn rhaid i ailddyrannu cof ac yn gwneud yr holl gwallgofrwydd hwn 210 00:09:36,074 --> 00:09:38,490 neu ddefnyddio rhestrau cysylltiedig, a oedd yn cymryd cryn le ychydig yn fwy. 211 00:09:38,490 --> 00:09:41,590 Ond yn PHP, araeau yn Nid yw sefydlog o ran maint anymore. 212 00:09:41,590 --> 00:09:43,240 Gallant dyfu a gallant crebachu. 213 00:09:43,240 --> 00:09:46,660 Felly unwaith eto, mae'r rhain yn 20 mlynedd a oedd yn bodoli rhwng y datganiad cyntaf o C 214 00:09:46,660 --> 00:09:49,440 a'r PHP datganiad cyntaf, rydym yn penderfynu eich bod, yn gwybod, 215 00:09:49,440 --> 00:09:51,670 byddai'n wirioneddol wych pe gallem wneud hyn. 216 00:09:51,670 --> 00:09:54,100 Ac felly rydym yn rhoi ar waith yma. 217 00:09:54,100 --> 00:09:58,040 >> Felly nid araeau PHP yn sefydlog yn maint, ac oherwydd nad PHP yn gwneud 'n sylweddol 218 00:09:58,040 --> 00:10:03,090 gael rhaglennydd blaen-wynebu syniadau o fathau, 219 00:10:03,090 --> 00:10:05,110 gallwn gymysgu mathau o ddata yn ein araeau, hefyd. 220 00:10:05,110 --> 00:10:08,100 Felly, nid oes gennym hyd yn oed i ddefnyddio pob cyfanrifau neu'r holl bwyntiau fel y bo'r angen, 221 00:10:08,100 --> 00:10:12,826 gallwn gael cymysgedd o holl gwahanol fathau mewn amrywiaeth sengl. 222 00:10:12,826 --> 00:10:14,700 Datgan amrywiaeth yn eithaf syml. 223 00:10:14,700 --> 00:10:16,116 Mae'n union fel unrhyw newidyn arall. 224 00:10:16,116 --> 00:10:20,020 $ Nums = array (1, 2, 3, 4), array bod yn swyddogaeth 225 00:10:20,020 --> 00:10:22,760 sy'n adeiladu i mewn PHP sy'n yn creu amrywiaeth ar eich cyfer. 226 00:10:22,760 --> 00:10:28,315 Mae hyn yn creu amrywiaeth o bedwar gwerthoedd, niferoedd yn yr achos hwn, a elwir yn $ Nums. 227 00:10:28,315 --> 00:10:29,940 Ac mae mwy nag un ffordd i wneud hynny. 228 00:10:29,940 --> 00:10:32,420 Ac rydym yn mynd i gweld hyn yn llawer yn PHP. 229 00:10:32,420 --> 00:10:36,380 PHP wedi cael ei ddatblygu gan lawer o wahanol pobl ac yn tyfu ac yn tyfu ac yn tyfu. 230 00:10:36,380 --> 00:10:40,050 Fel arfer, does dim ond dau neu tair ffordd i wneud rhywbeth yn PHP, 231 00:10:40,050 --> 00:10:42,170 mae fel arfer yn hoffi 10 neu 20. 232 00:10:42,170 --> 00:10:45,300 Dyma 'jyst cyffredin arall ffordd i ddatgan arae. 233 00:10:45,300 --> 00:10:48,310 $ Nums = sgwâr braced 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Felly mae hyn yn fath o debyg i ongl C br-- nodiant Brace cyrliog, yn hytrach. $ - 235 00:10:53,170 --> 00:10:58,525 neu a fyddai'n Nums int sgwâr cromfachau hafal Brace cyrliog 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 Yn PHP mae'n $ Nums = sgwâr cromfachau 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Ond mae'r ddau o'r enghreifftiau hyn yma roi i mi amrywiaeth o bedwar yn yr achos hwn cyfanrifau. 238 00:11:08,920 --> 00:11:10,920 >> Beth os wyf am i dacio rhywbeth ar hyn o bryd? 239 00:11:10,920 --> 00:11:14,760 Wel gallaf ddweud $ Nums 4, sy'n unwaith eto, rydym yn dal i gyfrif o 0 yma 240 00:11:14,760 --> 00:11:17,800 yn PHP, yn y pumed elfen y rhesi. 241 00:11:17,800 --> 00:11:18,990 Gallaf ddweud bod. 242 00:11:18,990 --> 00:11:22,860 Dydw i ddim yn mynd i ddioddef GEY fai, oherwydd mae fy array yn unig 243 00:11:22,860 --> 00:11:24,337 mynd i dyfu i ddarparu ar gyfer hynny. 244 00:11:24,337 --> 00:11:25,420 Dyna 'n bert' n glws, dde? 245 00:11:25,420 --> 00:11:28,400 Ac yn wir, nid oes angen i Rwyf hyd yn oed nodi lle yr wyf am ei roi. 246 00:11:28,400 --> 00:11:31,220 Gallaf ddweud hyn, a dim ond tac yn iawn ar hyd y diwedd, 247 00:11:31,220 --> 00:11:34,099 neu gallwn hyd yn oed yn unig dweud $ Nums 20 neu 1,000. 248 00:11:34,099 --> 00:11:35,140 Nid oes llawer o bwys. 249 00:11:35,140 --> 00:11:38,330 Mae'n dal i fod yn jyst yn mynd i tac yn iawn ar hyd y diwedd. 250 00:11:38,330 --> 00:11:41,490 >> Felly yr wyf yn gallu tyfu, ac as-- rydym yn ddim yn mynd i orchuddio mewn yma, 251 00:11:41,490 --> 00:11:45,360 ond gallaf Splice neu stribed elfennau allan y rhesi, yn ogystal, 252 00:11:45,360 --> 00:11:50,064 a bydd yr amrywiaeth crebachu i ddarparu ar y lle yn awr goll neu yn wag. 253 00:11:50,064 --> 00:11:52,230 Mae ffordd arall o tac rhywbeth ar amrywiaeth, 254 00:11:52,230 --> 00:11:54,330 sydd yn swyddogaeth o'r enw array_push. 255 00:11:54,330 --> 00:11:57,860 Felly unwaith eto, dim ond y syniad hwn o fod yn gallu gwneud pethau llawer o wahanol ffyrdd. 256 00:11:57,860 --> 00:12:01,950 Felly, rydym wedi gweld tair ffordd wahanol yn awr i dacio elfen arall ar arae. 257 00:12:01,950 --> 00:12:06,900 Felly, mae hyn yn ychwanegu elfen arall hyd at ddiwedd y rhesi $ Nums. 258 00:12:06,900 --> 00:12:08,340 A gallwn gymysgu i fyny ein fathau o ddata. 259 00:12:08,340 --> 00:12:13,110 Er mwyn imi gael amrywiaeth o beidio 1, 2, 3, 4, ond 1, yn wir, 3, 4, 260 00:12:13,110 --> 00:12:16,420 lle bo gwir yw Boole, ac yna os wyf am tac ar yr elfen arall 261 00:12:16,420 --> 00:12:20,860 at y array, efallai llinyn, y llinyn "pump," Gallwn wneud hynny. 262 00:12:20,860 --> 00:12:26,110 Ac yn awr y byddai fy array fod yn 1, yn wir, 3, 4, pump. 263 00:12:26,110 --> 00:12:28,640 Mae'r gair pump, nid yw'r cyfanrif 5. 264 00:12:28,640 --> 00:12:31,270 Felly, mae llawer o hyblygrwydd yno. 265 00:12:31,270 --> 00:12:33,290 >> Mae hyblygrwydd yn cael hyd yn oed yn well, fodd bynnag, 266 00:12:33,290 --> 00:12:37,530 oherwydd PHP wedi cefnogaeth am rywbeth Gelwir amrywiaeth cysylltiadol. 267 00:12:37,530 --> 00:12:40,660 Ac rydym fath o siarad yn fras araeau am cysylltiadol yn C 268 00:12:40,660 --> 00:12:44,740 yng nghyd-destun tablau hash, gan fod pa araeau cysylltiadol mewn gwirionedd i gyd 269 00:12:44,740 --> 00:12:48,950 am yn gwneud allwedd mapiadau gwerth pâr. 270 00:12:48,950 --> 00:12:53,410 Ac yn yr achos hwn, mae'r keys-- os rydym yn gyfarwydd â rhesi o C, 271 00:12:53,410 --> 00:12:55,440 yr allweddi niferoedd mynegai. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 Ac mae'r gwerthoedd yn yr hyn yr ydym yn canfod bod array 0, array 1, array 2, ac yn y blaen. 274 00:13:03,070 --> 00:13:06,310 Felly yr allweddi yn cael eu mynegeion, ac mae'r gwerthoedd yn 275 00:13:06,310 --> 00:13:10,060 yr hyn sydd yn y lleoliad hwnnw array, a nodir gan y mynegai. 276 00:13:10,060 --> 00:13:15,130 >> Ond mewn PHP, nid oes gennym i wneud hyn syniad o amrywiaeth 0, array 1, array 2 277 00:13:15,130 --> 00:13:15,830 anymore. 278 00:13:15,830 --> 00:13:21,025 Gallwn yn awr yn defnyddio geiriau go iawn i fapio allweddi i werthoedd. 279 00:13:21,025 --> 00:13:22,650 Ac felly y gallwn i ddweud rhywbeth fel hyn. 280 00:13:22,650 --> 00:13:26,710 Gallwn greu amrywiaeth gan ddefnyddio'r cystrawen braced sgwâr fel a ganlyn. 281 00:13:26,710 --> 00:13:30,685 $ Pizzas = braced sgwâr "Caws" ac yna 282 00:13:30,685 --> 00:13:37,210 y math hwn o dwbl nodiant saeth, 8.99, "pepperoni," saeth 10.99-- 9.99, 283 00:13:37,210 --> 00:13:37,880 ac yn y blaen. 284 00:13:37,880 --> 00:13:39,060 Ac felly yr hyn sy'n digwydd yma? 285 00:13:39,060 --> 00:13:41,040 Beth ydw i'n ei wneud mewn gwirionedd? 286 00:13:41,040 --> 00:13:43,990 Im 'yn creu mapiadau gwerth pâr allweddol. 287 00:13:43,990 --> 00:13:49,060 Felly, yn lle dweud, er enghraifft, pizzas 0, darnau 1, pizzas 2, 288 00:13:49,060 --> 00:13:52,350 Erbyn hyn gallaf ddweud pizzas caws, pizzas pepperoni, 289 00:13:52,350 --> 00:13:55,120 ac yn cyfeirio at y gwerthoedd gysylltiedig â hwy. 290 00:13:55,120 --> 00:13:56,970 >> Felly dyma yw ein allweddi mewn gwyrdd. 291 00:13:56,970 --> 00:13:59,870 Caws, pepperoni, llysiau, cyw iâr byfflo. 292 00:13:59,870 --> 00:14:04,200 Dyma 'r saeth sy'n gwneud hwn mapio gwerth pâr allweddol. 293 00:14:04,200 --> 00:14:07,420 Ac yna dyma gwerthoedd yn y lleoliad hwnnw array. 294 00:14:07,420 --> 00:14:10,330 Felly mae fel dweud array 0 yn dychwelyd 8.99. 295 00:14:10,330 --> 00:14:11,720 Yr hyn sy'n allweddol yw 0. 296 00:14:11,720 --> 00:14:13,600 Mae'r gwerth yn 8.99. 297 00:14:13,600 --> 00:14:19,370 Erbyn hyn gallaf ddweud caws array, neu yn hyn achos caws pizzas, caws yn allweddol, 298 00:14:19,370 --> 00:14:23,340 a'r hyn yr wyf yn dod o hyd at caws pizzas yw 8.99. 299 00:14:23,340 --> 00:14:25,540 Dyna y gwerth yr wyf yn dod o hyd yno. 300 00:14:25,540 --> 00:14:28,124 >> Felly, yr wyf yn gallu dweud pethau yn hoffi. Caws $ pizza = 7.99. 301 00:14:28,124 --> 00:14:29,040 Dweud Rwy'n cael sêl. 302 00:14:29,040 --> 00:14:31,750 Rwyf am dis-- Rwyf am i ollwng pris y pizza caws. 303 00:14:31,750 --> 00:14:35,620 Neu gallaf ddefnyddio'r llysiau pizza fel rhan o amod, 304 00:14:35,620 --> 00:14:39,990 neu gallaf ychwanegu elfen newydd at fy array, yn union fel y gallwn i wneud yn flaenorol. 305 00:14:39,990 --> 00:14:44,680 Gallaf ychwanegu elfen newydd i hyn arae cysylltiadol gyda'r allwedd "cig moch" 306 00:14:44,680 --> 00:14:49,250 a gwerth 13.49. 307 00:14:49,250 --> 00:14:53,820 >> Ond mae hyn yn cyflwyno math o broblem, os ydych yn meddwl am y peth am eiliad. 308 00:14:53,820 --> 00:14:55,721 Sut y byddem yn ailadrodd trwy amrywiaeth hon? 309 00:14:55,721 --> 00:14:56,220 Iawn? 310 00:14:56,220 --> 00:14:59,820 Yn C, byddem yn unig yn cael ar gyfer dolen, fel arfer, bod 311 00:14:59,820 --> 00:15:03,650 Byddai rhedeg o 0 i'r maint y rhesi minws 1. 312 00:15:03,650 --> 00:15:08,060 Mae gan y casgliad elfennau n mewn o, y mynegeion dilys yn 0 i n minws 1. 313 00:15:08,060 --> 00:15:11,530 Felly, gallem ddefnyddio ar gyfer dolen i gamu trwy bob elfen unigol. 314 00:15:11,530 --> 00:15:13,530 >> Ond nid yw hynny'n wir yn yr achos anymore, dde? 315 00:15:13,530 --> 00:15:17,360 Nawr lle mae gennym pâr gwerth allweddol mapiadau lle yr allweddi yn cael eu geiriau, 316 00:15:17,360 --> 00:15:19,970 sut rydym yn ailadrodd dros yr holl o'r geiriau? 317 00:15:19,970 --> 00:15:22,420 Wel, yn ffodus, PHP wedi yn ffordd i ddelio â hyn hefyd, 318 00:15:22,420 --> 00:15:24,580 ac felly byddwn yn neidio yn ôl i dolennau am ail 319 00:15:24,580 --> 00:15:30,780 i gyflwyno pedwerydd fath o ddolen sy'n yn bodoli mewn enw PHP dolen foreach. 320 00:15:30,780 --> 00:15:34,430 A beth dolen foreach yn ei wneud yw yn y bôn yr un syniad. 321 00:15:34,430 --> 00:15:36,060 Gallwch ei ddefnyddio ar gyfer unrhyw fath o amrywiaeth. 322 00:15:36,060 --> 00:15:38,100 Ond yn y bôn y un syniad fel ar gyfer dolen, 323 00:15:38,100 --> 00:15:40,750 ac eithrio yn hytrach na defnyddio rhifau mynegai, 'ch jyst 324 00:15:40,750 --> 00:15:45,830 cael y gystrawen 'n annaearol lle byddwch yn ffonio bob elfen unigol 325 00:15:45,830 --> 00:15:47,550 enw at ddibenion y ddolen hon. 326 00:15:47,550 --> 00:15:49,258 >> Felly, yn yr achos hwn, foreach ($ arae â $ allweddol). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Yn y bôn, fel bod nodiadau sylwadau, tu mewn y ddolen foreach, 329 00:15:56,450 --> 00:16:00,466 mae'n mynd i fynd dros bob un elfen o $ array, sydd fel arfer 330 00:16:00,466 --> 00:16:03,340 mynd i fod amrywiaeth cysylltiadol, ond gall mewn gwirionedd fod yn unrhyw fath o amrywiaeth 331 00:16:03,340 --> 00:16:05,419 eich bod am yn PHP. 332 00:16:05,419 --> 00:16:07,210 A phob tro, wrth mae i ddolen i chi efallai 333 00:16:07,210 --> 00:16:13,780 wedi dweud $ array cromfachau sgwâr $ I, fe allech chi jyst dweud $ allweddol. 334 00:16:13,780 --> 00:16:22,340 Er mwyn i $ allweddol yn dod yn alias ar gyfer pob mynegai o'ch PHP array cysylltiadol, 335 00:16:22,340 --> 00:16:23,710 ac felly y gallwch ei ddefnyddio fel 'na. 336 00:16:23,710 --> 00:16:25,897 >> Felly, er enghraifft, rydym wedi bellach yn cael ein array pizzas. 337 00:16:25,897 --> 00:16:27,730 Rydw i wedi fath o guddio ei i mewn i'r gornel yno 338 00:16:27,730 --> 00:16:31,080 fel y gallwn ei ddefnyddio i wneud yn enghraifft gyflym. 339 00:16:31,080 --> 00:16:36,420 Os wyf yn dweud foreach ($ pizzas fel $ Pizza), yn dda, beth sy'n digwydd? 340 00:16:36,420 --> 00:16:42,400 Wel, dw i'n mynd i ailadrodd drwy bob elfen unigol y rhesi $ pizzas, 341 00:16:42,400 --> 00:16:46,670 ac wrth wneud hynny, dw i'n mynd i alw pob elfen, pan dwi tu mewn 342 00:16:46,670 --> 00:16:49,400 o gorff hynny ar gyfer dolen, $ pizza. 343 00:16:49,400 --> 00:16:52,440 >> Felly dyna fath o sefyll-i-mewn, galw i gof, y $ pizza 344 00:16:52,440 --> 00:16:59,140 yn stand-mewn am ddweud $ Pizzas cromfachau sgwâr $ ff 345 00:16:59,140 --> 00:17:03,370 pe baem yn defnyddio ar gyfer dolen, lle'r ydym Gallai mynd o $ i = 0 i, yn yr achos hwn, 346 00:17:03,370 --> 00:17:06,089 $ Ff = 3. 347 00:17:06,089 --> 00:17:09,780 Os nad oedd gennym barau gwerth allweddol yma, byddai hyn yn elfen 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 a byddem yn defnyddio ar gyfer dolen i fynd $ Pizzas 0, $ pizzas 1, $ pizzas 2, 349 00:17:16,390 --> 00:17:17,750 $ Pizzas 3. 350 00:17:17,750 --> 00:17:23,130 Felly, yn awr yn unig $ pizza yn dirprwyo ar gyfer y allweddol unigol. 351 00:17:23,130 --> 00:17:25,630 >> Felly beth mae hyn yn mynd i argraffu? 352 00:17:25,630 --> 00:17:29,030 Dw i'n argraffu $ pizza. 353 00:17:29,030 --> 00:17:35,270 Beth ydw i'n mynd i ddod o hyd at-- os wyf yn argraffu $ pizzas, $ i? 354 00:17:35,270 --> 00:17:35,770 Iawn? 355 00:17:35,770 --> 00:17:38,680 Os ydw i'n mynd i'w hargraffu yr elfen ith o pizzas, 356 00:17:38,680 --> 00:17:40,070 beth ydw i'n mynd i argraffu? 357 00:17:40,070 --> 00:17:42,580 Rydw i'n mynd i argraffu'r gwerthoedd yn y lleoliad hwnnw, dde? 358 00:17:42,580 --> 00:17:45,370 Fel pe baem yn gwneud hyn yng nghyd-destun C, 359 00:17:45,370 --> 00:17:49,786 Nid ydym fel arfer yn defnyddio ein iterator amrywiol, int i = 0, fi yn llai na 3, 360 00:17:49,786 --> 00:17:52,900 ff ++, i argraffu 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Rydym yn argraffu array 0, array 1, array 2, array 3. 362 00:17:57,500 --> 00:17:59,580 Ac felly beth mae hyn yn argraffu allan yw hyn. 363 00:17:59,580 --> 00:18:01,150 Mae'n y rhestr o brisiau. 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 >> Erbyn hyn, mae nodyn hwylus yma. 366 00:18:06,900 --> 00:18:10,900 Nid yw dolen foreach yn ei wneud o reidrwydd argraffu pethau mewn trefn. 367 00:18:10,900 --> 00:18:12,770 Dyw hi ddim yn gwarantu. 368 00:18:12,770 --> 00:18:13,550 Mae fel arfer yn ei wneud. 369 00:18:13,550 --> 00:18:17,667 Fel arfer mae'n seiliedig ar y drefn y pa elfennau yn cael eu hychwanegu at y casgliad, 370 00:18:17,667 --> 00:18:18,750 felly dim ond yn cadw hynny mewn cof. 371 00:18:18,750 --> 00:18:20,830 Efallai na fydd yn mewn trefn. 372 00:18:20,830 --> 00:18:23,930 Ond bydd dolen foreach ailadrodd ar draws pob elfen unigol 373 00:18:23,930 --> 00:18:25,060 y rhesi o dan sylw. 374 00:18:25,060 --> 00:18:27,980 Yn yr achos hwn, unwaith eto, bod amrywiaeth yn $ pizzas. 375 00:18:27,980 --> 00:18:32,920 >> Gallaf newid y gystrawen, fodd bynnag, os Rwyf am i'r allwedd a gwerth. 376 00:18:32,920 --> 00:18:37,179 Yn hytrach na dweud $ pizzas fel $ pizza, gallaf ddweud hyn. 377 00:18:37,179 --> 00:18:39,470 Ac os ydych yn edrych ar yr hyn yr wyf i wedi mewn gwyrdd yma, 378 00:18:39,470 --> 00:18:42,130 mae'n edrych fel mapio gwerth pâr allweddol. 379 00:18:42,130 --> 00:18:45,980 Ac felly os you-- hyd yn oed os nad ydych yn hollol siŵr beth mae'n mynd i wneud, 380 00:18:45,980 --> 00:18:49,300 mae'n debyg y gallwch ddyfalu bod $ topin yn mynd 381 00:18:49,300 --> 00:18:53,800 i fod yn allweddol yn yr achos hwn ac $ Pris yn mynd i fod gwerth. 382 00:18:53,800 --> 00:18:59,200 Felly dw i'n amnewid yn awr bob elfen o $ pizzas fel pâr gwerth allweddol, 383 00:18:59,200 --> 00:19:03,900 ac yn awr y gallaf gyfeirio at y allweddol ac gwerth, a allai mewn 'n hylaw, 384 00:19:03,900 --> 00:19:05,590 er enghraifft, fel a ganlyn. 385 00:19:05,590 --> 00:19:10,170 >> "A cyfan" - mae hyn yn llawer o argraffu mynd ymlaen Yma-- "A cyfan" 386 00:19:10,170 --> 00:19:17,300 ychwanegu "pizza costau $" pris, ac yna Rwy'n argraffu cyfnod a slaes n. 387 00:19:17,300 --> 00:19:23,420 Felly nawr, rhybudd eto yr wyf yn cael mynediad at allwedd, $ topin, ac mae gwerth, $ pris. 388 00:19:23,420 --> 00:19:26,647 Felly, gallwch chi ddyfalu beth mae hyn yn yn mynd i argraffu? 389 00:19:26,647 --> 00:19:29,480 Mae llawer o ddatganiadau print, ond dim ond un slaes n, 390 00:19:29,480 --> 00:19:33,410 felly mae'n mynd i argraffu rhywbeth ar yn entire-- ar un llinell o god. 391 00:19:33,410 --> 00:19:36,965 >> Os gallaf gyfeirio at yr allwedd a gwerth, ac yna yn awr, 392 00:19:36,965 --> 00:19:39,090 yn hytrach na dim ond bod yn gallu argraffu'r prisiau, 393 00:19:39,090 --> 00:19:41,330 Gallaf argraffu rhywbeth fel hyn. 394 00:19:41,330 --> 00:19:43,780 "Mae pizza caws cyfan yn costio $ 8.99." 395 00:19:43,780 --> 00:19:47,150 Ac yn awr rwy'n ei ddefnyddio bob un o'r keys-- caws, pepperoni, llysiau, 396 00:19:47,150 --> 00:19:49,640 byfflo chicken-- a'r gwerthoedd. 397 00:19:49,640 --> 00:19:53,980 8.99, 9.99, 10.99, 11.99 Felly bod yn unig ffordd wahanol 398 00:19:53,980 --> 00:19:57,840 i wneud dolen foreach bod yn hytrach na jyst roi mynediad i chi i'r gwerthoedd, 399 00:19:57,840 --> 00:20:02,950 'i jyst yn rhoi you-- ei fod yn rhoi i chi mynediad at yr allweddi a gwerthoedd. 400 00:20:02,950 --> 00:20:04,411 >> Felly argraffu gwybodaeth. 401 00:20:04,411 --> 00:20:07,410 Rwyf eisoes wedi gwneud hynny ychydig o ffyrdd gwahanol, efallai eich bod wedi sylwi. 402 00:20:07,410 --> 00:20:11,080 Roedd y ddwy swyddogaeth rydym wedi bennaf gweld yn argraffu a adlais. 403 00:20:11,080 --> 00:20:14,380 Ac ar gyfer 'n bert lawer bob pwrpas a dibenion, eu bod yn union yr un fath. 404 00:20:14,380 --> 00:20:17,130 They're-- mae 'na cynnil iawn gwahaniaeth sydd ddim hyd yn oed yn werth 405 00:20:17,130 --> 00:20:21,130 mynd i mewn, ond yn y bôn ym mhob man gallwch ddefnyddio print mae'n debyg y gallwch eu defnyddio 406 00:20:21,130 --> 00:20:22,370 adleisio hefyd. 407 00:20:22,370 --> 00:20:23,610 >> Ac nid yr unig ddau hynny. 408 00:20:23,610 --> 00:20:26,970 PHP wedi llawer o wahanol ffyrdd i argraffu pethau allan, 409 00:20:26,970 --> 00:20:30,520 ac mae ganddo hefyd ffyrdd o integreiddio newidynnau i ganol llinyn. 410 00:20:30,520 --> 00:20:32,860 Felly cofio o C, a ydych cofio beth swyddogaeth 411 00:20:32,860 --> 00:20:37,580 gallwn ei ddefnyddio i gymryd lle newidynnau i mewn i bethau rydym eisiau argraffu? 412 00:20:37,580 --> 00:20:40,160 Mae'n debyg eich bod yn defnyddio hyn gweithredu cryn dipyn. 413 00:20:40,160 --> 00:20:42,290 printf, dde? 414 00:20:42,290 --> 00:20:45,290 Felly, mae hyn yn beth oedd gennym o'r blaen y tu mewn o'r cyd-destun ein dolen foreach. 415 00:20:45,290 --> 00:20:48,000 Roedd gennym bump hyn Datganiadau print ar wahân, 416 00:20:48,000 --> 00:20:50,330 oherwydd dyna oedd yr unig ffordd rwy'n wir yn gwybod ar y pryd 417 00:20:50,330 --> 00:20:52,450 sut i argraffu negeseuon. 418 00:20:52,450 --> 00:20:59,560 Nid oeddwn yn gwybod sut i integreiddio'r $ amrywiol topin i mewn i fy cod PHP. 419 00:20:59,560 --> 00:21:03,700 Wel, os Fi jyst cymryd dyfalu gwyllt, printf, mae'n mewn gwirionedd byddai wedi gweithio. 420 00:21:03,700 --> 00:21:08,980 printf yn swyddogaeth y gallaf eu defnyddio yn PHP, yn union fel y gallaf ddefnyddio mewn C. 421 00:21:08,980 --> 00:21:11,880 >> Ac felly rhywbeth fel hyn, printf, eto, yr ydym yn gyfarwydd â hynny. 422 00:21:11,880 --> 00:21:16,420 Y% s cyntaf yn cael ei ddisodli gyda gwerth o $ topin. 423 00:21:16,420 --> 00:21:19,700 Mae'r ail% s yn cael ei ddisodli gyda gwerth o $ pris. 424 00:21:19,700 --> 00:21:22,630 Ac felly rwy'n interpellating, sydd ychydig yn ffordd ffansi 425 00:21:22,630 --> 00:21:25,400 o ddweud fy mod yn glynu y newidynnau i mewn i'r lleoliad. 426 00:21:25,400 --> 00:21:31,000 Felly rwy'n plygio mewn $ topin lle mae'r % s coch yn a $ pris lle mae'r% glas s 427 00:21:31,000 --> 00:21:36,060 yw, ac yna byddwn yn cael y neges, "Mae pizza caws cyfan yn costio $ 8.99." 428 00:21:36,060 --> 00:21:37,750 >> Nid yn yr unig ffordd y gallaf ei wneud, er. 429 00:21:37,750 --> 00:21:39,760 Efallai y byddwn am ddefnyddio'r dull hwn. 430 00:21:39,760 --> 00:21:44,890 Mae hyn mewn gwirionedd yr hyn sydd fwyaf cyffredin Gelwir interpellation amrywiol. 431 00:21:44,890 --> 00:21:45,690 Gallaf ddefnyddio adlais. 432 00:21:45,690 --> 00:21:47,737 Gallwn i ddefnyddio print hefyd, fel y byddwn yn gweld. 433 00:21:47,737 --> 00:21:48,820 Ond beth sy'n digwydd yma? 434 00:21:48,820 --> 00:21:51,520 >> Yn gyntaf oll, rhaid i mi ddianc rhag y arwydd ddoler. 435 00:21:51,520 --> 00:21:55,140 Oherwydd cofiwch, pan oeddem mewn gwirionedd argraffu allan y prisiau y pizzas, 436 00:21:55,140 --> 00:21:59,370 Roeddwn yn mewn gwirionedd yn eu fformatio fel ffigurau ariannol gydag arwydd doler. 437 00:21:59,370 --> 00:22:05,635 Ond rydym yn defnyddio arwyddion doler hefyd i gynrychioli enwau amrywiol mewn PHP, 438 00:22:05,635 --> 00:22:08,010 ac yn enwedig pan dwi gan ddefnyddio'r dull hwn o cyrliog 439 00:22:08,010 --> 00:22:10,040 newidyn Brace Dull interpellation, mae angen i mi 440 00:22:10,040 --> 00:22:13,490 i ddianc fy arwydd doler fel nad yw'n gwneud yn meddwl Rwy'n siarad am newidyn. 441 00:22:13,490 --> 00:22:16,920 Mae'n mynd i mewn gwirionedd, llythrennol argraffu arwydd doler. 442 00:22:16,920 --> 00:22:19,530 >> Felly fath o analogize i yr hyn a welwch ar y diwedd yno. 443 00:22:19,530 --> 00:22:22,832 Nid yw'n gwneud mewn gwirionedd print slaes n, dde? 444 00:22:22,832 --> 00:22:24,290 Mae'n brintiau allan gymeriad llinell newydd. 445 00:22:24,290 --> 00:22:26,750 Mae hyn yn yw-- nid yw'n mynd i print arwydd doler slaes, 446 00:22:26,750 --> 00:22:30,130 mae'n mynd i argraffu yn unig cymeriad arwydd doler. 447 00:22:30,130 --> 00:22:30,640 Un syniad. 448 00:22:30,640 --> 00:22:32,760 Escape dilyniannau, beth gelwir y pethau hyn. 449 00:22:32,760 --> 00:22:37,080 >> Ond yn sylwi nad wyf yn ei wneud unrhyw fath o% s dirprwyon, 450 00:22:37,080 --> 00:22:40,050 Im 'jyst yn llythrennol yn llenwi yn y newidynnau hyn. 451 00:22:40,050 --> 00:22:45,110 Ac felly yn this-- beth fyddai'n digwydd yma yw bod gwerth o $ topping-- eto, 452 00:22:45,110 --> 00:22:48,390 jyst cadw â'r hyn yr ydym wedi bod yn Byddai siarad am gaws mor far-- cael 453 00:22:48,390 --> 00:22:49,720 blygio i mewn 'na. 454 00:22:49,720 --> 00:22:54,780 A byddai $ pris yn beth bynnag yw gwerth ar pizzas, cromfachau sgwâr, caws, 455 00:22:54,780 --> 00:22:56,270 sef 8.99. 456 00:22:56,270 --> 00:23:01,860 Ac felly byddai hyn hefyd yn argraffu "Mae pizza caws cyfan yn costio $ 8.99." 457 00:23:01,860 --> 00:23:05,160 Ac fel y dywedais, gallwn ddefnyddio argraffu yma yn lle adlais, 458 00:23:05,160 --> 00:23:08,040 ac ymarferoldeb yn 'n bert lawer yn union yr un fath. 459 00:23:08,040 --> 00:23:09,660 Byddai'n argraffu'r yr un peth. 460 00:23:09,660 --> 00:23:12,680 >> Mae ffordd arall i wneud hynny, ac mae hyn yn fantais arall 461 00:23:12,680 --> 00:23:14,710 o PHP yn gweithio gyda llinynnau. 462 00:23:14,710 --> 00:23:17,130 Gallwn wneud concatenation llinyn. 463 00:23:17,130 --> 00:23:19,660 Gallem wneud hyn yn C, hefyd, gan ddefnyddio swyddogaeth a elwir yn strcat, 464 00:23:19,660 --> 00:23:21,180 ond unwaith eto, roedd rhaid i ni yn galw swyddogaethau ar wahân. 465 00:23:21,180 --> 00:23:22,640 Roedd hyn yn llanast cyfan i wneud. 466 00:23:22,640 --> 00:23:24,590 Bu'n rhaid i ni bunt-yn cynnwys string.h. 467 00:23:24,590 --> 00:23:25,780 Roedd yn cynhyrchu, dde? 468 00:23:25,780 --> 00:23:30,070 Ond erbyn hyn y gallaf jyst arfer hon gweithredwr dot i concatenate llinynnau at ei gilydd. 469 00:23:30,070 --> 00:23:34,910 >> Felly rwy'n gydgadwyno'r "A cyfan" a Yna, beth bynnag yw gwerth o $ topin yw, 470 00:23:34,910 --> 00:23:38,860 ac yna un arall llinyn, "costau pizza $" 471 00:23:38,860 --> 00:23:42,340 ac yna gydgadwyno'r beth bynnag gwerth o $ pris yn, 472 00:23:42,340 --> 00:23:45,670 ac yna ar y diwedd iawn dwi'n tacio ar gyfnod slaes n. 473 00:23:45,670 --> 00:23:47,926 Ac felly byddai hyn hefyd argraffu "A cyfan" - unwaith eto, 474 00:23:47,926 --> 00:23:50,550 os ydym yn sôn am y cyntaf elfen o'r array-- pizzas 475 00:23:50,550 --> 00:23:54,710 "Mae pizza caws cyfan yn costio $ 8.99." 476 00:23:54,710 --> 00:24:01,260 Cyfnod, slaes n, unwaith eto, gyda y $ topin a $ dirprwyo ar ei ran pris 477 00:24:01,260 --> 00:24:06,580 am yr hyn rydym wedi a nodir yn ein foreach dolen gan fod y mapio gwerth pâr allweddol. 478 00:24:06,580 --> 00:24:08,050 >> Gall PHP trin swyddogaethau. 479 00:24:08,050 --> 00:24:11,250 Roedd Swyddogaethau fath o rhan annatod o C, fel y gwelsom. 480 00:24:11,250 --> 00:24:14,870 Fel newidynnau, nid oes angen i ni'n nodi'r math dychwelyd y swyddogaeth, 481 00:24:14,870 --> 00:24:16,350 am nad yw'n wir bwys. 482 00:24:16,350 --> 00:24:18,660 Ac nid ydym yn pennu'r fathau o ddata o unrhyw baramedrau, 483 00:24:18,660 --> 00:24:21,410 oherwydd nad ydynt yn ei wneud mewn gwirionedd mater, fel yr ydym wedi ei weld yn PHP. 484 00:24:21,410 --> 00:24:24,510 Mae pob swyddogaeth yn cael ei gyflwyno gyda'r allweddair swyddogaeth. 485 00:24:24,510 --> 00:24:27,920 Dyna sut yr ydym yn nodi at PHP bod yr hyn rydym yn sôn am yn swyddogaeth. 486 00:24:27,920 --> 00:24:29,720 >> Ac nid oes raid i ni yn delio â phrif o gwbl, 487 00:24:29,720 --> 00:24:33,690 oherwydd bod y cyfieithydd, mae'r PHP cyfieithydd ar y pryd, yn gweithio o'r top i'r gwaelod, 488 00:24:33,690 --> 00:24:34,190 beth bynnag. 489 00:24:34,190 --> 00:24:35,640 Os y gwêl gallwch wneud swyddogaeth galwadau, mae'n chi helpu 490 00:24:35,640 --> 00:24:37,850 mynd ddod o hyd i'r swyddogaeth alwad, hyd yn oed os daw yn nes ymlaen. 491 00:24:37,850 --> 00:24:40,360 Ond mae'n mynd i ddarllen o'r top i'r gwaelod, felly peidiwch angen i ni bennu, 492 00:24:40,360 --> 00:24:41,500 dyma lle i chi ddechrau. 493 00:24:41,500 --> 00:24:46,700 Rydych yn dechrau ar linell 1 eich PHP ac yn gweithio i lawr oddi yno. 494 00:24:46,700 --> 00:24:49,690 >> Felly dyma yw sut y byddem yn creu swyddogaeth o'r enw hard_square. 495 00:24:49,690 --> 00:24:54,100 Mae'n debyg cymryd un paramedr, a rwy'n galw $ x. 496 00:24:54,100 --> 00:24:58,424 Mae'r swyddogaeth hon yn gymhleth yn unig i ddarlunio gwahanol bethau. 497 00:24:58,424 --> 00:24:59,590 Mae gennym werthoedd dychwelyd. 498 00:24:59,590 --> 00:25:00,870 Im 'yn defnyddio ar gyfer dolen yma. 499 00:25:00,870 --> 00:25:04,970 Ond yn y bôn yn unig, beth mae hyn yn gyfystyr â dim ond $ x amseroedd $ x. 500 00:25:04,970 --> 00:25:10,520 Yr hyn rwy'n mewn gwirionedd yn gwneud dim ond ychwanegu x i 0 x amserau neu $ x i sero amseroedd $ x. 501 00:25:10,520 --> 00:25:15,850 Ond mae'n effeithiol yn union yr un fath â lluosi $ x amseroedd $ x. 502 00:25:15,850 --> 00:25:18,700 Rwy'n dal i ddychwelyd gwerth, yn yr $ canlyniad yr achos, 503 00:25:18,700 --> 00:25:22,060 ac rwyf wedi gwneud swyddogaeth yn PHP. 504 00:25:22,060 --> 00:25:24,160 >> Dyma sut y byddwch yn ei ddefnyddio mewn cyd-destun. 505 00:25:24,160 --> 00:25:26,020 Felly efallai fy mod y tu mewn o ryw ffeil PHP. 506 00:25:26,020 --> 00:25:29,240 Hysbysiad mewn glas yno y Rwyf wedi defnyddio fy amffinyddion PHP, 507 00:25:29,240 --> 00:25:31,010 bachyn ongl php marc cwestiwn. 508 00:25:31,010 --> 00:25:35,180 Yn rhwng y rhai hynny i gyd o mae'r PHP yr wyf am ei ysgrifennu. 509 00:25:35,180 --> 00:25:37,840 Felly dw i'n ôl pob golwg yn mynd i get-- Rydw i'n mynd i annog y defnyddiwr 510 00:25:37,840 --> 00:25:41,550 i roi rhif, storio mi fod amrywiol, storio yn y newidyn $ x, 511 00:25:41,550 --> 00:25:43,320 beth bynnag y maent yn rhoi i mi. 512 00:25:43,320 --> 00:25:48,590 Yna dwi'n mynd i adleisio hard_square o'r gwerth hwnnw, 513 00:25:48,590 --> 00:25:50,370 ac i bob golwg yn mynd i dacio ar linell newydd 514 00:25:50,370 --> 00:25:53,590 yn ogystal, ac yna yn ddiweddarach ar byddaf diffinio swyddogaeth hard_square felly 515 00:25:53,590 --> 00:25:55,550 bod pan fyddaf yn gwneud y ffonio i hard_square, 516 00:25:55,550 --> 00:25:58,160 mae'n gwybod beth rwy'n siarad amdano. 517 00:25:58,160 --> 00:26:00,705 >> Yn awr, gallwn hefyd wneud rhywbeth fel hyn. 518 00:26:00,705 --> 00:26:02,050 Mae hyn ychydig yn wahanol. 519 00:26:02,050 --> 00:26:04,190 Mae'n bron yn union yr un fath â'r hyn a welsom o'r blaen, 520 00:26:04,190 --> 00:26:08,400 ac eithrio lle dweud ychydig $ x yno gan fod y paramedr i hard_square, 521 00:26:08,400 --> 00:26:11,730 I ddim yn dweud $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Felly, mae hyn yn enghraifft o rhaglennu amddiffynnol, 523 00:26:14,330 --> 00:26:17,070 warchod eich rhaglenni yn erbyn defnyddwyr maleisus. 524 00:26:17,070 --> 00:26:20,020 >> Mae hwn yn un ffordd o wneud rhyw wall gwirio nad wnaethom mewn gwirionedd 525 00:26:20,020 --> 00:26:24,670 gael fel opsiwn yn C. Rydym byth gallai pennu'r gwerth diofyn o rywbeth. 526 00:26:24,670 --> 00:26:27,010 Rydym bob amser wedi i wirio a oedd y, er enghraifft, 527 00:26:27,010 --> 00:26:30,820 os ydym yn gwneud galwad i GetString, roedd yn y rhan fwyaf priodol os yn syth ar ôl i ni 528 00:26:30,820 --> 00:26:33,300 gwirio bod, gwirio ein bod a oedd y llinyn 529 00:26:33,300 --> 00:26:35,504 bod y defnyddiwr yn rhoi i ni Nid yn hafal i null, 530 00:26:35,504 --> 00:26:37,920 oherwydd nid oes arnom eisiau dechrau gweithio gyda llinyn null. 531 00:26:37,920 --> 00:26:39,670 >> Yma, mae hyn yn ffordd i warchod yn erbyn hynny. 532 00:26:39,670 --> 00:26:43,480 Os nad yw'r defnyddiwr yn rhoi rhywbeth i ni rywsut, yr hyn rydym yn mynd i'w wneud? 533 00:26:43,480 --> 00:26:46,080 Wel, byddwn yn dim ond dweud beth bynnag nad oeddent yn rhoi i ni, 534 00:26:46,080 --> 00:26:47,705 rydym yn jyst yn mynd i dopio i mewn 10 yn lle hynny. 535 00:26:47,705 --> 00:26:52,030 Felly, os nad oeddent yn rhoi gwerth i ni, dim ond yn defnyddio 10 yn ddiofyn. Ac felly dyma, 536 00:26:52,030 --> 00:26:53,940 sylwi bod fy mod yn gwneud a ffonio i hard_square, 537 00:26:53,940 --> 00:26:55,980 ond does dim brydlon i'r defnyddiwr, dde? 538 00:26:55,980 --> 00:26:57,540 Im 'jyst yn gwneud galwad wag. 539 00:26:57,540 --> 00:27:00,860 >> Ond mae fy swyddogaeth hard_square yn disgwyl paramedr. 540 00:27:00,860 --> 00:27:02,222 Beth mae hyn yn mynd i argraffu? 541 00:27:02,222 --> 00:27:03,680 Mae'n mynd i argraffu 100, dde? 542 00:27:03,680 --> 00:27:05,720 Oherwydd nad yw'r defnyddiwr yn gwneud rhoi unrhyw beth i mi. 543 00:27:05,720 --> 00:27:08,970 Ac felly Im 'jyst yn mynd i gymryd yn ganiataol bod 10-- 10 yw gwerth rhagosodedig. 544 00:27:08,970 --> 00:27:13,760 Ac felly byddai hyn yn argraffu allan o 100 ar ei linell ei hun. 545 00:27:13,760 --> 00:27:16,390 >> Nid oes rhaid i ffeiliau PHP i fod yr un un ffeil. 546 00:27:16,390 --> 00:27:19,480 Gallwch gyfuno ffeiliau lluosog at ei gilydd, yn union fel y gallwch yn C. Y ffordd 547 00:27:19,480 --> 00:27:24,330 gwnaethom hynny oedd yn nodweddiadol i wneud yn C #include i gael ffeiliau header tynnu i mewn. 548 00:27:24,330 --> 00:27:26,180 Nid ydym yn gwneud hynny yn PHP. 549 00:27:26,180 --> 00:27:29,110 Rydym yn gwneud rhywbeth o'r enw require_once. 550 00:27:29,110 --> 00:27:33,360 Ac yna mae gyfan hon beth, beth sy'n __dir__ hwn? 551 00:27:33,360 --> 00:27:36,510 Dyna dim ond yn arbennig amrywiol, neu gyson arbennig, 552 00:27:36,510 --> 00:27:39,030 mewn gwirionedd, sy'n nodi beth eich cyfeiriadur cyfredol yw. 553 00:27:39,030 --> 00:27:41,320 Ac felly mae'n mynd i edrych yn eich cyfeiriadur cyfredol 554 00:27:41,320 --> 00:27:44,900 am ffeil o'r enw cs50.php yn yr enghraifft hon yma, 555 00:27:44,900 --> 00:27:50,490 ac mae'n mynd i gadw y ffeil ar frig eich rhaglen PHP, 556 00:27:50,490 --> 00:27:56,980 gan dybio eich bod yn rhoi'r gwneud yn ofynnol unwaith y bydd llinell ar frig eich ffeil PHP. 557 00:27:56,980 --> 00:28:01,474 >> Felly PHP yn cael ei ddefnyddio yn bennaf, ond na chaiff ei ddefnyddio yn gyfan gwbl, 558 00:28:01,474 --> 00:28:03,140 fel iaith ar gyfer rhaglenni ar y we. 559 00:28:03,140 --> 00:28:05,270 Mae hynny'n wir sut y daeth iddo fod. 560 00:28:05,270 --> 00:28:06,980 Ond mae'n llawn iaith, fel rydym wedi gweld. 561 00:28:06,980 --> 00:28:10,105 Rydym wedi gweld 'n bert lawer yr holl bethau y gall ei wneud sy'n debyg i C, 562 00:28:10,105 --> 00:28:13,290 a gall wneud yn andros o llawer mwy na hynny. 563 00:28:13,290 --> 00:28:16,950 >> Ond am ei fod yn iaith llawn ac rydym yn Gall wneud rhaglennu llinell gorchymyn ynddo. 564 00:28:16,950 --> 00:28:18,630 Gall Rydym yn cynnal rhaglenni llinell orchymyn. 565 00:28:18,630 --> 00:28:22,580 Y cyfan sydd ei angen i redeg gorchymyn Rhaglen llinell sy'n ysgrifennu yn PHP 566 00:28:22,580 --> 00:28:24,260 yw bod gennych cyfieithydd PHP. 567 00:28:24,260 --> 00:28:27,460 Felly mae'n fath o debyg i cael compiler ar eich system 568 00:28:27,460 --> 00:28:31,100 os ydych am i lunio eich cod C i'w droi'n ffeiliau gweithredadwy. 569 00:28:31,100 --> 00:28:33,810 Mae angen i chi gael cyfieithydd PHP sy'n bodoli ar eich system 570 00:28:33,810 --> 00:28:37,330 fel y gallwch ddehongli ffeiliau PHP. 571 00:28:37,330 --> 00:28:40,370 >> Gan dybio ydych yn, ac fel arfer Gelwir cyfieithydd hwn yn cael ei PHP, 572 00:28:40,370 --> 00:28:44,300 ac mae fel arfer yn ei sypiedig ag y rhan fwyaf o llwytho i lawr neu osodiadau o PHP 573 00:28:44,300 --> 00:28:47,430 y gallwch ei gael ar-lein, ac yn sicr enw'r cyfieithydd PHP 574 00:28:47,430 --> 00:28:49,550 gennym yn CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Mae'r holl chi ei wneud yw ffeil php fath. 576 00:28:51,819 --> 00:28:53,610 A beth yw eich rhaglen mynd i'w wneud yw ei fod yn 577 00:28:53,610 --> 00:28:55,360 mynd i redeg drwy y cyfieithydd, 'i' 578 00:28:55,360 --> 00:28:58,040 mynd i anwybyddu popeth sy'n Nid yw yn y canol sylw mark-- 579 00:28:58,040 --> 00:29:03,160 neu, php ongl braced marc cwestiwn, y amffinyddion PHP, a'i hargraffu, 580 00:29:03,160 --> 00:29:07,660 a bydd yn dehongli a gweithredu'r cod tu mewn i'ch amffinyddion PHP. 581 00:29:07,660 --> 00:29:12,850 >> Felly gadewch i ni alw draw i IDE CS50 a gael golwg ar un neu ddau o ffeiliau PHP, 582 00:29:12,850 --> 00:29:19,850 rhedeg un neu ddau o ffeiliau PHP, yn gorchymyn rhyngwyneb llinell o CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Felly dyma ni yn IDE CS50, ac rwyf wedi cymryd y rhyddid 584 00:29:22,100 --> 00:29:25,800 o agor ffeil o'r enw hello1.php. 585 00:29:25,800 --> 00:29:29,920 Ac i bob golwg, cynnwys y ffeil yn unig y amffinyddion PHP yno, 586 00:29:29,920 --> 00:29:32,220 ac yn y canol, adlais ("helo, byd"). 587 00:29:32,220 --> 00:29:34,710 Mae hon yn rhaglen PHP eithaf syml. 588 00:29:34,710 --> 00:29:37,670 Im 'jyst yn mynd i sgrolio i lawr at fy ffenestr terfynell yma, 589 00:29:37,670 --> 00:29:44,320 ac yr wyf i'n mynd i deipio php hello1.php, daro chofnoda. 590 00:29:44,320 --> 00:29:44,950 Helo Byd. 591 00:29:44,950 --> 00:29:48,110 Dyna mae'n debyg yr hyn yr oeddem yn disgwyl iddo ei wneud, dde? 592 00:29:48,110 --> 00:29:51,140 >> Gadewch i ni fynd i fyny ac yn cymryd un arall yn edrych ar raglen. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 'N bert lawer yr un peth, Nid yw llawer yn digwydd yma. 595 00:29:55,090 --> 00:29:57,190 Y tro hwn, fodd bynnag, dw i'n mynd i ysgogi defnyddiwr i roi eu henwau i mi. 596 00:29:57,190 --> 00:29:59,290 Im 'yn arfer y swyddogaeth honno readline eto. 597 00:29:59,290 --> 00:30:01,340 $ Enw = readline. 598 00:30:01,340 --> 00:30:03,070 Dyna'r brydlon, "Beth yw dy enw?" 599 00:30:03,070 --> 00:30:04,880 >> Mae'n debyg fy mod argraffu iddo ar ei linell ei hun. 600 00:30:04,880 --> 00:30:07,220 Ac yna, felly y llinell isod fydd yn cael y brydlon 601 00:30:07,220 --> 00:30:08,750 lle gall y defnyddiwr fynd i mewn eu henw. 602 00:30:08,750 --> 00:30:12,030 Ac yna Im 'yn arfer ychydig o interpellation amrywiol yma ar-lein 3 603 00:30:12,030 --> 00:30:14,780 i'w argraffu "Helo" ac beth bynnag y mathau defnyddiwr. 604 00:30:14,780 --> 00:30:22,040 Felly mae hyn yn cyfateb i ddweud, Helo, coma,% s os ydym yn defnyddio printf yn C. 605 00:30:22,040 --> 00:30:24,910 >> Felly gadewch i ni fynd a dehongli rhaglen hon. 606 00:30:24,910 --> 00:30:27,400 Felly unwaith eto, 'n annhymerus' sgrolio i lawr at fy ffenestr terfynell. 607 00:30:27,400 --> 00:30:29,070 hello2.php php. 608 00:30:29,070 --> 00:30:31,920 609 00:30:31,920 --> 00:30:33,820 Beth yw dy enw? 610 00:30:33,820 --> 00:30:35,490 Doug. 611 00:30:35,490 --> 00:30:36,526 Helo, Doug. 612 00:30:36,526 --> 00:30:39,440 Rwyf hefyd yn cael un arall ffeil o'r enw hello3.php. 613 00:30:39,440 --> 00:30:42,850 Rydw i'n mynd i glirio fy sgrin gyda Rheoli L, 614 00:30:42,850 --> 00:30:46,210 ac yr wyf i'n mynd i weithredu hynny. 615 00:30:46,210 --> 00:30:47,640 Beth yw dy enw? 616 00:30:47,640 --> 00:30:49,020 Doug. 617 00:30:49,020 --> 00:30:49,780 Helo, Doug. 618 00:30:49,780 --> 00:30:56,540 Felly mae'r ymddygiad yn union yr un fath i hello2.php, ond pam y caiff ei hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Wel, dyma y gwahaniaeth. 620 00:30:58,040 --> 00:31:00,620 Yn yr achos hwn, rhybudd hynny ar-lein o 1 yma, 621 00:31:00,620 --> 00:31:04,270 Mae gen i rywbeth nad dyna rhwng y amffinyddion PHP. 622 00:31:04,270 --> 00:31:07,760 Im 'jyst yn argraffu out-- neu yr wyf yn jyst deipio, "Beth yw dy enw?" 623 00:31:07,760 --> 00:31:12,060 Pan fydd y cyfieithydd PHP gweld hyn, mae'n wedi ddim syniad sut i ddehongli fel PHP, 624 00:31:12,060 --> 00:31:15,060 ac felly yn hytrach na methu, dim ond mae'n mynd i boeri allan. 625 00:31:15,060 --> 00:31:19,010 >> Felly sylwi ar linell 3 awr, fy ngalwad i readline, does dim brydlon anymore. 626 00:31:19,010 --> 00:31:21,750 Im 'jyst mewn gwirionedd yn mynd i'r canlynol-- pryd y cyfieithydd PHP gweld hyn, 627 00:31:21,750 --> 00:31:23,400 mae'n mynd i argraffu "Beth yw dy enw?" 628 00:31:23,400 --> 00:31:25,941 Yna mae'n ei weld, oh, OK, here's-- popeth arall yn mynd i fod 629 00:31:25,941 --> 00:31:29,970 dehongli fel PHP, felly dyna pam mae hyn yn gweithio. 630 00:31:29,970 --> 00:31:34,990 Nid oes rhaid i mi i ysgogi o reidrwydd y canlynol-- defnyddiwr tu mewn readline, 631 00:31:34,990 --> 00:31:37,490 Gallaf ei gael y tu allan o'r amffinyddion PHP 632 00:31:37,490 --> 00:31:41,490 ac yn caniatáu i'r cyfieithydd i ddim ond ei hargraffu i mi. 633 00:31:41,490 --> 00:31:45,364 >> Felly nid oes mewn gwirionedd yn unig yn rhaid i chi cael un set o amffinyddion PHP 634 00:31:45,364 --> 00:31:46,030 yn eich rhaglen. 635 00:31:46,030 --> 00:31:49,887 Gallwch mewn gwirionedd yn cael nifer ohonynt, agor ac yn eu cau yn ôl yr angen. 636 00:31:49,887 --> 00:31:51,720 Felly, gadewch i ni edrych mewn un neu ddau o raglenni 637 00:31:51,720 --> 00:31:55,070 mewn IDE CS50 lle rydym dangos y syniad hwn o gael 638 00:31:55,070 --> 00:31:58,376 setiau lluosog o PHP delimited. 639 00:31:58,376 --> 00:32:02,010 >> Iawn, felly dwi wedi agor ffeil Gelwir add1.php yma. 640 00:32:02,010 --> 00:32:03,390 Ac yn sylwi ar yr hyn sy'n digwydd yma. 641 00:32:03,390 --> 00:32:08,077 Yn union fel o'r blaen, mae gen i PHP sengl set o amffinyddion. 642 00:32:08,077 --> 00:32:10,660 Rydw i'n mynd i argraffu'r neges, "Rhowch rif i mi." 643 00:32:10,660 --> 00:32:13,394 Yna Rydw i'n mynd i ddarllen llinell a ei storio yn y $ num1 amrywiol. 644 00:32:13,394 --> 00:32:14,810 Yna dwi'n mynd i argraffu eto. 645 00:32:14,810 --> 00:32:16,310 Rhowch ail rif mi. 646 00:32:16,310 --> 00:32:20,450 Darllenwch llinell o'r defnyddiwr, storio beth bynnag y maent yn teipio mewn yn $ num2. 647 00:32:20,450 --> 00:32:23,980 Ychwanegwch nhw at ei gilydd ac yn storio'r yn arwain at newidyn a elwir $ swm, 648 00:32:23,980 --> 00:32:26,180 ac yna argraffu, "Mae'r Swm y ddau rif 649 00:32:26,180 --> 00:32:29,254 yw, "ac yna interpellate yno y $ swm amrywiol. 650 00:32:29,254 --> 00:32:31,170 Felly gadewch i ni jyst hidla hon drwy'r cyfieithydd 651 00:32:31,170 --> 00:32:33,720 i gadarnhau bod hyn yn hyn yr ydym yn ei ddisgwyl. 652 00:32:33,720 --> 00:32:37,540 add1.php php. 653 00:32:37,540 --> 00:32:38,665 Rhowch rif, 3 mi. 654 00:32:38,665 --> 00:32:40,410 Os gwelwch yn dda roi ail rif, 4 mi. 655 00:32:40,410 --> 00:32:43,370 Swm y ddau rif yw 7. 656 00:32:43,370 --> 00:32:45,030 Dyna 3 ynghyd â 4. 657 00:32:45,030 --> 00:32:45,530 IAWN? 658 00:32:45,530 --> 00:32:47,770 Felly dim byd ofnadwy ffansi yno. 659 00:32:47,770 --> 00:32:51,080 >> Ac yn awr gadewch i ni agor add2.php. 660 00:32:51,080 --> 00:32:54,460 Yma, mae gen i un neu ddau o PHP amffinio setiau yno, dde? 661 00:32:54,460 --> 00:32:59,107 Llinellau 1, 3-- llinellau 1 a 3 Nid oes gan amffinyddion PHP. 662 00:32:59,107 --> 00:33:00,940 Felly, pan fydd y cyfieithydd gweld nhw, 'i' jyst 663 00:33:00,940 --> 00:33:03,220 mynd i boeri allan yn union hyn yr wyf wedi ei deipio yno. 664 00:33:03,220 --> 00:33:05,011 Felly dyna lle dwi'n gwneud popeth fy anogaeth. 665 00:33:05,011 --> 00:33:11,220 Ar linellau 2 a 4, rydym yn gweld yr union math php o amffinyddion $ gyfarwydd?, 666 00:33:11,220 --> 00:33:15,210 felly y ddau llinellau ar mynd i weithredu fel PHP. 667 00:33:15,210 --> 00:33:18,270 Ac yna ar-lein 5, mae gennyf hyn peth rhyfedd i'r dde yma, dde? 668 00:33:18,270 --> 00:33:20,480 Mae'r bachyn ongl question mark hafalnod. 669 00:33:20,480 --> 00:33:22,660 'N annhymerus' hyd yn oed yn chwyddo i mewn ychydig ymhellach. 670 00:33:22,660 --> 00:33:29,270 Gallwch weld hyn yn beth rwy'n siarad am iawn yno, $ hon? =. 671 00:33:29,270 --> 00:33:33,420 >> Mae'n ymddangos bod ei fod mor gyffredin bod y rheswm ein bod yn agor i fyny set o PHP 672 00:33:33,420 --> 00:33:36,055 amffinyddion yw argraffu werth. 673 00:33:36,055 --> 00:33:37,430 A dyna'r cyfan yr ydym yn mynd i'w wneud. 674 00:33:37,430 --> 00:33:39,220 Ond mae hyd yn oed llaw-fer ar gyfer hynny. 675 00:33:39,220 --> 00:33:46,490 $? = Yn llaw-fer PHP dros ddweud rhywbeth fel $? PHP adleisio'r swm 676 00:33:46,490 --> 00:33:48,350 o num1 a num2. 677 00:33:48,350 --> 00:33:51,900 Felly, mae hyn yn unig yw arall llaw-fer am hynny. 678 00:33:51,900 --> 00:33:55,550 >> Felly, os wyf yn rhedeg y rhaglen hon, add2.php php. 679 00:33:55,550 --> 00:33:57,530 'N annhymerus' chwyddo i lawr ychydig. 680 00:33:57,530 --> 00:33:59,000 Rhowch rif, 4 mi. 681 00:33:59,000 --> 00:34:00,350 Os gwelwch yn dda roi ail rif mi. 682 00:34:00,350 --> 00:34:04,650 A gan nad wyf yn wir yn poeni am fathau o ddata yn PHP, gallaf ddweud 4.8. 683 00:34:04,650 --> 00:34:07,160 Swm y ddau rif yn 8.8. 684 00:34:07,160 --> 00:34:10,179 Swyddogaeth honno yn ymddwyn 'n bert lawer yn union yr un fath ag y byddem yn ei ddisgwyl, 685 00:34:10,179 --> 00:34:10,989 yn ogystal. 686 00:34:10,989 --> 00:34:13,114 Ac mae gen i un yn fwy hagor hyd yma a elwir yn dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Rhowch gynnig ar hyn eto. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Mae gen i un mwy yma o'r enw dice1.php, sydd hefyd, gweld, 691 00:34:33,280 --> 00:34:37,440 Mae gan y cwestiwn hwnnw bachyn ongl nodi nodiant hafalnod i mewn 'na, 692 00:34:37,440 --> 00:34:40,659 ond yn sylwi bod yn yr achos hwn rwy'n ffonio'r rand swyddogaeth, a oedd wrth i chi 693 00:34:40,659 --> 00:34:42,790 Efallai y disgwyl yn cynhyrchu rhif ar hap. 694 00:34:42,790 --> 00:34:46,889 "Rydych yn rholio," ac mae'n mynd i cyfrifo rhywfaint rhif ar hap, mod 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Felly bydd yn rhoi rhif i mi yn yr ystod o 1 i 6. 697 00:34:49,989 --> 00:34:53,040 >> Cofiwch y byddai mod 6 rhoi i mi mae nifer yn yr ystod o 0 i 5, 698 00:34:53,040 --> 00:34:56,630 ond os ydw i'n efelychu rholiau dis, sef yr hyn rwy'n ei wneud yma, 699 00:34:56,630 --> 00:35:00,040 Nid wyf am dis hyn i fynd o 0 i 5, yr wyf am dis sy'n mynd 1-6. 700 00:35:00,040 --> 00:35:02,800 Ac felly mae hyn yn ffordd o gael fi yn yr ystod o 1 i 6. 701 00:35:02,800 --> 00:35:04,720 Rwy'n gwneud hyn ddwywaith. 702 00:35:04,720 --> 00:35:08,630 Felly, mae'n debyg yr wyf yn rholio dau ddis yn y rhaglen hon. 703 00:35:08,630 --> 00:35:15,210 >> Felly byddaf yn glir fy sgrîn, a byddaf yn gwneud dice1.php php. 704 00:35:15,210 --> 00:35:16,640 Rydych yn rholio 4 a 2. 705 00:35:16,640 --> 00:35:19,156 Ac os wyf yn rhedeg y rhaglen unwaith eto, byddwch yn rholio o 5 a 5. 706 00:35:19,156 --> 00:35:21,780 Felly, bob tro rwy'n rhedeg y rhaglen, Im 'yn cael gwahanol rifau, 707 00:35:21,780 --> 00:35:24,280 oherwydd bob tro y byddaf yn ei wneud felly, mae'n dechrau drosodd. 708 00:35:24,280 --> 00:35:27,250 Mae'n mynd i greu newydd set o rifau ar hap i mi. 709 00:35:27,250 --> 00:35:29,790 >> Felly, os ydym yn ei ddefnyddio i cynnal rhaglenni o C, 710 00:35:29,790 --> 00:35:32,520 maen nhw wedi arfer teipio ./ y enwi o raglen, dde? 711 00:35:32,520 --> 00:35:35,090 Dyna sut yr ydym wedi gwneud popeth o'n rhaglenni yn C hyd yn hyn. 712 00:35:35,090 --> 00:35:37,555 Gallwn wneud hyn yn PHP yn ogystal drwy ychwanegu rhywbeth o'r enw 713 00:35:37,555 --> 00:35:40,026 yn shebang i frig ein ffeil PHP. 714 00:35:40,026 --> 00:35:41,400 Rwy'n gwybod ei fod yn fath o air gwirion. 715 00:35:41,400 --> 00:35:44,540 Mae'n byr ar gyfer bang hash. 716 00:35:44,540 --> 00:35:46,300 Dyna y ddau gyntaf cymeriadau yno. 717 00:35:46,300 --> 00:35:50,030 Cofiwch rydym yn galw pwynt ebychnod yn aml chlec mewn gwyddoniaeth gyfrifiadurol. 718 00:35:50,030 --> 00:35:51,690 Mae gallent hefyd fod ar gyfer bang miniog. 719 00:35:51,690 --> 00:35:53,273 Mae cwpl ffyrdd o ddehongli. 720 00:35:53,273 --> 00:35:57,320 Ond mae'n bôn yn fath arbennig o'r ennyn bod y cyfieithydd PHP 721 00:35:57,320 --> 00:36:00,160 deall fel, oh, yr wyf am chi i weithredu rhaglen hon, 722 00:36:00,160 --> 00:36:05,250 sydd yn ôl pob golwg / defnyddwyr / bin / php, a oedd yn mewn gwirionedd lle mae'r cyfieithydd PHP 723 00:36:05,250 --> 00:36:08,590 yn byw yn benodol ar ein system. 724 00:36:08,590 --> 00:36:12,530 Felly it's-- hyn sy'n digwydd yma yw y cyfieithydd yn deall, o, 725 00:36:12,530 --> 00:36:17,270 Im 'yn ôl pob golwg i fod i ddefnyddio yn y rhaglen hon i redeg y ffeil hon. 726 00:36:17,270 --> 00:36:20,010 Ac felly mae'n caniatáu i chi i sgipio dros y cam 727 00:36:20,010 --> 00:36:22,979 o orfod dweud something.php php. 728 00:36:22,979 --> 00:36:25,020 Mae un dal arall yma, sef os ydym 729 00:36:25,020 --> 00:36:27,320 am ein rhaglenni i yn gweithio fel y disgwylir, rydym yn 730 00:36:27,320 --> 00:36:30,220 angen i ni wneud rhywbeth o'r enw newid caniatâd ffeil. 731 00:36:30,220 --> 00:36:33,380 A byddwn yn go-- ac rydym yn siarad ychydig ychydig mwy caniatâd newidiadau ynghylch ffeil 732 00:36:33,380 --> 00:36:37,550 yn ein fideo ar MVC, ond digon yw dweud bod hyn yn beth sydd angen i chi ei wneud 733 00:36:37,550 --> 00:36:42,760 er mwyn gwneud eich ffeiliau gweithredadwy .php. 734 00:36:42,760 --> 00:36:49,330 Felly, gadewch i ni edrych ar hyn fel ein henghraifft terfynol drosodd yn CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Felly dyma yn IDE Mae gen i ddwy ffeil yn hyn Cyfeiriadur PHP sy'n ymddangos i beidio â bod 736 00:36:53,910 --> 00:36:55,310 Gelwir .php. 737 00:36:55,310 --> 00:36:58,170 Mae gen i swyddogaeth o'r enw add-- Mae gen i ffeil o'r enw add3 738 00:36:58,170 --> 00:37:00,650 a ffeil o'r enw dice2. 739 00:37:00,650 --> 00:37:03,680 Felly gadewch i ni gymryd cyflym edrych ac yn agor add3. 740 00:37:03,680 --> 00:37:08,300 Ac fel y gwelwch, ar y dechrau o fy ffeil gen i shebang hwn, dde? 741 00:37:08,300 --> 00:37:11,420 Mae'r pwynt hash ebychnod marc. 742 00:37:11,420 --> 00:37:15,115 Yn awr, wnewch chi helpu hefyd efallai sylwi bod am ryw reswm, 743 00:37:15,115 --> 00:37:16,990 Nid oes gennyf unrhyw gystrawen tynnu sylw anymore, 744 00:37:16,990 --> 00:37:20,198 ac mae hyn yn hyn yr wyf yn cyfeirio at gynharach, sef, os nad wyf yn enwi fy ffeil 745 00:37:20,198 --> 00:37:23,040 .php, nid oes gennyf y fantais cystrawen tynnu sylw anymore. 746 00:37:23,040 --> 00:37:26,220 Yn unig Gelwir y ffeil add3. 747 00:37:26,220 --> 00:37:30,960 Fel y gallaf ei redeg yn nes ymlaen gyda ./ add3 ac nid ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Felly mae'r reason-- mae'n dal i fod iawn, mae'n dal i fod yn ddilys PHP, 749 00:37:33,680 --> 00:37:37,000 ond nid yw'n tynnu sylw at cystrawen, oherwydd na elwir y ffeil something.php. 750 00:37:37,000 --> 00:37:41,580 Dyna'r unig wahaniaeth go iawn yma, yn ogystal â'r shebang. 751 00:37:41,580 --> 00:37:45,170 Felly, gadewch i ni weld beth sy'n digwydd pan Yr wyf yn ceisio rhedeg y rhaglen hon. 752 00:37:45,170 --> 00:37:50,780 ./ Add3, yn union fel yr wyf byddai gyda C. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ Caniatâd add3 gwadu. 754 00:37:53,190 --> 00:37:55,390 Mae hyn yn yr hyn yr ydych chi'n mynd i weld a ydych yn anghofio 755 00:37:55,390 --> 00:37:59,280 i ddefnyddio'r gorchymyn chmod i newid caniatadau 'r ffeil. 756 00:37:59,280 --> 00:38:03,845 >> Fel mae'n troi allan, PHP rheolaidd Ni ellir ffeiliau yn unig yn cael ei weithredu. 757 00:38:03,845 --> 00:38:06,970 Gellir eu dehongli, ond rydym yn gwneud rhywbeth ychydig yn wahanol yma. 758 00:38:06,970 --> 00:38:07,761 Rydym yn gweithredu arno. 759 00:38:07,761 --> 00:38:12,970 Ac felly mae angen i mi ychwanegu caniatâd i weithredu, chmod a + x i add3. 760 00:38:12,970 --> 00:38:15,680 Yna, gallaf ddweud ./ add3. 761 00:38:15,680 --> 00:38:16,860 Rhowch rif i mi. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Swm y ddau rif yw 11. 764 00:38:20,490 --> 00:38:26,530 >> Yn yr un modd, yr wyf eisoes wedi chmoded dice2, fel y gallaf jyst deipio ./ dice2, 765 00:38:26,530 --> 00:38:31,260 chi rholio 1 a 1, yr ydych rholio a 5 a 4, ac yn y blaen. 766 00:38:31,260 --> 00:38:33,680 >> Felly dyna 'n bert lawer y syniad o gystrawen PHP, dde? 767 00:38:33,680 --> 00:38:35,221 Mae yna lawer i gael drwy, yr wyf yn gwybod. 768 00:38:35,221 --> 00:38:39,160 Ond gobeithio eich bod wedi gweld yn awr fod PHP Nid yw iawn bod yn wahanol i C 769 00:38:39,160 --> 00:38:43,670 ac yn wir yn rhoi'r gallu i ni cymryd pethau i fyny hollt neu ddau. 770 00:38:43,670 --> 00:38:48,230 Nid oes rhaid inni wir i chi boeni gormod about-- nad ydym yn ei wneud mewn gwirionedd 771 00:38:48,230 --> 00:38:51,605 rhaid i chi boeni gormod am manylion lefel isel yr ydym yn 772 00:38:51,605 --> 00:38:52,980 roedd yn rhaid i chi boeni am gyda C, dde? 773 00:38:52,980 --> 00:38:56,170 Gallwn ganolbwyntio ar y uchaf stwff lefel sy'n PHP 774 00:38:56,170 --> 00:39:01,090 yn caniatáu i ni ei wneud ac i gymryd i ganiataol y bydd yn gweithio i ni. 775 00:39:01,090 --> 00:39:04,350 Felly mae'n rhoi'r gallu i ni yn awr, trawsnewid o C i PHP, 776 00:39:04,350 --> 00:39:08,280 i wneud rhaglenni sydd yn llawer mwy gymhleth ac efallai yn llawer mwy cadarn. 777 00:39:08,280 --> 00:39:13,070 >> Felly, yr wyf yn gobeithio eich bod wedi gweithio hwyl gyda PHP, ac rwy'n Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 Mae hyn yn CS50. 779 00:39:15,050 --> 00:39:17,637