1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG Lloyd: Pra, ne kemi bërë shumë punë në C, 3 00:00:07,370 --> 00:00:09,536 dhe C është një really cool gjuha sepse ajo ju jep 4 00:00:09,536 --> 00:00:12,840 aftësia për të zhyten vërtetë Niveli i ulët në programet tuaja. 5 00:00:12,840 --> 00:00:16,810 Ne kemi marrë për të bërë gjëra si me të vërtetë minuta si manipulimin 6 00:00:16,810 --> 00:00:18,800 bytes individuale të kujtesës. 7 00:00:18,800 --> 00:00:21,420 Kujtojnë se pointers të vërtetë na lejojë që fleksibilitet. 8 00:00:21,420 --> 00:00:25,260 >> Por nuk kemi gjithmonë duhet të ketë se niveli gjobë-kokërr të detajuar 9 00:00:25,260 --> 00:00:26,820 në programet tona? 10 00:00:26,820 --> 00:00:28,210 Ndoshta jo, e drejtë? 11 00:00:28,210 --> 00:00:30,376 Dhe në qoftë se ne do të kemi një tregti-off mes të qenit 12 00:00:30,376 --> 00:00:32,911 në gjendje të bëjë vërtetë, të vërtetë minutë gjërat dhe vërtetë, të vërtetë 13 00:00:32,911 --> 00:00:35,910 gjëra të mëdha që ne nuk duhet të mendojnë lidhje, ne nuk kemi për të zbatuar 14 00:00:35,910 --> 00:00:40,290 këto ide të vërtetë të madhe në qoftë se ata janë ndërtuar tashmë në për ne, 15 00:00:40,290 --> 00:00:43,980 në përgjithësi për ndërtimin madh programet ose projektet e mëdha, 16 00:00:43,980 --> 00:00:49,130 ne jemi ndoshta do të gaboj në anën e kanë më shumë gjëra gjuhë e ndërtuar në 17 00:00:49,130 --> 00:00:51,300 për ne, në vend që sende të nivelit të ulët. 18 00:00:51,300 --> 00:00:53,970 Dhe kjo është ajo ku PHP vërtetë vjen në. 19 00:00:53,970 --> 00:00:58,200 >> Tani, një nga arsyet që mësojmë PHP në CS50 20 00:00:58,200 --> 00:01:01,020 është se është e frymëzuar kryesisht nga C. Dhe në fakt, sipas mendimit tim, 21 00:01:01,020 --> 00:01:05,140 janë me të vërtetë dy gjuhë stërgjysh që 22 00:01:05,140 --> 00:01:08,200 janë shumë të zakonshme në ditët e sotme. 23 00:01:08,200 --> 00:01:10,110 C dhe LISP. 24 00:01:10,110 --> 00:01:13,280 Dhe ata janë gjuhë progenitor sepse çdo programe të tjera moderne 25 00:01:13,280 --> 00:01:17,380 gjuhë që ka zhvilluar që nga atëherë është e frymëzuar 26 00:01:17,380 --> 00:01:20,330 nga një ose sintaktikisht tjetër. 27 00:01:20,330 --> 00:01:26,160 PHP është shumë e ngjashme sintaksore C, ndërsa gjuhë si Skema, 28 00:01:26,160 --> 00:01:27,900 për shembull, e cila ju mund të keni dëgjuar, 29 00:01:27,900 --> 00:01:32,070 është frymëzuar shumë nga një gjuhë quajtur Lisp, e cila është një gjuhë më të vjetër. 30 00:01:32,070 --> 00:01:34,220 >> Pra, arsyeja që ne mësojnë PHP në CS50 është se, 31 00:01:34,220 --> 00:01:37,730 duke ditur C si thelbësisht si ju bëni në këtë pikë, 32 00:01:37,730 --> 00:01:41,280 picking up PHP, e cila i jep ti Aftësia për të bërë shumë më të larta gjëra të nivelit 33 00:01:41,280 --> 00:01:44,710 se C bën, nuk është e se shumë nga një pengesë, 34 00:01:44,710 --> 00:01:48,230 sepse ju tashmë keni Ideja themelore e sintaksës. 35 00:01:48,230 --> 00:01:50,590 C ka qenë rreth e rrotull për gati 45 vjet në këtë pikë. 36 00:01:50,590 --> 00:01:52,780 PHP ka qenë rreth e rrotull për rreth 20 vjet. 37 00:01:52,780 --> 00:01:57,080 Dhe në atë 25 vjet në mes, programuesit 38 00:01:57,080 --> 00:02:01,540 vendosur se ata do shumë më tepër kanë aftësi të nivelit të lartë, 39 00:02:01,540 --> 00:02:04,970 dhe gabimet dhe luftërat nga 20 vjet në mes 40 00:02:04,970 --> 00:02:08,210 çoi në PHP dhe gjuhë të tjera moderne. 41 00:02:08,210 --> 00:02:11,039 >> Një zgjedhje e madhe e PHP gjuhë për software 42 00:02:11,039 --> 00:02:14,042 që allow-- për software that-- ku ju 43 00:02:14,042 --> 00:02:16,250 duhet të bëni gjëra që në C janë në të vërtetë të komplikuara. 44 00:02:16,250 --> 00:02:18,480 Kështu për shembull, duke punuar me vargjet në C 45 00:02:18,480 --> 00:02:21,709 është shumë e komplikuar, sepse siç e dimë, vargjet në C 46 00:02:21,709 --> 00:02:23,250 janë me të vërtetë vetëm vargjeve të karaktereve. 47 00:02:23,250 --> 00:02:25,230 Kjo nuk është një ndërtuar në lloj të dhënave. 48 00:02:25,230 --> 00:02:28,220 Apo ndoshta më thelbësisht, diçka që ne nuk e mbulojnë edhe në C, 49 00:02:28,220 --> 00:02:30,360 çfarë nëse ju duhet të bëni disa rrjeteve kompjuterike? 50 00:02:30,360 --> 00:02:30,860 Në rregull? 51 00:02:30,860 --> 00:02:34,920 >> C ka aftësinë për të bërë atë, por ajo është aq e errët dhe aq e vështirë për të vërtetë të bëjë. 52 00:02:34,920 --> 00:02:37,580 Nuk do të jetë mirë në qoftë se gjuha kishte një ndërtuar-në, mënyrë të lehtë 53 00:02:37,580 --> 00:02:38,910 për zbatimin e rrjeteve? 54 00:02:38,910 --> 00:02:43,420 Dhe PHP është një gjuhë që e bën atë, ose lehtëson se, mjaft pak më shumë. 55 00:02:43,420 --> 00:02:47,740 Siç thashë, PHP është shumë i rëndë frymëzuar nga C. Sintaksa është shumë i ngjashëm. 56 00:02:47,740 --> 00:02:51,760 Dhe kështu ajo duhet të shpresojmë të bëjë tranzicioni nga njëri-tjetrit 57 00:02:51,760 --> 00:02:54,710 pak më të butë se disa gjuhë të tjera mund të jetë. 58 00:02:54,710 --> 00:02:58,800 >> Për të filloni të shkruani PHP, sapo hapur një skedë me zgjerimin Php file. 59 00:02:58,800 --> 00:03:00,670 Teknikisht kjo nuk është e kërkohet në fakt, 60 00:03:00,670 --> 00:03:04,495 por në qoftë se ju doni gjëra të tilla si sintaksë theksuar në IDE, kështu që atë lloj 61 00:03:04,495 --> 00:03:07,620 emrat, ose emrat e ndryshueshme, funksionet, ju e dini, fjalë kyçe të gjuhës 62 00:03:07,620 --> 00:03:10,090 janë të theksuara në një ngjyrë të veçantë, ju në përgjithësi 63 00:03:10,090 --> 00:03:14,020 duan të emrit fotografi tuaj me një shtrirje të veçantë skedar. 64 00:03:14,020 --> 00:03:18,430 Pra, ne kemi emrin tonë skedë me një Php zgjatje, por pastaj edhe me PHP, 65 00:03:18,430 --> 00:03:23,310 gjithë kodi PHP kemi shkruar në atë Dosja duhet të jetë mbyllur në këto PHP 66 00:03:23,310 --> 00:03:25,190 përndarësit që ne shohim këtu në ekran. 67 00:03:25,190 --> 00:03:27,910 Kllapa kënd? Php për të filluar. 68 00:03:27,910 --> 00:03:30,860 Atëherë kemi shkruar të gjithë PHP tonë Kodi që ne duam në mes. 69 00:03:30,860 --> 00:03:32,260 Dhe pastaj ? 70 00:03:32,260 --> 00:03:34,710 kllapa kënd të mbyllur. 71 00:03:34,710 --> 00:03:37,170 >> Nëse ne nuk e bëjmë këtë, atëherë çfarë do të ndodhë? 72 00:03:37,170 --> 00:03:38,170 Kjo nuk do të rrëzimit. 73 00:03:38,170 --> 00:03:39,410 Kjo nuk do të me të vërtetë të shkatërrojnë programin tonë. 74 00:03:39,410 --> 00:03:41,440 Por kjo nuk do të ketë efekti që ne duam. 75 00:03:41,440 --> 00:03:44,540 Çfarë do të ndodhë, me të vërtetë, është se kur ne të përpiqemi dhe të drejtuar këtë program, 76 00:03:44,540 --> 00:03:50,330 gjithçka jo në mes këtyre përndarësit do të jenë të shtypura jashtë fjalë për fjalë. 77 00:03:50,330 --> 00:03:52,210 Kjo nuk do të në fakt ekzekutojë kodin, 78 00:03:52,210 --> 00:03:56,010 ajo do të vetëm print it out fjalë për fjalë. 79 00:03:56,010 --> 00:03:57,320 >> Tani, pse është kështu? 80 00:03:57,320 --> 00:04:00,416 Pra, C është ajo që është e njohur si një gjuhë hartuar. 81 00:04:00,416 --> 00:04:03,040 Ju ndoshta jeni njohur me hapi i bërë programet tuaja, 82 00:04:03,040 --> 00:04:07,820 duke e kthyer fotografi .c dhe fotografi .H në një ekzekutues të vetme me make, 83 00:04:07,820 --> 00:04:11,130 në veçanti duke përdorur Tingëllimë si përpilues tonë. 84 00:04:11,130 --> 00:04:13,030 PHP, edhe pse, nuk ka kanë këtë ekuivalent. 85 00:04:13,030 --> 00:04:15,600 PHP është ajo që quhet një Gjuha e interpretuar. 86 00:04:15,600 --> 00:04:16,760 Dhe çfarë do të thotë kjo? 87 00:04:16,760 --> 00:04:20,680 >> E pra, kjo do të thotë që ne nuk kemi për të kthyer kodi ynë burim në zero dhe ato 88 00:04:20,680 --> 00:04:21,470 paraprakisht. 89 00:04:21,470 --> 00:04:23,900 Përkundrazi, ka një program, e cila është quajtur edhe 90 00:04:23,900 --> 00:04:29,771 PHP, që kupton dhe PHP mund të lloj të bëjë atë të fluturojnë. 91 00:04:29,771 --> 00:04:32,520 Kjo nuk është me të vërtetë saktësisht e saktë, por kjo është një analogji mjaft të mirë 92 00:04:32,520 --> 00:04:33,760 e asaj që po ndodh. 93 00:04:33,760 --> 00:04:37,230 Është interpretuar ato zero dhe ato të fluturojnë. 94 00:04:37,230 --> 00:04:40,160 Dhe kështu në qoftë se ajo nuk e di si për një proces diçka, 95 00:04:40,160 --> 00:04:42,800 në qoftë se ajo nuk e di se si për të Procesi PHP, ju ndoshta 96 00:04:42,800 --> 00:04:44,680 të kërkuar për të vënë atë tekst në atje, apo jo? 97 00:04:44,680 --> 00:04:48,960 >> Ju ndoshta të kërkuar për të vënë kodin në atje, edhe nëse ajo nuk është në mes PHP-- 98 00:04:48,960 --> 00:04:50,035 të përndarësit PHP. 99 00:04:50,035 --> 00:04:51,910 But-- kështu që nuk do për të fshirë atë për ju, 100 00:04:51,910 --> 00:04:53,576 ajo është vetëm do të në thelb të hidhni atë. 101 00:04:53,576 --> 00:04:55,550 Kështu ajo do të shtypura ajo jashtë në ekran. 102 00:04:55,550 --> 00:04:57,150 >> Kjo duket si ajo është një e keqe gjë, por në fakt është 103 00:04:57,150 --> 00:04:58,220 do të jetë një të vërtetë gjë e mirë, si ne do të 104 00:04:58,220 --> 00:05:00,390 shih kur flasim për Mjete Zhvillimi PHP, 105 00:05:00,390 --> 00:05:04,010 sepse kjo do të thotë që ne mund të shpërndaj PHP dhe HTML. 106 00:05:04,010 --> 00:05:06,640 Ne mund t'i përdorë ato së bashku për të krijojë një web faqe më dinamike. 107 00:05:06,640 --> 00:05:10,650 Por më shumë se në video mbi web zhvillim PHP. 108 00:05:10,650 --> 00:05:12,021 >> Pra, çfarë është sintaksa e PHP? 109 00:05:12,021 --> 00:05:13,520 Kjo është ajo që kjo video është mbi të gjitha. 110 00:05:13,520 --> 00:05:14,850 Le të flasim për këtë. 111 00:05:14,850 --> 00:05:16,490 >> Pra, për të filluar, variablave. 112 00:05:16,490 --> 00:05:18,030 Variablat PHP ekzistojnë. 113 00:05:18,030 --> 00:05:20,067 Nuk janë vetëm dy të mëdha dallimet nga C. 114 00:05:20,067 --> 00:05:21,900 E para është se nuk ka asnjë lloj Specifier. 115 00:05:21,900 --> 00:05:24,245 Ne nuk duhet të them int, char, noton, të gjitha këto gjëra. 116 00:05:24,245 --> 00:05:25,620 Ne nuk duhet të bëjmë atë më. 117 00:05:25,620 --> 00:05:26,810 PHP është një gjuhë moderne. 118 00:05:26,810 --> 00:05:28,910 Ajo mund të kuptoj se çfarë ju jeni duke u përpjekur për të bërë ose të bëjë një më të mirë 119 00:05:28,910 --> 00:05:30,451 me mend se si për atë që ju jeni duke u përpjekur për të bërë. 120 00:05:30,451 --> 00:05:31,700 Pra, kjo është shumë e bukur. 121 00:05:31,700 --> 00:05:35,330 >> Gjëja tjetër është se të gjitha variabël Emrat duhet të fillojë me një shenjë dollar. 122 00:05:35,330 --> 00:05:36,940 Kjo është vetëm diçka për të marrë të përdoret për të. 123 00:05:36,940 --> 00:05:39,496 Është pak e çuditshme, sepse është në mënyrë që PHP mund të kuptoni 124 00:05:39,496 --> 00:05:40,870 çfarë është një ndryshore dhe çfarë nuk është. 125 00:05:40,870 --> 00:05:43,340 Pra, çdo emër ndryshueshme fillon me një shenjë dollar. 126 00:05:43,340 --> 00:05:46,884 Pra në C mund të themi diçka si ky, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Ne nuk duhet të bëjmë që më në PHP. 128 00:05:48,550 --> 00:05:52,540 Ne mund të themi vetëm $ x = 54. 129 00:05:52,540 --> 00:05:55,920 Dhe ne mund të themi, për shembull, në C, nëse do të kishim kile-përfshirë .H CS50 130 00:05:55,920 --> 00:06:00,314 header file, mund të themi fraza string = "Kjo është CS50." 131 00:06:00,314 --> 00:06:01,980 Ne nuk duhet të bëjmë që në PHP, pse. 132 00:06:01,980 --> 00:06:04,865 Ne mund të themi vetëm $ fraza = "Kjo është CS50." 133 00:06:04,865 --> 00:06:08,760 Dhe në fakt, varg është tani një ndërtuar në lloj të dhënave në PHP, 134 00:06:08,760 --> 00:06:10,950 ose më mirë PHP kupton çfarë është një string është. 135 00:06:10,950 --> 00:06:15,612 Është i veçantë nga një grup e karaktereve si ajo është në C. 136 00:06:15,612 --> 00:06:17,570 Të gjitha të preferuar Deklaratat e kushtëzuara nga C 137 00:06:17,570 --> 00:06:19,520 janë ende në dispozicion për ju për të përdorur. 138 00:06:19,520 --> 00:06:21,140 Pra, nuk ka tranzicion i madh atje. 139 00:06:21,140 --> 00:06:23,400 Ne mund say-- ne mund të kemi nëse deklarata si kjo. 140 00:06:23,400 --> 00:06:28,210 nëse $ y 43, ose $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Pra, kjo është shumë i thjeshtë. 142 00:06:29,690 --> 00:06:31,980 Ne mund të kemi nëse dhe tjetër. 143 00:06:31,980 --> 00:06:34,210 Ne mund të kemi nëse dhe tjetër në qoftë se. 144 00:06:34,210 --> 00:06:36,430 >> Dhe vini re diçka shumë e bukur këtu, dhe kjo 145 00:06:36,430 --> 00:06:39,620 është lloj i një prej atyre Avantazhet e PHP kundrejt C, njoftimin 146 00:06:39,620 --> 00:06:41,510 çfarë funksioni ne nuk jeni duke përdorur këtu? 147 00:06:41,510 --> 00:06:47,737 Ne jemi duke përdorur == për të krahasuar një ndryshueshme, emri $, për një varg. 148 00:06:47,737 --> 00:06:49,070 Ne nuk mund ta bëjë këtë në C, e drejtë? 149 00:06:49,070 --> 00:06:53,200 Ne kishim për të përdorur një funksion të quajtur StrComp ose StrEndComp ose ndonjë 150 00:06:53,200 --> 00:06:54,840 nga kushërinjtë e saj lidhur. 151 00:06:54,840 --> 00:06:56,980 >> Dhe kështu tashmë shohim këto avantazhe. 152 00:06:56,980 --> 00:07:00,930 Ne nuk kemi të bëjmë diçka si budalla apo ndoshta unintuitive 153 00:07:00,930 --> 00:07:03,540 si thërrasë një funksion të quajtur StrComp në qoftë se unë vetëm dua të provuar 154 00:07:03,540 --> 00:07:05,237 nëse një vlerë e barabartë me një varg. 155 00:07:05,237 --> 00:07:07,820 Unë mund të përdorin vetëm të barabartë të barabartë, si unë mund të bëni ndonjë gjë tjetër. 156 00:07:07,820 --> 00:07:09,560 Pra, ka një avantazh. 157 00:07:09,560 --> 00:07:13,350 >> Ndonjëherë, nga rruga, ju mund të shih tjetër në qoftë se si një fjalë, elseif. 158 00:07:13,350 --> 00:07:14,910 Dhe kjo është në rregull në PHP si. 159 00:07:14,910 --> 00:07:17,020 Kështu që ndonjëherë ju mund të shihni se. 160 00:07:17,020 --> 00:07:17,790 Kjo nuk është një typo. 161 00:07:17,790 --> 00:07:21,830 PHP fakt kupton elseif. 162 00:07:21,830 --> 00:07:23,980 Unë nuk e di pse ata vendosi të zbatojë atë, 163 00:07:23,980 --> 00:07:28,220 por siç e kemi parë shumë herë të gjithë videot tona deri më tani, 164 00:07:28,220 --> 00:07:30,460 ne programuesit duan atë nëse ne mund të bëjmë gjëra të shpejt, 165 00:07:30,460 --> 00:07:33,660 kështu duke u shpëtoj prej asaj hapësire është me sa duket një përparësi e madhe. 166 00:07:33,660 --> 00:07:34,800 >> Pra, kjo është nëse dhe elseif. 167 00:07:34,800 --> 00:07:37,540 Ne gjithashtu kemi operatorin tresh, pikëpyetje kujtojnë zorrës së trashë, 168 00:07:37,540 --> 00:07:43,262 për formën e vërtetë të shkurtër, nëse tjetër ose kushtëzuar bronkial. 169 00:07:43,262 --> 00:07:45,470 Dhe me sa duket, në këtë, ajo që ne jemi duke u përpjekur për të bërë këtu 170 00:07:45,470 --> 00:07:49,720 është caktojë ndryshueshme Letra $ qoftë e vërtetë apo e rreme, 171 00:07:49,720 --> 00:07:54,110 varësi të faktit nëse $ var është një karakter alfabetik. 172 00:07:54,110 --> 00:07:57,320 Pra, kjo është shumë e ngjashme me isalpha se ne jemi të njohur me nga C. 173 00:07:57,320 --> 00:07:59,010 Kjo është lloj i ekuivalent në PHP. 174 00:07:59,010 --> 00:08:01,550 Funksioni është me sa duket quajtur ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 por kjo është si të bëjmë atë në PHP. 176 00:08:03,450 --> 00:08:08,560 Pra, e gjithë kjo do të jetë është, në qoftë se $ var është një letër, $ letër është e vërtetë. 177 00:08:08,560 --> 00:08:13,820 Nëse $ var nuk është një letër, $ letër është e rreme. 178 00:08:13,820 --> 00:08:15,820 >> Ne gjithashtu kemi kaloni deklarata ende. 179 00:08:15,820 --> 00:08:17,870 Ne kujtojmë ato nga C, si edhe. 180 00:08:17,870 --> 00:08:22,480 Në krye atje, kjo është se si të bëjmë diçka si get int ose të merrni string. 181 00:08:22,480 --> 00:08:23,845 Pra, PHP ka që ndërtuar në. 182 00:08:23,845 --> 00:08:25,470 Ne nuk kemi nevojë bibliotekën CS50 më. 183 00:08:25,470 --> 00:08:27,237 Ne mund të përdorni vetëm linja leximi funksion. 184 00:08:27,237 --> 00:08:29,820 Çfarë kjo do të bëni është të shtypura jashtë mesazhit "shtetin tuaj, 185 00:08:29,820 --> 00:08:33,820 ju lutem ", dhe pastaj keq shpejtë duke pritur për përdoruesit për të dhëna 186 00:08:33,820 --> 00:08:34,739 disa informata. 187 00:08:34,739 --> 00:08:36,530 Tani vini re çfarë tjetër ne mund të bëjmë me të kaluar. 188 00:08:36,530 --> 00:08:39,105 Nëse e keni përdorur atë më parë, ju mund të kujtojnë se kaloni 189 00:08:39,105 --> 00:08:44,960 është i kufizuar shumë e shumë të numrave të plotë dhe karaktere, por tani ne mund të përdorim vargje. 190 00:08:44,960 --> 00:08:50,190 Dhe në fakt, deklarata kaloni në PHP është mjaft pak më fleksibël 191 00:08:50,190 --> 00:08:54,880 se kushëriri i tij nga C. 192 00:08:54,880 --> 00:08:55,380 Sythe. 193 00:08:55,380 --> 00:08:58,130 Ashtu si conditionals, të gjithë preferuarat tuaja të vjetra janë ende atje. 194 00:08:58,130 --> 00:09:00,740 Ne ketë, ndërsa sythe që numërimin nga 1 deri në 100 në këtë rast. 195 00:09:00,740 --> 00:09:03,940 Kemi të bëjmë, ndërsa sythe që numërimi nga 1 deri në 100, 196 00:09:03,940 --> 00:09:06,200 dhe ne kemi për sythe që numërimi nga 1 deri në 100. 197 00:09:06,200 --> 00:09:07,220 Pra, jo kërcim të madh atje. 198 00:09:07,220 --> 00:09:09,360 Sintaksa është goxha shumë të njëjtë, 199 00:09:09,360 --> 00:09:11,760 përveç tani ne jemi duke përdorur dollar shenjë e ndryshueshme në vend 200 00:09:11,760 --> 00:09:17,260 i deklaruar variablat integer ose diçka si kjo për sportelet tona. 201 00:09:17,260 --> 00:09:20,090 >> Ja ku gjërat bëhen një shumë më mirë se C, edhe pse. 202 00:09:20,090 --> 00:09:21,020 Vargjeve. 203 00:09:21,020 --> 00:09:23,020 Pra, kujtoj kur ishim flet për C, në mënyrë 204 00:09:23,020 --> 00:09:25,560 për ne që të rritet dhe tkurret grupe të informacionit, 205 00:09:25,560 --> 00:09:28,310 ne kemi nevojë për të zgjidhur të parazgjedhur për këtë idenë e një listë të lidhura, 206 00:09:28,310 --> 00:09:30,780 sepse C vargjeve janë fiksuar në madhësi. 207 00:09:30,780 --> 00:09:31,800 Ne nuk mund të tkurret ato. 208 00:09:31,800 --> 00:09:32,930 Ne nuk mund të rriten ata. 209 00:09:32,930 --> 00:09:36,074 Ne kishim për të rialokuar kujtesës dhe të bëjë të gjithë këtë çmenduri 210 00:09:36,074 --> 00:09:38,490 ose të përdorin listat e lidhura, të cilat të marrë një hapësirë ​​mjaft pak më shumë. 211 00:09:38,490 --> 00:09:41,590 Por në PHP, vargjeve janë nuk fiksuar në madhësi më. 212 00:09:41,590 --> 00:09:43,240 Ata mund të rriten dhe ata mund të tkurret. 213 00:09:43,240 --> 00:09:46,660 Pra, përsëri, këto 20 vjet që ka ekzistuar midis lirimin e parë e C 214 00:09:46,660 --> 00:09:49,440 dhe PHP parë lirimin, ne kemi vendosur që, ju e dini, 215 00:09:49,440 --> 00:09:51,670 ajo do të jetë me të vërtetë i madh në qoftë se ne mund të bëjmë këtë. 216 00:09:51,670 --> 00:09:54,100 Dhe kështu që ne kemi zbatuar këtë. 217 00:09:54,100 --> 00:09:58,040 >> Pra vargjeve PHP nuk janë të fiksuara në madhësia, dhe për shkak se nuk ka të vërtetë PHP 218 00:09:58,040 --> 00:10:03,090 kanë programues front-ballafaqohet nocionet e llojeve, 219 00:10:03,090 --> 00:10:05,110 ne mund të përzierje lloje të të dhënave në vargjeve tona, too. 220 00:10:05,110 --> 00:10:08,100 Pra, ne nuk duhet të përdorin të gjitha integers ose të gjitha pikat e lundrues, 221 00:10:08,100 --> 00:10:12,826 ne mund të kemi një përzierje e të gjitha lloje të ndryshme në një grup të vetëm. 222 00:10:12,826 --> 00:10:14,700 Deklaruar një grup është shumë i thjeshtë. 223 00:10:14,700 --> 00:10:16,116 Është vetëm si çdo variabël tjetër. 224 00:10:16,116 --> 00:10:20,020 $ Nums = grup (1, 2, 3, 4), array duke qenë një funksion 225 00:10:20,020 --> 00:10:22,760 që është ndërtuar në PHP që do të krijojë një rrjet për ju. 226 00:10:22,760 --> 00:10:28,315 Kjo krijon një grup prej katër vlerave, Numrat në këtë rast, i quajtur Nums $. 227 00:10:28,315 --> 00:10:29,940 Dhe ka më shumë se një mënyrë për të bërë atë. 228 00:10:29,940 --> 00:10:32,420 Dhe ne jemi duke shkuar për shohin këtë shumë në PHP. 229 00:10:32,420 --> 00:10:36,380 PHP është zhvilluar nga shumë të ndryshme njerëzit dhe rritet dhe rritet dhe rritet. 230 00:10:36,380 --> 00:10:40,050 Ka zakonisht jo vetëm dy ose Tre mënyra për të bërë diçka në PHP, 231 00:10:40,050 --> 00:10:42,170 ka zakonisht si 10 ose 20. 232 00:10:42,170 --> 00:10:45,300 Këtu është vetëm një tjetër të përbashkët mënyrë për të deklaruar një grup. 233 00:10:45,300 --> 00:10:48,310 $ Nums = katrore kllapa 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Pra, kjo është lloj i ngjashëm me kënd C br-- simbol kaçurrel Braçe, në vend. $ - 235 00:10:53,170 --> 00:10:58,525 ose ajo do të jetë Nums INT katror kllapa është e barabartë me mbajtëse kaçurrel 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 Në PHP është Nums $ = katror kllapa 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Por të dy këto shembuj këtu më jep mua një grup i katër në këtë rast integers. 238 00:11:08,920 --> 00:11:10,920 >> Çka nëse unë dua të litar diçka në tani? 239 00:11:10,920 --> 00:11:14,760 Edhe unë mund të them vetëm $ Nums 4, e cila përsëri, ne jemi ende duke numëruar nga 0 këtu 240 00:11:14,760 --> 00:11:17,800 në PHP, do të jetë i pesti element i vektorit. 241 00:11:17,800 --> 00:11:18,990 Unë mund të them vetëm se. 242 00:11:18,990 --> 00:11:22,860 Unë nuk jam duke shkuar për të vuajnë një Seg faji, sepse array im është i drejtë 243 00:11:22,860 --> 00:11:24,337 do të rritet për të akomoduar atë. 244 00:11:24,337 --> 00:11:25,420 Kjo është shumë e bukur, e drejtë? 245 00:11:25,420 --> 00:11:28,400 Dhe në fakt, unë nuk kam nevojë as për të specifikojë ku unë dua të vënë atë. 246 00:11:28,400 --> 00:11:31,220 Unë mund të them vetëm këtë dhe vetëm litar atë të drejtë deri në fund, 247 00:11:31,220 --> 00:11:34,099 ose unë mund edhe vetëm thonë Nums $ 20 ose 1,000. 248 00:11:34,099 --> 00:11:35,140 Kjo nuk ka rëndësi. 249 00:11:35,140 --> 00:11:38,330 Është ende vetëm do të litar atë të drejtë deri në fund. 250 00:11:38,330 --> 00:11:41,490 >> Kështu që unë mund të rritet, dhe as-- ne jemi nuk do ta mbulojë atë në këtu, 251 00:11:41,490 --> 00:11:45,360 por unë mund të ngjitur ose shirrita elemente nga array si dhe, 252 00:11:45,360 --> 00:11:50,064 dhe array do të tkurret për të akomoduar që tani mungojnë ose bosh hapësirë. 253 00:11:50,064 --> 00:11:52,230 Nuk është një tjetër mënyrë për të litar diçka mbi një rrjet, 254 00:11:52,230 --> 00:11:54,330 i cili është një funksion i quajtur array_push. 255 00:11:54,330 --> 00:11:57,860 Pra, përsëri, vetëm kjo ideja e të qënit në gjendje të bëjë gjëra shumë mënyra të ndryshme. 256 00:11:57,860 --> 00:12:01,950 Pra, ne kemi parë tri mënyra të ndryshme tani në litar një element tjetër në një rrjet. 257 00:12:01,950 --> 00:12:06,900 Pra, kjo shton një tjetër element me fundin e vektorit Nums $. 258 00:12:06,900 --> 00:12:08,340 Dhe ne mund të përzierje deri lloje të të dhënave tona. 259 00:12:08,340 --> 00:12:13,110 Kështu që unë mund të ketë një grup të mos 1, 2, 3, 4, por 1, e vërtetë, 3, 4, 260 00:12:13,110 --> 00:12:16,420 ku vërtetë është një Boolean, dhe pastaj në qoftë se unë dua të litar në një tjetër element 261 00:12:16,420 --> 00:12:20,860 për këtë grup, ndoshta një varg, string "pesë" Unë mund ta bëjë këtë. 262 00:12:20,860 --> 00:12:26,110 Dhe tani array ime do jetë 1, e vërtetë, 3, 4, pesë. 263 00:12:26,110 --> 00:12:28,640 Fjala pesë, jo numër i plotë 5. 264 00:12:28,640 --> 00:12:31,270 Pra, një shumë e fleksibilitetit atje. 265 00:12:31,270 --> 00:12:33,290 >> Fleksibiliteti merr edhe më të mirë, edhe pse, 266 00:12:33,290 --> 00:12:37,530 sepse PHP ka mbështetje për diçka quajtur një koleksion asociative. 267 00:12:37,530 --> 00:12:40,660 Dhe ne lloj biseduar paksa Vargjeve për asociative në C 268 00:12:40,660 --> 00:12:44,740 në kontekstin e tabelave hash, sepse çfarë vargjeve asociative janë me të vërtetë të gjithë 269 00:12:44,740 --> 00:12:48,950 për të janë duke bërë çelës mappings palë vlerë. 270 00:12:48,950 --> 00:12:53,410 Dhe në këtë rast, në qoftë se keys-- ne jemi të njohur me vargjeve nga C, 271 00:12:53,410 --> 00:12:55,440 çelësat janë numrat e Indeksi. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 Dhe vlerat janë ato që ne gjejmë se array 0, array 1, array 2, dhe kështu me radhë. 274 00:13:03,070 --> 00:13:06,310 Pra, çelësat janë të indekseve, dhe vlerat janë 275 00:13:06,310 --> 00:13:10,060 ajo që është në atë vend array, specifikuar nga ky indeks. 276 00:13:10,060 --> 00:13:15,130 >> Por në PHP, ne nuk kemi për të bërë këtë Nocioni i grup 0, 1 grup, array 2 277 00:13:15,130 --> 00:13:15,830 më. 278 00:13:15,830 --> 00:13:21,025 Ne tani mund të përdorin fjalë aktuale në hartë çelësat për vlerat. 279 00:13:21,025 --> 00:13:22,650 Dhe kështu që unë mund të them diçka si kjo. 280 00:13:22,650 --> 00:13:26,710 Unë mund të krijojë një rrjet duke përdorur Sintaksa katror kllapa si më poshtë. 281 00:13:26,710 --> 00:13:30,685 $ pizzas = kllapa katrore "djathë" dhe pastaj 282 00:13:30,685 --> 00:13:37,210 ky lloj i shigjetë simbol të dyfishtë, 8.99 ", spec djegës," shigjetë 10.99-- 9,99, 283 00:13:37,210 --> 00:13:37,880 dhe kështu me radhë. 284 00:13:37,880 --> 00:13:39,060 Dhe kështu që çfarë po ndodh këtu? 285 00:13:39,060 --> 00:13:41,040 Çfarë jam unë në fakt duke bërë? 286 00:13:41,040 --> 00:13:43,990 Unë jam duke krijuar Planifikime të çelësit palë vlerë. 287 00:13:43,990 --> 00:13:49,060 Pra, në vend të thënë, për shembull, pizzas 0, copa 1, 2 pizzas, 288 00:13:49,060 --> 00:13:52,350 Unë tani mund të them pizzas djathë, pizzas spec djegës, 289 00:13:52,350 --> 00:13:55,120 dhe i referohen vlerave të lidhur me to. 290 00:13:55,120 --> 00:13:56,970 >> Kështu që këtu janë çelësat tanë në të gjelbër. 291 00:13:56,970 --> 00:13:59,870 Djathë, spec djegës, perime, mish pule buall. 292 00:13:59,870 --> 00:14:04,200 Këtu është shigjeta që e bën kjo mapping kyç palë vlerë. 293 00:14:04,200 --> 00:14:07,420 Dhe pastaj këtu janë vlerat në atë vend array. 294 00:14:07,420 --> 00:14:10,330 Pra, kjo është si duke thënë koleksion 0 është e barabartë me 8.99. 295 00:14:10,330 --> 00:14:11,720 Çelësi është 0. 296 00:14:11,720 --> 00:14:13,600 Vlera është 8.99. 297 00:14:13,600 --> 00:14:19,370 Unë tani mund të them djathë grup, ose në këtë rast pizzas djathë, djathë është çelësi, 298 00:14:19,370 --> 00:14:23,340 dhe ajo që unë gjej në pizzas djathë është 8.99. 299 00:14:23,340 --> 00:14:25,540 Kjo është vlera që unë gjej atje. 300 00:14:25,540 --> 00:14:28,124 >> Kështu që unë mund të them gjëra të tilla si. djathë pica $ = 7.99. 301 00:14:28,124 --> 00:14:29,040 Thonë se unë jam i të paturit e një shitje. 302 00:14:29,040 --> 00:14:31,750 Unë dua dis-- unë dua të bjerë çmimi i pica djathë. 303 00:14:31,750 --> 00:14:35,620 Ose unë mund të përdorni perime pica si pjese e nje gjendjeje, 304 00:14:35,620 --> 00:14:39,990 ose unë mund të shtoni një element të ri për tim grup, ashtu si unë mund të bëjë më parë. 305 00:14:39,990 --> 00:14:44,680 Unë mund të shtoni një element të ri për këtë array associative me kyç "proshutë" 306 00:14:44,680 --> 00:14:49,250 dhe vlera 13.49. 307 00:14:49,250 --> 00:14:53,820 >> Por ky lloj paraqet një problem, në qoftë se ju mendoni rreth saj për një të dytë. 308 00:14:53,820 --> 00:14:55,721 Si do të iterate nëpër këtë grup? 309 00:14:55,721 --> 00:14:56,220 E drejtë? 310 00:14:56,220 --> 00:14:59,820 Në C, ne do të kemi vetëm një për lak, në mënyrë tipike, që 311 00:14:59,820 --> 00:15:03,650 do të drejtuar nga 0 me Madhësia e vektorit minus 1. 312 00:15:03,650 --> 00:15:08,060 Array ka elemente n ne te, The tregues vlefshme janë 0 deri n minus 1. 313 00:15:08,060 --> 00:15:11,530 Pra, ne mund të përdorni një për lak në hap përmes çdo element të vetëm. 314 00:15:11,530 --> 00:15:13,530 >> Por kjo nuk është e vërtetë më, e drejtë rasti? 315 00:15:13,530 --> 00:15:17,360 Tani ku ne kemi vlerë çift kyç mappings ku çelësat janë fjalët, 316 00:15:17,360 --> 00:15:19,970 si nuk kemi iterate mbi të gjitha fjalët? 317 00:15:19,970 --> 00:15:22,420 E pra, për fat të mirë, PHP ka një mënyrë për t'u marrë me këtë shumë, 318 00:15:22,420 --> 00:15:24,580 dhe kështu ne do të hidhen përsëri të sythe për një të dytë 319 00:15:24,580 --> 00:15:30,780 për të futur një lloj i katërt i lak që ekziston në PHP quajtur një lak foreach. 320 00:15:30,780 --> 00:15:34,430 Dhe çfarë një lak foreach nuk është kjo është në thelb e njëjta ide. 321 00:15:34,430 --> 00:15:36,060 Ju mund të përdorni atë për çdo lloj të vektorit. 322 00:15:36,060 --> 00:15:38,100 Por kjo është në thelb njëjtën ide si një për lak, 323 00:15:38,100 --> 00:15:40,750 përveç në vend të përdorimit numrat e Indeksi, ju vetëm 324 00:15:40,750 --> 00:15:45,830 kanë këtë sintaksë pazakontë ku ju e quani çdo element të vetëm 325 00:15:45,830 --> 00:15:47,550 një emër për qëllime të këtij lak. 326 00:15:47,550 --> 00:15:49,258 >> Pra, në këtë rast, foreach ($ array si $ çelës). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Në thelb, si ai koment shënime, brenda atij lak foreach, 329 00:15:56,450 --> 00:16:00,466 ajo do të shkojë mbi çdo të vetme element $ array, e cila është në mënyrë tipike 330 00:16:00,466 --> 00:16:03,340 do të jetë një grup associative, por mund të vërtetë të jetë çdo lloj grup 331 00:16:03,340 --> 00:16:05,419 që ju doni në PHP. 332 00:16:05,419 --> 00:16:07,210 Dhe çdo herë që në një për lak ju fuqi 333 00:16:07,210 --> 00:16:13,780 kanë thënë se $ array kllapa katrore $ unë, ju mund të them vetëm $ kyç. 334 00:16:13,780 --> 00:16:22,340 Kështu që $ kyç të bëhet një alias për çdo Indeksi i shoqeruar tuaj PHP grup, 335 00:16:22,340 --> 00:16:23,710 dhe kështu që ju mund ta përdorni atë si kjo. 336 00:16:23,710 --> 00:16:25,897 >> Kështu për shembull, ne kemi tani mori pizzas array tonë. 337 00:16:25,897 --> 00:16:27,730 Unë e kam lloj i tucked atë në këndin atje 338 00:16:27,730 --> 00:16:31,080 kështu që ne mund ta përdorin atë për të bërë një shembull të shpejtë. 339 00:16:31,080 --> 00:16:36,420 Nëse unë them foreach ($ pizzas si $ pica), mirë, çfarë po ndodh? 340 00:16:36,420 --> 00:16:42,400 E pra, unë jam duke shkuar për të iterate nëpër çdo element i vetëm i pizzas array $, 341 00:16:42,400 --> 00:16:46,670 dhe duke bërë këtë, unë jam duke shkuar për të thirrur çdo element, kur unë jam brenda 342 00:16:46,670 --> 00:16:49,400 e trupit të cilat për lak, $ pica. 343 00:16:49,400 --> 00:16:52,440 >> Pra, kjo është lloj i një qëndrim-në, kujtojnë, se $ pica 344 00:16:52,440 --> 00:16:59,140 është një qëndrim-në për të thënë pica $ kllapa katrore $ i 345 00:16:59,140 --> 00:17:03,370 në qoftë se ne kemi qenë duke përdorur një për lak, ku ne mund të shkojnë nga $ i = 0 to, në këtë rast, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 Në qoftë se ne nuk kemi palë kryesore me vlerë ketu, kjo do të jetë element 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 dhe ne do të përdorim një për lak për të shkuar $ pizzas 0, $ 1, $ pica pica 2, 349 00:17:16,390 --> 00:17:17,750 $ pizzas 3. 350 00:17:17,750 --> 00:17:23,130 Kështu që tani vetëm $ pica është zëvendësuar për këtë kyç individuale. 351 00:17:23,130 --> 00:17:25,630 >> Pra, çfarë është kjo do të shtypura nga? 352 00:17:25,630 --> 00:17:29,030 Unë jam shtypjen nga $ pica. 353 00:17:29,030 --> 00:17:35,270 Çfarë jam unë do të gjej at-- në qoftë se unë të shtypura nga $ pizzas, $ unë? 354 00:17:35,270 --> 00:17:35,770 E drejtë? 355 00:17:35,770 --> 00:17:38,680 Në qoftë se unë jam duke shkuar për të shkruar elementi ith i pizzas, 356 00:17:38,680 --> 00:17:40,070 çfarë jam unë do të shtypura? 357 00:17:40,070 --> 00:17:42,580 Unë jam duke shkuar për të shtypur jashtë Vlerat në atë vend, apo jo? 358 00:17:42,580 --> 00:17:45,370 Ashtu si në qoftë se ne ishim duke bërë kjo në kontekstin e C, 359 00:17:45,370 --> 00:17:49,786 ne zakonisht nuk e përdorin iterator tonë ndryshueshme, int i = 0, i është më pak se 3, 360 00:17:49,786 --> 00:17:52,900 i ++, për të shtypur nga 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Ne jemi shtypjen nga array 0, array 1, array 2, 3 array. 362 00:17:57,500 --> 00:17:59,580 Dhe kështu ajo që kjo kopje jashtë është kjo. 363 00:17:59,580 --> 00:18:01,150 Kjo është lista e çmimeve. 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 >> Tani një shënim të shpejtë këtu. 366 00:18:06,900 --> 00:18:10,900 Një lak foreach nuk do të shtypura nga gjërat në rregull. 367 00:18:10,900 --> 00:18:12,770 Kjo nuk është e garantuar. 368 00:18:12,770 --> 00:18:13,550 Kjo zakonisht e bën. 369 00:18:13,550 --> 00:18:17,667 Kjo është zakonisht në bazë të rendit në të cilat elementet janë shtuar në grup, 370 00:18:17,667 --> 00:18:18,750 kështu që vetëm të mbajnë këtë në mendje. 371 00:18:18,750 --> 00:18:20,830 Ajo nuk mund të jetë në rregull. 372 00:18:20,830 --> 00:18:23,930 Por një lak foreach do të iterate nëpër çdo element të vetme 373 00:18:23,930 --> 00:18:25,060 e array në fjalë. 374 00:18:25,060 --> 00:18:27,980 Në këtë rast, përsëri, se array është $ pizzas. 375 00:18:27,980 --> 00:18:32,920 >> Unë mund të ndryshojë sintaksë, edhe pse, në qoftë se Unë dua si çelësin dhe vlerën. 376 00:18:32,920 --> 00:18:37,179 Në vend të thënë pizzas $ si $ pica, unë mund të them këtë. 377 00:18:37,179 --> 00:18:39,470 Dhe në qoftë se ju shikoni në atë që unë kam theksuara në të gjelbër këtu, 378 00:18:39,470 --> 00:18:42,130 kjo duket si një kyç hartës palë vlerë. 379 00:18:42,130 --> 00:18:45,980 Dhe kështu që nëse ju, duke filluar edhe në qoftë se ju nuk jeni plotësisht i sigurt se çfarë do të bëjë, 380 00:18:45,980 --> 00:18:49,300 ju mund ndoshta me mend se $ klasës së parë do 381 00:18:49,300 --> 00:18:53,800 të jetë çelësi në këtë rast dhe çmimi $ do të jetë vlera. 382 00:18:53,800 --> 00:18:59,200 Kështu që unë jam duke zëvendësuar tani çdo element prej $ pizzas si një palë e vlerës kyç, 383 00:18:59,200 --> 00:19:03,900 dhe tani unë mund t'i referohet në kyçe dhe vlera, e cila mund të jetë në dispozicion, 384 00:19:03,900 --> 00:19:05,590 për shembull, si më poshtë. 385 00:19:05,590 --> 00:19:10,170 >> "Një e tërë", - kjo është një shumë e shtypjen ndodh here-- "në tërësi" 386 00:19:10,170 --> 00:19:17,300 klasës së parë "Pizza kushton $" çmimin, dhe pastaj Unë të shtypura nga një periudhë dhe një n backslash. 387 00:19:17,300 --> 00:19:23,420 Deri tani, njoftimi përsëri unë të kenë qasje në një çelës, $ klasës së parë, dhe një vlerë, çmim $. 388 00:19:23,420 --> 00:19:26,647 Kështu që mund të ju me mend se çfarë ky do të shtypura nga? 389 00:19:26,647 --> 00:19:29,480 Nuk është një shumë e deklaratave të shtypura, por ka vetëm një backslash n, 390 00:19:29,480 --> 00:19:33,410 kështu ajo do të shkruar diçka në një entire-- në një linjë të vetme të kodit. 391 00:19:33,410 --> 00:19:36,965 >> Në qoftë se unë mund t'i referohet kyçe dhe vlera, atëherë tani, 392 00:19:36,965 --> 00:19:39,090 në vend të vetëm duke qenë në gjendje të shtypura nga çmimet, 393 00:19:39,090 --> 00:19:41,330 Unë mund të shtypura nga diçka si kjo. 394 00:19:41,330 --> 00:19:43,780 "Një e tërë pica djathë kushton 8,99 $." 395 00:19:43,780 --> 00:19:47,150 Dhe tani unë jam duke përdorur të gjitha të keys-- djathë, spec djegës, perime, 396 00:19:47,150 --> 00:19:49,640 buall chicken-- dhe vlerat. 397 00:19:49,640 --> 00:19:53,980 8.99, 9.99, 10.99, 11.99 Pra kjo është vetëm një mënyrë të ndryshme 398 00:19:53,980 --> 00:19:57,840 për të bërë një lak foreach që në vend të vetëm duke i dhënë juve akses të vlerave, 399 00:19:57,840 --> 00:20:02,950 ajo vetëm jep ju, duke filluar kjo ju jep qasje në çelësat dhe vlerat. 400 00:20:02,950 --> 00:20:04,411 >> Pra, shtypjen informacion. 401 00:20:04,411 --> 00:20:07,410 Unë e kam bërë tashmë atë një çift të mënyra të ndryshme, ju mund të keni vënë re. 402 00:20:07,410 --> 00:20:11,080 Të dy funksione ne kemi kryesisht parë janë të shtypura dhe jehonë. 403 00:20:11,080 --> 00:20:14,380 Dhe për shumë e shumë të gjitha qëllimet dhe qëllime, ata janë të njëjtë. 404 00:20:14,380 --> 00:20:17,130 They're-- ka një shumë delikate Dallimi që nuk është edhe vlerë 405 00:20:17,130 --> 00:20:21,130 duke marrë në, por në thelb kudo ju mund të përdorni të shtypura ju ndoshta mund të përdorni 406 00:20:21,130 --> 00:20:22,370 jehonë si. 407 00:20:22,370 --> 00:20:23,610 >> Dhe kjo nuk është vetëm dy të. 408 00:20:23,610 --> 00:20:26,970 PHP ka një shumë të ndryshme mënyra për të shtypur gjëra jashtë, 409 00:20:26,970 --> 00:20:30,520 dhe ajo gjithashtu ka mënyra për të integruar Variablat në mes të vargut. 410 00:20:30,520 --> 00:20:32,860 Pra kujtojnë nga C, a mbani mend se çfarë funksioni 411 00:20:32,860 --> 00:20:37,580 ne mund të përdorim për të zëvendësuar variablat në gjërat që ne duam të shtypura jashtë? 412 00:20:37,580 --> 00:20:40,160 Ju ndoshta përdorni këtë funksionojë mjaft shumë. 413 00:20:40,160 --> 00:20:42,290 printf, e drejtë? 414 00:20:42,290 --> 00:20:45,290 Pra, kjo është ajo që kemi pasur më parë brenda e kontekstit të lak foreach tonë. 415 00:20:45,290 --> 00:20:48,000 Ne kishim këto pesë deklarata të veçanta të shtypura, 416 00:20:48,000 --> 00:20:50,330 sepse kjo ishte e vetmja mënyrë unë vërtetë e dinte në atë kohë 417 00:20:50,330 --> 00:20:52,450 si për të shtypur mesazhe. 418 00:20:52,450 --> 00:20:59,560 Unë nuk e di se si për të integruar $ ndryshueshme klasës së parë në kodin tim PHP. 419 00:20:59,560 --> 00:21:03,700 E pra, në qoftë se unë vetëm të marrë një guess egër, printf, ai në fakt do të kishte punuar. 420 00:21:03,700 --> 00:21:08,980 printf është një funksion që unë mund të përdorni në PHP, ashtu si unë mund ta përdorin atë në C. 421 00:21:08,980 --> 00:21:11,880 >> Dhe kështu që diçka si kjo, printf, përsëri, ne jemi të njohur me atë. 422 00:21:11,880 --> 00:21:16,420 I pari% s është zëvendësuar me vlerën e $ klasës së parë. 423 00:21:16,420 --> 00:21:19,700 E dyta% s është zëvendësuar me vlerën e çmimit $. 424 00:21:19,700 --> 00:21:22,630 Dhe kështu që unë jam interpellating, e cila është vetëm një mënyrë e sofistikuar 425 00:21:22,630 --> 00:21:25,400 i thënë se unë jam i fërkimit Variablat në atë vend. 426 00:21:25,400 --> 00:21:31,000 Kështu që unë jam mbylljen në $ klasës së parë ku kuqe% s është dhe çmimi $ ku blu% s 427 00:21:31,000 --> 00:21:36,060 është, dhe pastaj unë do të merrni mesazhin, "Një e tërë pica djathë kushton 8,99 $." 428 00:21:36,060 --> 00:21:37,750 >> Jo vetmja mënyrë që unë mund të bëj atë, edhe pse. 429 00:21:37,750 --> 00:21:39,760 Ndoshta unë do të duan të përdorin këtë metodë. 430 00:21:39,760 --> 00:21:44,890 Kjo është në fakt ajo është më së shpeshti quajtur interpelancën ndryshueshme. 431 00:21:44,890 --> 00:21:45,690 Unë mund të përdorin një jehonë. 432 00:21:45,690 --> 00:21:47,737 Unë mund të përdorin një të shtypura shumë, si ne do të shohim. 433 00:21:47,737 --> 00:21:48,820 Por çfarë po ndodh këtu? 434 00:21:48,820 --> 00:21:51,520 >> Para së gjithash, unë duhet të shpëtuar shenjën e dollarit. 435 00:21:51,520 --> 00:21:55,140 Sepse mos harroni, kur ishim në fakt shtypjen nga çmimet e pizzas, 436 00:21:55,140 --> 00:21:59,370 Unë kam qenë në fakt formatimin ato si Shifrat monetare me një shenjë dollar. 437 00:21:59,370 --> 00:22:05,635 Por, ne jemi duke përdorur shenja të dollarit edhe për të përfaqësuar emrat e ndryshueshme në PHP, 438 00:22:05,635 --> 00:22:08,010 dhe në mënyrë të veçantë kur unë jam duke përdorur këtë metodë e kaçurrel 439 00:22:08,010 --> 00:22:10,040 ndryshueshme Braçe Metoda interpelanca, kam nevojë për 440 00:22:10,040 --> 00:22:13,490 për të shpëtuar shenjë im dollar kështu që nuk ka mendoj se unë jam duke folur për një ndryshore. 441 00:22:13,490 --> 00:22:16,920 Ajo do të në fakt, fjalë për fjalë të shkruar një shenjë dollar. 442 00:22:16,920 --> 00:22:19,530 >> Kështu lloj analogji atë për çfarë ju shihni në fund atje. 443 00:22:19,530 --> 00:22:22,832 Ajo nuk ka të vërtetë print backslash n, e drejtë? 444 00:22:22,832 --> 00:22:24,290 Ajo kopje nga një karakter të ri vijë. 445 00:22:24,290 --> 00:22:26,750 Kjo is-- kjo nuk do të print dollar backslash shenjë, 446 00:22:26,750 --> 00:22:30,130 ajo do të shtypura nga vetëm një karakter shenjë dollar. 447 00:22:30,130 --> 00:22:30,640 Njëjtën ide. 448 00:22:30,640 --> 00:22:32,760 Arratisjes sekuenca, çfarë këto gjëra janë quajtur. 449 00:22:32,760 --> 00:22:37,080 >> Por vini re se unë nuk jam duke bërë çdo lloj i% s zëvendësime, 450 00:22:37,080 --> 00:22:40,050 Unë jam vetëm fjalë për fjalë mbylljen në këto variabla. 451 00:22:40,050 --> 00:22:45,110 Dhe kështu në this-- çfarë do të ndodhte këtu është se vlera e $ topping-- përsëri, 452 00:22:45,110 --> 00:22:48,390 vetëm duke e mbajtur me atë që ne kemi qenë duke folur për djathë në mënyrë far-- do të merrni 453 00:22:48,390 --> 00:22:49,720 mbyllën në atje. 454 00:22:49,720 --> 00:22:54,780 Dhe çmimi $ do të jetë çdo gjë që është vlerë në pizzas, kllapa katrore, djathë, 455 00:22:54,780 --> 00:22:56,270 e cila ishte 8.99. 456 00:22:56,270 --> 00:23:01,860 Dhe kështu kjo do të shtypura nga "Një e tërë pica djathë kushton 8,99 $." 457 00:23:01,860 --> 00:23:05,160 Dhe si i tha, unë mund të përdorni shtypura këtu në vend të jehonë, 458 00:23:05,160 --> 00:23:08,040 dhe funksionalitetin jetë shumë e shumë të njëjtë. 459 00:23:08,040 --> 00:23:09,660 Ajo do të shtypura nga të njëjtën gjë. 460 00:23:09,660 --> 00:23:12,680 >> Nuk është një tjetër mënyrë për të bërë atë, dhe kjo është një tjetër avantazh 461 00:23:12,680 --> 00:23:14,710 i PHP punuar me vargjet. 462 00:23:14,710 --> 00:23:17,130 Ne mund të bëjmë string varg. 463 00:23:17,130 --> 00:23:19,660 Ne mund të bëjmë këtë në C, gjithashtu, duke përdorur një funksion të quajtur strcat, 464 00:23:19,660 --> 00:23:21,180 por prapë, ne kishim për të telefononi funksionet ndara. 465 00:23:21,180 --> 00:23:22,640 Ishte kjo rrëmujë e tërë për të bërë. 466 00:23:22,640 --> 00:23:24,590 Ne kishim për kile-përfshirë string. 467 00:23:24,590 --> 00:23:25,780 Kjo ishte një prodhim, e drejtë? 468 00:23:25,780 --> 00:23:30,070 Por tani unë mund të përdorni vetëm këtë operator dot të lidh vargje së bashku. 469 00:23:30,070 --> 00:23:34,910 >> Kështu që unë jam concatenating "tërësi" dhe atëherë çfarëdo vlera e $ klasës së parë është, 470 00:23:34,910 --> 00:23:38,860 dhe pastaj një tjetër string, "kostot pica $" 471 00:23:38,860 --> 00:23:42,340 dhe pastaj concatenating çfarëdo vlera e çmimit $ është, 472 00:23:42,340 --> 00:23:45,670 dhe pastaj në fund unë jam i tacking në periudhë backslash n. 473 00:23:45,670 --> 00:23:47,926 Dhe kështu kjo do të shtypura nga "një e tërë" - përsëri, 474 00:23:47,926 --> 00:23:50,550 në qoftë se ne jemi duke folur për të parë element i kësaj array-- Pizzas 475 00:23:50,550 --> 00:23:54,710 "Një e tërë pica djathë kushton 8,99 $." 476 00:23:54,710 --> 00:24:01,260 Periudha, backslash n, përsëri, me klasës së parë $ dhe $ çmimi zëvendësuese 477 00:24:01,260 --> 00:24:06,580 për atë që kishim specifikuar në foreach tonë loop si kyç hartës palë vlerë. 478 00:24:06,580 --> 00:24:08,050 >> PHP mund të trajtojë funksionet. 479 00:24:08,050 --> 00:24:11,250 Funksionet ishin lloj i integrale në C, siç e pamë. 480 00:24:11,250 --> 00:24:14,870 Si variabla, ne nuk kemi nevojë të të specifikojë llojin e kthimit të funksionit, 481 00:24:14,870 --> 00:24:16,350 për shkak se ajo nuk ka të vërtetë rëndësi. 482 00:24:16,350 --> 00:24:18,660 Dhe ne nuk do të specifikojë Llojet e të dhënave të çdo parametrave, 483 00:24:18,660 --> 00:24:21,410 sepse ata nuk e bëjnë me të vërtetë çështje, siç kemi parë në PHP. 484 00:24:21,410 --> 00:24:24,510 Çdo funksion është futur me fjalen funksion. 485 00:24:24,510 --> 00:24:27,920 Kjo është se si ne të tregojnë se PHP ajo që ne jemi duke folur rreth është një funksion. 486 00:24:27,920 --> 00:24:29,720 >> Dhe ne nuk duhet të merren me kryesore në të gjitha, 487 00:24:29,720 --> 00:24:33,690 sepse përkthyesi, PHP përkthyesi, punon nga lart poshtë, 488 00:24:33,690 --> 00:24:34,190 pavarësisht. 489 00:24:34,190 --> 00:24:35,640 Nëse ajo e sheh se ju mund të bëni një telefonatë funksion, ajo do të 490 00:24:35,640 --> 00:24:37,850 shkoni gjeni thirrjen funksion, edhe nëse ajo vjen më vonë. 491 00:24:37,850 --> 00:24:40,360 Por kjo do të lexoni nga lart fund, kështu që ne nuk kemi nevojë të specifikojë, 492 00:24:40,360 --> 00:24:41,500 këtu është ajo ku ju filloni. 493 00:24:41,500 --> 00:24:46,700 Ju filloni on line 1 e juaj PHP dhe të punojnë poshtë nga atje. 494 00:24:46,700 --> 00:24:49,690 >> Kështu që këtu është se si ne do të krijojë një funksion të quajtur hard_square. 495 00:24:49,690 --> 00:24:54,100 Ajo me sa duket merr një parametër, që unë jam duke e quajtur $ x. 496 00:24:54,100 --> 00:24:58,424 Ky funksion është i komplikuar vetëm për të ilustruar gjëra të ndryshme. 497 00:24:58,424 --> 00:24:59,590 Ne ende kemi vlera të kthimit. 498 00:24:59,590 --> 00:25:00,870 Unë jam duke përdorur një për lak këtu. 499 00:25:00,870 --> 00:25:04,970 Por kjo është në thelb vetëm, atë që kjo arrin në është vetëm $ x kohët $ x. 500 00:25:04,970 --> 00:25:10,520 Ajo që unë jam duke bërë në fakt është vetëm duke shtuar x për x 0 herë ose $ x për të zero kohët $ x. 501 00:25:10,520 --> 00:25:15,850 Por kjo është në mënyrë efektive saktësisht e njëjtë si shumëzuar $ x herë $ x. 502 00:25:15,850 --> 00:25:18,700 Unë ende mund të kthehen një vlerë, në këtë $ rezultat rast, 503 00:25:18,700 --> 00:25:22,060 dhe unë kam bërë një funksion në PHP. 504 00:25:22,060 --> 00:25:24,160 >> Ja se si ju mund të përdorni atë në kontekst. 505 00:25:24,160 --> 00:25:26,020 Kështu që ndoshta unë jam në brendësi të një skedar PHP. 506 00:25:26,020 --> 00:25:29,240 Vini re në blu atje se Unë e kam përdorur përndarësit mia PHP, 507 00:25:29,240 --> 00:25:31,010 kllapa kënd pikëpyetje php. 508 00:25:31,010 --> 00:25:35,180 Në mes atyre janë të gjithë të PHP që unë dua të shkruaj. 509 00:25:35,180 --> 00:25:37,840 Kështu që unë jam duke shkuar me sa duket për të get-- Unë jam duke shkuar për të menjëhershëm të përdoruesit 510 00:25:37,840 --> 00:25:41,550 për të më jepni një numër, dyqan që ndryshueshme, dyqan në atë variabël $ x, 511 00:25:41,550 --> 00:25:43,320 çdo gjë që ata më dha. 512 00:25:43,320 --> 00:25:48,590 Atëherë unë jam duke shkuar për echo hard_square e kësaj vlere, 513 00:25:48,590 --> 00:25:50,370 dhe me sa duket do në gozhdë në një linjë të re 514 00:25:50,370 --> 00:25:53,590 si edhe, dhe pastaj më vonë unë do të saktësimit të funksionit hard_square kështu 515 00:25:53,590 --> 00:25:55,550 që kur kam bërë thirrje për hard_square, 516 00:25:55,550 --> 00:25:58,160 ai e di se çfarë jam duke folur rreth. 517 00:25:58,160 --> 00:26:00,705 >> Tani, unë mund të bëj diçka si kjo. 518 00:26:00,705 --> 00:26:02,050 Kjo është pak më ndryshe. 519 00:26:02,050 --> 00:26:04,190 Është pothuajse saktësisht të njëjtë si ajo që pamë më parë, 520 00:26:04,190 --> 00:26:08,400 përveç në vend të thënë vetëm $ x atje si parametri hard_square, 521 00:26:08,400 --> 00:26:11,730 Unë jam duke thënë $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Pra, ky është një shembull i programimit mbrojtëse, 523 00:26:14,330 --> 00:26:17,070 ruajtjen programet tuaja kundër përdoruesit me qëllim të keq. 524 00:26:17,070 --> 00:26:20,020 >> Kjo është një mënyrë për të bërë disa gabime kontrolluar se ne nuk ka të vërtetë 525 00:26:20,020 --> 00:26:24,670 kanë si një opsion në C. Ne kurrë nuk mund të të përcaktojë vlerën e parazgjedhur të diçkaje. 526 00:26:24,670 --> 00:26:27,010 Ne gjithmonë kishte për të kontrolluar nëse, për shembull, 527 00:26:27,010 --> 00:26:30,820 nëse kemi bërë një thirrje për të getString, ajo ishte më e përshtatshme në qoftë se menjëherë pas ne 528 00:26:30,820 --> 00:26:33,300 kontrolluar se, ne kontrolluar nëse vargun 529 00:26:33,300 --> 00:26:35,504 që përdoruesi na dha nuk është e barabartë me null, 530 00:26:35,504 --> 00:26:37,920 sepse ne nuk duam të fillojë duke punuar me një varg null. 531 00:26:37,920 --> 00:26:39,670 >> Këtu, kjo është një mënyrë për të mbrojtur kundër kësaj. 532 00:26:39,670 --> 00:26:43,480 Nëse shfrytëzuesi nuk na japin diçka disi, çfarë do të bëjmë? 533 00:26:43,480 --> 00:26:46,080 E pra, ne do të themi vetëm çfarëdo ata nuk na japin, 534 00:26:46,080 --> 00:26:47,705 ne jemi vetëm do të vihet në prizë 10 në vend. 535 00:26:47,705 --> 00:26:52,030 Pra, nëse ata nuk na japin një vlerë, vetëm përdorni 10 by default. Dhe kështu këtu, 536 00:26:52,030 --> 00:26:53,940 vëreni se unë jam duke e bërë një thirrje për hard_square, 537 00:26:53,940 --> 00:26:55,980 por nuk ka asnjë të shpejtë për përdoruesit, e drejtë? 538 00:26:55,980 --> 00:26:57,540 Unë jam vetëm duke bërë një telefonatë bosh. 539 00:26:57,540 --> 00:27:00,860 >> Por funksioni im hard_square është në pritje të një parametër. 540 00:27:00,860 --> 00:27:02,222 Çfarë është kjo do të shtypura nga? 541 00:27:02,222 --> 00:27:03,680 Ajo do të shtypura nga 100, e drejtë? 542 00:27:03,680 --> 00:27:05,720 Sepse përdoruesi nuk ka më jep asgjë. 543 00:27:05,720 --> 00:27:08,970 Dhe kështu që unë jam vetëm duke shkuar për të marrë se 10-- 10 është vlera e parazgjedhur. 544 00:27:08,970 --> 00:27:13,760 Dhe kështu kjo do të shtypura nga 100 në linjën e vet. 545 00:27:13,760 --> 00:27:16,390 >> PHP fotografi nuk duhet të të jetë vetëm një file të vetëm. 546 00:27:16,390 --> 00:27:19,480 Ju mund të kombinoni fotografi të shumta së bashku, ashtu si ju mund të në C. Mënyra 547 00:27:19,480 --> 00:27:24,330 ne e bëmë atë në C është zakonisht për të bërë një # Include për të marrë fotografi header nxorrën në. 548 00:27:24,330 --> 00:27:26,180 Ne nuk e bëjmë këtë në PHP. 549 00:27:26,180 --> 00:27:29,110 Ne bëjmë diçka të quajtur require_once. 550 00:27:29,110 --> 00:27:33,360 Dhe pastaj nuk ka kjo e tërë gjë, çfarë është kjo __dir__? 551 00:27:33,360 --> 00:27:36,510 Kjo është vetëm një të veçantë ndryshueshme, ose konstante të veçantë, 552 00:27:36,510 --> 00:27:39,030 me të vërtetë, kjo specifikon çfarë Lista juaj e tanishme është. 553 00:27:39,030 --> 00:27:41,320 Dhe kështu ajo do të duken në directory tuaj të tanishme 554 00:27:41,320 --> 00:27:44,900 për një skedar të quajtur cs50.php në këtë shembull këtu, 555 00:27:44,900 --> 00:27:50,490 dhe ajo do të rrinë këtë dosje në krye të programit tuaj PHP, 556 00:27:50,490 --> 00:27:56,980 duke supozuar që ju vënë nevojë dikur vijë në krye të dosjes tuaj PHP. 557 00:27:56,980 --> 00:28:01,474 >> Pra, PHP është përdorur kryesisht, por nuk përdoret ekskluzivisht, 558 00:28:01,474 --> 00:28:03,140 si një gjuhë për programimin e web-bazuar. 559 00:28:03,140 --> 00:28:05,270 Kjo është me të vërtetë se si ajo erdhi në jetë. 560 00:28:05,270 --> 00:28:06,980 Por kjo është një e plotë gjuhës, siç e kemi parë. 561 00:28:06,980 --> 00:28:10,105 Ne kemi parë shumë e shumë të gjitha gjërat që ajo mund të bëjë që janë të ngjashme me C, 562 00:28:10,105 --> 00:28:13,290 dhe kjo mund të bëjë një dreq e shumë më tepër se kaq. 563 00:28:13,290 --> 00:28:16,950 >> Por për shkak se ajo është një gjuhë e plotë dhe ne mund të bëni komandën programe linjë në të. 564 00:28:16,950 --> 00:28:18,630 Ne mund të drejtuar programet command line. 565 00:28:18,630 --> 00:28:22,580 E gjithë kjo është e nevojshme për të drejtuar një komandë Programi linjë që është shkruar në PHP 566 00:28:22,580 --> 00:28:24,260 është se ju keni një përkthyes PHP. 567 00:28:24,260 --> 00:28:27,460 Pra, kjo është lloj i ngjashëm me të paturit e një përpilues në sistemin tuaj 568 00:28:27,460 --> 00:28:31,100 në qoftë se ju doni të përpiloni kodin tuaj C për ta kthyer atë në fotografi të ekzekutueshme. 569 00:28:31,100 --> 00:28:33,810 Ju duhet të keni një përkthyes PHP që ekziston në sistemin tuaj 570 00:28:33,810 --> 00:28:37,330 kështu që ju mund të interpretoni PHP fotografi. 571 00:28:37,330 --> 00:28:40,370 >> Duke supozuar se ju bëni, dhe zakonisht ky përkthyes quhet PHP, 572 00:28:40,370 --> 00:28:44,300 dhe kjo është bundled zakonisht me më shkarkime apo instalimet e PHP 573 00:28:44,300 --> 00:28:47,430 që ju mund të merrni në internet, dhe sigurisht emri i përkthyesit PHP 574 00:28:47,430 --> 00:28:49,550 ne kemi në CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Të gjithë ju bëni është të shkruani php skedar. 576 00:28:51,819 --> 00:28:53,610 Dhe çfarë programi juaj të do të bëni është ajo e 577 00:28:53,610 --> 00:28:55,360 duke shkuar për të drejtuar përmes përkthyesi, është 578 00:28:55,360 --> 00:28:58,040 do të injorojnë çdo gjë që është jo në mes fjalë mark-- 579 00:28:58,040 --> 00:29:03,160 ose, kënd kllapa pyetje shenjë php, të përndarësit PHP, dhe print it out, 580 00:29:03,160 --> 00:29:07,660 dhe ajo do të interpretojë dhe zbatojë Kodi brenda përndarësit tuaj PHP. 581 00:29:07,660 --> 00:29:12,850 >> Pra, le të pop mbi të CS50 IDE dhe kanë një vështrim në disa PHP dosjeve, 582 00:29:12,850 --> 00:29:19,850 drejtimin e një çift të PHP fotografi, në Komanda Line Interface i CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Pra, këtu ne jemi në CS50 IDE, dhe unë kam marrë guximin 584 00:29:22,100 --> 00:29:25,800 e hapjes së një skedar të quajtur hello1.php. 585 00:29:25,800 --> 00:29:29,920 Dhe me sa duket, përmbajtja e këtij Dosja janë vetëm përndarësit PHP atje, 586 00:29:29,920 --> 00:29:32,220 dhe në mes, echo ("hello, bota"). 587 00:29:32,220 --> 00:29:34,710 Ky është një program shumë e thjeshtë PHP. 588 00:29:34,710 --> 00:29:37,670 Unë jam vetëm do të lëvizni poshtë në dritaren time terminal këtu, 589 00:29:37,670 --> 00:29:44,320 dhe unë jam duke shkuar për të tipit php hello1.php, hit enter. 590 00:29:44,320 --> 00:29:44,950 Përshendetje Botë. 591 00:29:44,950 --> 00:29:48,110 Kjo është ndoshta ajo që ne ishim pritur që ajo të bëjë, apo jo? 592 00:29:48,110 --> 00:29:51,140 >> Le të ngjitemi menjëherë dhe ta tjetër shikoni në një program. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 Shumë e shumë të njëjtën gjë, jo shumë po ndodh këtu. 595 00:29:55,090 --> 00:29:57,190 Këtë herë, edhe pse, unë jam duke shkuar për të nxitur përdoruesit të më jepni emrat e tyre. 596 00:29:57,190 --> 00:29:59,290 Unë jam duke përdorur këtë funksion linja leximi përsëri. 597 00:29:59,290 --> 00:30:01,340 Emri $ = linja leximi. 598 00:30:01,340 --> 00:30:03,070 Kjo është e shpejtë: "Cili është emri yt?" 599 00:30:03,070 --> 00:30:04,880 >> Me sa duket unë jam shtypje ajo në linjën e vet. 600 00:30:04,880 --> 00:30:07,220 Dhe pastaj, kështu vija poshtë që do të jetë i shpejtë 601 00:30:07,220 --> 00:30:08,750 ku përdoruesi mund të hyjë në emrin e tyre. 602 00:30:08,750 --> 00:30:12,030 Dhe atëherë unë jam duke përdorur një grimë të vogël e Interpelanca e ndryshueshme këtu on line 3 603 00:30:12,030 --> 00:30:14,780 të shtypura nga "hello" dhe çfarëdo lloje përdorues. 604 00:30:14,780 --> 00:30:22,040 Pra, kjo është analoge me thënë: Përshëndetje, presje,% s në qoftë se ne ishim duke përdorur printf në C. 605 00:30:22,040 --> 00:30:24,910 >> Pra, le të shkojë dhe të interpretojnë këtë program. 606 00:30:24,910 --> 00:30:27,400 Pra, përsëri, unë do të lëvizni poshtë në dritaren time terminal. 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 Si e ke emrin? 610 00:30:33,820 --> 00:30:35,490 Doug. 611 00:30:35,490 --> 00:30:36,526 Përshëndetje, Doug. 612 00:30:36,526 --> 00:30:39,440 Unë gjithashtu kanë një tjetër file i quajtur hello3.php. 613 00:30:39,440 --> 00:30:42,850 Unë jam duke shkuar për të pastruar tim Ekran me Kontrollit L, 614 00:30:42,850 --> 00:30:46,210 dhe unë jam duke shkuar për të ekzekutuar atë. 615 00:30:46,210 --> 00:30:47,640 Si e ke emrin? 616 00:30:47,640 --> 00:30:49,020 Doug. 617 00:30:49,020 --> 00:30:49,780 Përshëndetje, Doug. 618 00:30:49,780 --> 00:30:56,540 Pra, sjellja është identike me hello2.php, por pse është hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> E pra, këtu është dallimi. 620 00:30:58,040 --> 00:31:00,620 Në këtë rast, njoftimi që on line 1 këtu, 621 00:31:00,620 --> 00:31:04,270 Kam diçka që nuk është në mes të përndarësit PHP. 622 00:31:04,270 --> 00:31:07,760 Unë jam vetëm shtypjen out-- ose unë vetëm shtypur: "Cili është emri yt?" 623 00:31:07,760 --> 00:31:12,060 Kur PHP përkthyesi sheh këtë, ajo ka asnjë ide se si për të interpretuar atë si PHP, 624 00:31:12,060 --> 00:31:15,060 dhe kështu që në vend të dështuar, ajo është vetëm do të fol drejt. 625 00:31:15,060 --> 00:31:19,010 >> Pra, vini re on line 3 tani, thirrjes time për linja leximi, nuk ka më të shpejtë. 626 00:31:19,010 --> 00:31:21,750 Unë jam vetëm duke shkuar në fakt to-- kur PHP përkthyesi sheh këtë, 627 00:31:21,750 --> 00:31:23,400 ajo do të shtypura nga "Si e ke emrin?" 628 00:31:23,400 --> 00:31:25,941 Pastaj ai e sheh, oh, OK, here's-- çdo gjë tjetër do të jetë 629 00:31:25,941 --> 00:31:29,970 interpretohet si PHP, kështu kjo është arsyeja pse kjo funksionon. 630 00:31:29,970 --> 00:31:34,990 Unë nuk duhet të domosdoshmërisht të shpejtë to-- përdorues brenda linja leximi, 631 00:31:34,990 --> 00:31:37,490 Unë vetëm mund të ketë atë jashtë e përndarësit PHP 632 00:31:37,490 --> 00:31:41,490 dhe të lejojë përkthyes të vetëm print it out për mua. 633 00:31:41,490 --> 00:31:45,364 >> Pra, ju në fakt nuk kanë vetëm të ketë një sërë përndarësit PHP 634 00:31:45,364 --> 00:31:46,030 në programin tuaj. 635 00:31:46,030 --> 00:31:49,887 Ju në fakt mund të ketë disa prej tyre, hapjen dhe mbylljen e tyre sipas nevojës. 636 00:31:49,887 --> 00:31:51,720 Pra, le të marrin një vështrim në një çift të programeve 637 00:31:51,720 --> 00:31:55,070 në CS50 IDE ku ne ilustruar këtë ide të pasurit 638 00:31:55,070 --> 00:31:58,376 grupe të shumta të PHP përkufizuar. 639 00:31:58,376 --> 00:32:02,010 >> OK, kështu që unë e kam hapur një fotografi këtu i quajtur add1.php. 640 00:32:02,010 --> 00:32:03,390 Dhe vini re çfarë po ndodh këtu. 641 00:32:03,390 --> 00:32:08,077 Ashtu si më parë, unë kam një PHP vetme të vendosur të përndarësit. 642 00:32:08,077 --> 00:32:10,660 Unë jam duke shkuar për të shtypur jashtë Mesazhi: "Më jepni një numër." 643 00:32:10,660 --> 00:32:13,394 Atëherë unë jam duke shkuar për të lexuar një linjë dhe ruajtur atë në $ num1 ndryshueshme. 644 00:32:13,394 --> 00:32:14,810 Atëherë unë jam duke shkuar për të shtypur jashtë përsëri. 645 00:32:14,810 --> 00:32:16,310 Më jepni një numër të dytë. 646 00:32:16,310 --> 00:32:20,450 Lexoni një vijë nga përdoruesit, dyqan çdo gjë që ata shtypur në në $ num2. 647 00:32:20,450 --> 00:32:23,980 Shtoni ato së bashku dhe ruajtur atë të rezultojë në një ndryshore të quajtur shuma $, 648 00:32:23,980 --> 00:32:26,180 dhe pastaj të shtypura nga se " shuma e këtyre dy numrave 649 00:32:26,180 --> 00:32:29,254 është, "dhe pastaj interpelancë atje shuma ndryshueshme $. 650 00:32:29,254 --> 00:32:31,170 Pra, le të vetëm të drejtuar këtë përmes përkthyesit 651 00:32:31,170 --> 00:32:33,720 për të konfirmuar se kjo është ajo që ne presim. 652 00:32:33,720 --> 00:32:37,540 add1.php php. 653 00:32:37,540 --> 00:32:38,665 Ju lutem më jepni një numër, 3. 654 00:32:38,665 --> 00:32:40,410 Ju lutem më jepni një numër të dytë, 4. 655 00:32:40,410 --> 00:32:43,370 Shuma e këtyre dy numrave është 7. 656 00:32:43,370 --> 00:32:45,030 Kjo është 3 plus 4. 657 00:32:45,030 --> 00:32:45,530 NE RREGULL? 658 00:32:45,530 --> 00:32:47,770 Pra, asgjë tmerrësisht i zbukuruar atje. 659 00:32:47,770 --> 00:32:51,080 >> Dhe tani le të hapur add2.php. 660 00:32:51,080 --> 00:32:54,460 Këtu, unë kam marrë një çift të PHP përkufizuar vendos atje, apo jo? 661 00:32:54,460 --> 00:32:59,107 Lines 1, 3-- linjat e 1 dhe 3 nuk kanë përndarësit PHP. 662 00:32:59,107 --> 00:33:00,940 Pra, kur përkthyesi i sheh ata, kjo është vetëm 663 00:33:00,940 --> 00:33:03,220 do të nxjerr nga goja saktësisht ajo që unë kam shtypur atje. 664 00:33:03,220 --> 00:33:05,011 Pra, kjo është ajo ku unë jam duke bërë të gjithë nxitur tim. 665 00:33:05,011 --> 00:33:11,220 Në linjat 2 dhe 4, ne shohim shumë $ njohur? php lloj përndarësit, 666 00:33:11,220 --> 00:33:15,210 kështu që këto dy linja janë duke shkuar për të ekzekutuar si PHP. 667 00:33:15,210 --> 00:33:18,270 Dhe pastaj në linjë 5, unë kam këtë gjë e pazakontë të drejtë këtu, apo jo? 668 00:33:18,270 --> 00:33:20,480 Kjo kllapa kënd pikëpyetje shenjë të barabartë. 669 00:33:20,480 --> 00:33:22,660 Unë do të zoom edhe në pak më tej. 670 00:33:22,660 --> 00:33:29,270 Ju mund të shihni se kjo është ajo që unë jam duke folur për të drejtë atje, këtë $? =. 671 00:33:29,270 --> 00:33:33,420 >> Ajo rezulton se ajo është aq e zakonshme që arsyeja që ne të hapë një sërë PHP 672 00:33:33,420 --> 00:33:36,055 përndarësit është për të shtypur nga një vlerë. 673 00:33:36,055 --> 00:33:37,430 Dhe kjo është e gjitha ne jemi duke shkuar për të bërë. 674 00:33:37,430 --> 00:33:39,220 Por ka edhe stenografi për atë. 675 00:33:39,220 --> 00:33:46,490 $? = Është PHP stenografi për të thënë diçka si $? php echo shuma 676 00:33:46,490 --> 00:33:48,350 e num1 dhe num2. 677 00:33:48,350 --> 00:33:51,900 Pra, kjo është vetëm një tjetër stenografi për atë. 678 00:33:51,900 --> 00:33:55,550 >> Pra, nëse unë të drejtuar këtë program, add2.php php. 679 00:33:55,550 --> 00:33:57,530 Unë do të zoom poshtë pak. 680 00:33:57,530 --> 00:33:59,000 Ju lutem më jepni një numër, 4. 681 00:33:59,000 --> 00:34:00,350 Ju lutem, jepni një numër të dytë. 682 00:34:00,350 --> 00:34:04,650 Dhe pasi që unë nuk e kujdesit të vërtetë në lidhje me Llojet e të dhënave në PHP, unë mund të them 4.8. 683 00:34:04,650 --> 00:34:07,160 Shuma e këtyre dy numrave është 8.8. 684 00:34:07,160 --> 00:34:10,179 Se funksioni sillet pretty much të njëjtë si ne do të presim, 685 00:34:10,179 --> 00:34:10,989 gjithashtu. 686 00:34:10,989 --> 00:34:13,114 Dhe unë kam një shumë të hapur këtu i quajtur dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Provoni këtë përsëri. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Unë kam një shumë këtu quhet dice1.php, e cila gjithashtu, shih, 691 00:34:33,280 --> 00:34:37,440 ka këtë pyetje kllapa kënd shënuar simbol barabartë shenjë në atje, 692 00:34:37,440 --> 00:34:40,659 por vini re se në këtë rast unë jam i duke e quajtur rand funksion, e cila si ti 693 00:34:40,659 --> 00:34:42,790 mund të presin gjeneron një numër të rastit. 694 00:34:42,790 --> 00:34:46,889 "Ti mbështjellë një", dhe ajo do të të llogaritur disa numër të rastit, mod 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Kështu që do të më jepni numrin në rangun nga 1 deri ne 6. 697 00:34:49,989 --> 00:34:53,040 >> Mos harroni se mod 6 do të më japësh një numër në intervalin nga 0 në 5, 698 00:34:53,040 --> 00:34:56,630 por në qoftë se unë jam duke simuluar rrotullon zare, cila është ajo që unë jam duke bërë këtu, 699 00:34:56,630 --> 00:35:00,040 Unë nuk dua këto zare për të shkuar nga 0 në 5, I duam zarin që shkojnë nga 1 deri ne 6. 700 00:35:00,040 --> 00:35:02,800 Dhe kështu kjo është një mënyrë për të marrë më në rangun nga 1 deri ne 6. 701 00:35:02,800 --> 00:35:04,720 Unë jam duke bërë këtë dy herë. 702 00:35:04,720 --> 00:35:08,630 Pra, me sa duket unë jam kodrina dy zare në këtë program. 703 00:35:08,630 --> 00:35:15,210 >> Kështu që unë do të pastruar ekranin tim, dhe unë do të bëj php dice1.php. 704 00:35:15,210 --> 00:35:16,640 Ju mbështjellë një 4 dhe një 2. 705 00:35:16,640 --> 00:35:19,156 Dhe në qoftë se unë të drejtuar programin përsëri, ju rrokullisi një 5 dhe një 5. 706 00:35:19,156 --> 00:35:21,780 Kështu që çdo herë që unë të drejtuar programin, Unë jam marrë numra të ndryshëm, 707 00:35:21,780 --> 00:35:24,280 sepse çdo herë që unë bëj kështu, është duke filluar gjatë. 708 00:35:24,280 --> 00:35:27,250 Ajo do të gjenerojë një të ri vendosur e numrave të rastit për mua. 709 00:35:27,250 --> 00:35:29,790 >> Pra, nëse ne jemi duke përdorur për të drejtimin e programeve nga C, 710 00:35:29,790 --> 00:35:32,520 ne jemi duke përdorur për të shtypur ./ emri i një programi, e drejtë? 711 00:35:32,520 --> 00:35:35,090 Kjo është se si ne kemi bërë të gjithë programet tona në C deri tani. 712 00:35:35,090 --> 00:35:37,555 Ne mund ta bëjmë këtë në PHP si edhe duke shtuar diçka të quajtur 713 00:35:37,555 --> 00:35:40,026 një mesele në krye të dosjes sonë PHP. 714 00:35:40,026 --> 00:35:41,400 Unë e di se kjo është lloj i një fjalë pa kuptim. 715 00:35:41,400 --> 00:35:44,540 Është e shkurtër për hash zhurmë. 716 00:35:44,540 --> 00:35:46,300 Kjo është dy shkronja e parë atje. 717 00:35:46,300 --> 00:35:50,030 Mos harroni që ne e quajmë pikë thirrje shpesh një zhurmë në shkenca kompjuterike. 718 00:35:50,030 --> 00:35:51,690 Ajo gjithashtu mund të jetë për zhurmë të mprehtë. 719 00:35:51,690 --> 00:35:53,273 Ka disa mënyra për të interpretuar atë. 720 00:35:53,273 --> 00:35:57,320 Por kjo është në thelb një lloj të veçantë të urdhëroj që PHP përkthyesi 721 00:35:57,320 --> 00:36:00,160 e kupton si, oh, unë dua ju për të ekzekutuar këtë program, 722 00:36:00,160 --> 00:36:05,250 e cila është me sa duket / user / bin / php, e cila është në fakt ku PHP përkthyesi 723 00:36:05,250 --> 00:36:08,590 veçanërisht jeton në sistemin tonë. 724 00:36:08,590 --> 00:36:12,530 Pra it's-- çfarë ndodh këtu është përkthyesi kupton, oh, 725 00:36:12,530 --> 00:36:17,270 Unë jam duke menduar për të përdorur sa duket në këtë program për të drejtuar këtë fotografi. 726 00:36:17,270 --> 00:36:20,010 Dhe kështu që ju lejon për të kaloni mbi hapin 727 00:36:20,010 --> 00:36:22,979 e të pasurit për të thënë php something.php. 728 00:36:22,979 --> 00:36:25,020 Ka një kapur të tjera ketu, i cili është që, nëse 729 00:36:25,020 --> 00:36:27,320 dua programet tona për punojnë siç pritej, ne 730 00:36:27,320 --> 00:36:30,220 duhet të bëni diçka të quajtur një ndryshim leje skedar. 731 00:36:30,220 --> 00:36:33,380 Dhe ne do të go-- dhe flasim pak pak më shumë për fotografi ndryshime leje 732 00:36:33,380 --> 00:36:37,550 në video tonë në MVC, por mjafton të thonë se kjo është ajo që ju duhet të bëni 733 00:36:37,550 --> 00:36:42,760 në mënyrë që të bëjë tuaj Php fotografi të ekzekutueshme. 734 00:36:42,760 --> 00:36:49,330 Pra, le të marrin një vështrim në këtë si shembulli ynë përfundimtar mbi në CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Kështu që këtu në IDE Unë kam dy fotografi në këtë PHP Lista që nuk duket të jetë 736 00:36:53,910 --> 00:36:55,310 quajtur Php. 737 00:36:55,310 --> 00:36:58,170 Unë kam një funksion të quajtur add-- Unë kam një skedar të quajtur add3 738 00:36:58,170 --> 00:37:00,650 dhe një file i quajtur dice2. 739 00:37:00,650 --> 00:37:03,680 Pra, le të marrin një shpejtë shikoni dhe të hapë add3. 740 00:37:03,680 --> 00:37:08,300 Dhe si ju mund të shihni, në fillim e dosjen time unë kam këtë mesele, e drejtë? 741 00:37:08,300 --> 00:37:11,420 Kjo pikë shenjë hash thirrje. 742 00:37:11,420 --> 00:37:15,115 Tani, ju do të ndoshta vini re se për disa arsye, 743 00:37:15,115 --> 00:37:16,990 Unë nuk kam ndonjë sintaksë theksuar më, 744 00:37:16,990 --> 00:37:20,198 dhe kjo është ajo që unë aludoi për më herët, e cila ishte se në qoftë se unë nuk e përmendur dosjen time 745 00:37:20,198 --> 00:37:23,040 Php, unë nuk kam dobi i sintaksës theksuar më. 746 00:37:23,040 --> 00:37:26,220 Kjo skedë është quajtur vetëm add3. 747 00:37:26,220 --> 00:37:30,960 Kështu që unë mund të kandidojë atë më vonë në me ./ add3 dhe jo ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Pra reason-- është ende gjobë, ajo është ende e vlefshme PHP, 749 00:37:33,680 --> 00:37:37,000 por kjo nuk është sintaksë theksuar, sepse Ky skedar nuk quhet something.php. 750 00:37:37,000 --> 00:37:41,580 Ky është i vetmi ndryshim i vërtetë këtu, plus mesele. 751 00:37:41,580 --> 00:37:45,170 Pra, le të shohim se çfarë ndodh kur Unë të përpiqet dhe të drejtuar këtë program. 752 00:37:45,170 --> 00:37:50,780 ./ Add3, ashtu si unë do të me C. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ Leje add3 mohuar. 754 00:37:53,190 --> 00:37:55,390 Kjo është ajo që ju do të jeni për të parë nëse ju harroni 755 00:37:55,390 --> 00:37:59,280 të përdorni komandën chmod për të ndryshuar lejet e file. 756 00:37:59,280 --> 00:38:03,845 >> Siç rezulton, PHP rregullta fotografi nuk mund të ekzekutohet. 757 00:38:03,845 --> 00:38:06,970 Ato mund të interpretohet, por ne jemi duke bërë diçka pak më ndryshe këtu. 758 00:38:06,970 --> 00:38:07,761 Ne jemi ekzekutimin e tij. 759 00:38:07,761 --> 00:38:12,970 Dhe kështu që unë duhet të shtoni leje e ekzekutimit, chmod a + x për add3. 760 00:38:12,970 --> 00:38:15,680 Atëherë unë mund të them ./ add3. 761 00:38:15,680 --> 00:38:16,860 Ju lutem, jepni një numër. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Shuma e këtyre dy numrave është 11. 764 00:38:20,490 --> 00:38:26,530 >> Në mënyrë të ngjashme, unë kam chmoded tashmë dice2, kështu që unë thjesht mund të shtypni ./ dice2, 765 00:38:26,530 --> 00:38:31,260 ju rrokullisi një 1 dhe një 1, ju rrokullisi një 5 dhe një 4, dhe kështu me radhë. 766 00:38:31,260 --> 00:38:33,680 >> Pra, kjo është shumë e shumë Ideja e një sintaksë PHP, e drejtë? 767 00:38:33,680 --> 00:38:35,221 Ka shumë për të marrë përmes, unë e di. 768 00:38:35,221 --> 00:38:39,160 Por shpresojmë se ju kam parë tani se PHP nuk është me të vërtetë aq të ndryshëm nga C 769 00:38:39,160 --> 00:38:43,670 dhe me të vërtetë na jep mundësinë për të marrë gjërat një nivel ose dy. 770 00:38:43,670 --> 00:38:48,230 Ne të vërtetë nuk kanë për t'u shqetësuar shumë? Për ne nuk të vërtetë 771 00:38:48,230 --> 00:38:51,605 duhet të shqetësohen shumë për detaje të nivelit të ulët ne 772 00:38:51,605 --> 00:38:52,980 duhej të shqetësohen për me C, e drejtë? 773 00:38:52,980 --> 00:38:56,170 Ne mund të përqëndrohen në të larta sende nivel që PHP 774 00:38:56,170 --> 00:39:01,090 na lejon për të bërë dhe për të marrë për dhënë që ajo do të punojë për ne. 775 00:39:01,090 --> 00:39:04,350 Pra, kjo na jep mundësinë për tani, tranzicion nga C në PHP, 776 00:39:04,350 --> 00:39:08,280 për të bërë programe që janë shumë më të kompleks dhe ndoshta shumë më të fuqishme. 777 00:39:08,280 --> 00:39:13,070 >> Kështu që unë shpresoj se ju keni fun pune me PHP, dhe unë jam Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 Kjo është CS50. 779 00:39:15,050 --> 00:39:17,637