1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> Даг LLOYD: Значи ние сме направи многу работа во C, 3 00:00:07,370 --> 00:00:09,536 и Ц е многу добар јазик, бидејќи ви дава 4 00:00:09,536 --> 00:00:12,840 способноста да се нурне навистина Ниското ниво во вашите програми. 5 00:00:12,840 --> 00:00:16,810 Ние се да ги правите нештата како навистина минута што е манипулација 6 00:00:16,810 --> 00:00:18,800 индивидуални бајти од меморија. 7 00:00:18,800 --> 00:00:21,420 Потсетиме дека навистина покажувачи ни овозможи што флексибилност. 8 00:00:21,420 --> 00:00:25,260 >> Но секогаш треба да имаме тоа ниво фино зрно детали 9 00:00:25,260 --> 00:00:26,820 во нашите програми? 10 00:00:26,820 --> 00:00:28,210 Веројатно не, нели? 11 00:00:28,210 --> 00:00:30,376 И ако ние се случува да треба трампа помеѓу се 12 00:00:30,376 --> 00:00:32,911 можност да се направи навистина, навистина минута работите и навистина, навистина 13 00:00:32,911 --> 00:00:35,910 големи нешта што ние не треба да се размислува за, ние не треба да се имплементира 14 00:00:35,910 --> 00:00:40,290 овие навистина големи идеи ако тие се веќе вградени во за нас, 15 00:00:40,290 --> 00:00:43,980 главно за изградба на голем програми или големи проекти, 16 00:00:43,980 --> 00:00:49,130 ние сме веројатно нема да згрешат на страната на постоење на повеќе работи јазикот изградена во 17 00:00:49,130 --> 00:00:51,300 за нас, наместо да има работи на ниско ниво. 18 00:00:51,300 --> 00:00:53,970 И тоа е каде PHP навистина доаѓа во. 19 00:00:53,970 --> 00:00:58,200 >> Сега, една од причините дека ние ги учат на PHP во CS50 20 00:00:58,200 --> 00:01:01,020 е дека тоа е во голема мера инспириран од В И всушност, според мое мислење, 21 00:01:01,020 --> 00:01:05,140 постојат навистина две прогениторните јазици 22 00:01:05,140 --> 00:01:08,200 се многу честа појава во денешно време. 23 00:01:08,200 --> 00:01:10,110 C и Lisp. 24 00:01:10,110 --> 00:01:13,280 И тие се прогениторните јазици затоа што секоја друга модерна програмирање 25 00:01:13,280 --> 00:01:17,380 јазик, кој има развиено оттогаш е инспириран 26 00:01:17,380 --> 00:01:20,330 од страна на еден или на друг синтаксичкокомплексни. 27 00:01:20,330 --> 00:01:26,160 PHP е многу сличен синтаксички до C, додека јазици како Шема, 28 00:01:26,160 --> 00:01:27,900 на пример, што можеби сте слушнале, 29 00:01:27,900 --> 00:01:32,070 е силно инспириран од јазикот наречен LISP, кој е постар јазик. 30 00:01:32,070 --> 00:01:34,220 >> Значи причината ние ги учат PHP во CS50 е тоа што, 31 00:01:34,220 --> 00:01:37,730 со знаејќи Ц како фундаментално како што го правите во овој момент, 32 00:01:37,730 --> 00:01:41,280 подигање на PHP, кој ви дава на Способноста да се направи многу повисоко ниво работите 33 00:01:41,280 --> 00:01:44,710 од C прави тоа, не е дека голема пречка, 34 00:01:44,710 --> 00:01:48,230 затоа што веќе имаш на Основната идеја на синтаксата. 35 00:01:48,230 --> 00:01:50,590 С е околу речиси 45 години во овој момент. 36 00:01:50,590 --> 00:01:52,780 PHP е околу 20 години. 37 00:01:52,780 --> 00:01:57,080 И во таа 25 години меѓу нив, програмери 38 00:01:57,080 --> 00:02:01,540 констатирано е дека тие многу повеќе би а имаат повисоко ниво на способности, 39 00:02:01,540 --> 00:02:04,970 и грешките и борби на 20 години меѓу 40 00:02:04,970 --> 00:02:08,210 довело до PHP и другите современи јазици. 41 00:02:08,210 --> 00:02:11,039 >> Одличен избор на PHP е јазикот за софтвер 42 00:02:11,039 --> 00:02:14,042 дека allow-- за софтвер that-- каде што 43 00:02:14,042 --> 00:02:16,250 треба да се прават работите кои во С се всушност комплицирано. 44 00:02:16,250 --> 00:02:18,480 Така на пример, во кои работат со жици во C 45 00:02:18,480 --> 00:02:21,709 е многу комплицирано, бидејќи како што знаеме, стрингови во C 46 00:02:21,709 --> 00:02:23,250 се навистина само низи од карактери. 47 00:02:23,250 --> 00:02:25,230 Тоа не е вграден во тип на податок. 48 00:02:25,230 --> 00:02:28,220 Или можеби уште поважно, нешто што дури и не ги покрие во C, 49 00:02:28,220 --> 00:02:30,360 Што ако ви треба да се направи некои компјутерски мрежи? 50 00:02:30,360 --> 00:02:30,860 Во ред? 51 00:02:30,860 --> 00:02:34,920 >> Ц има способност да го направи тоа, но тоа е толку Тајниот, а толку тешко да се всушност прават. 52 00:02:34,920 --> 00:02:37,580 Зарем не би било убаво ако јазик имал вграден, лесен начин 53 00:02:37,580 --> 00:02:38,910 за спроведување на вмрежување? 54 00:02:38,910 --> 00:02:43,420 И PHP е јазик што го прави тој, или олеснува тоа, сосема малку повеќе. 55 00:02:43,420 --> 00:02:47,740 Како што реков, PHP е многу силно инспириран од В. Синтаксата е многу сличен. 56 00:02:47,740 --> 00:02:51,760 И така треба да се надеваме дека се направи премин од еден во друг 57 00:02:51,760 --> 00:02:54,710 малку помек од некои други јазици може да биде. 58 00:02:54,710 --> 00:02:58,800 >> За да почнете со пишување на PHP, само отвори датотека со .php наставката на датотеката. 59 00:02:58,800 --> 00:03:00,670 Технички тоа не е всушност се бара, 60 00:03:00,670 --> 00:03:04,495 но ако сакате да работите како синтакса истакнување во IDE, така што тип 61 00:03:04,495 --> 00:03:07,620 имиња, или променлива имиња, функции, што знаете, на клучни зборови на јазикот 62 00:03:07,620 --> 00:03:10,090 се означени во специфична боја, обично 63 00:03:10,090 --> 00:03:14,020 сакате да го именувате вашите датотеки со одредена наставката на датотеката. 64 00:03:14,020 --> 00:03:18,430 Значи ние сме именувани нашите датотека со .php продолжување, но потоа, исто така, со PHP, 65 00:03:18,430 --> 00:03:23,310 сите кодот PHP ние пишуваме со тоа датотеката мора да биде приложен во овие PHP 66 00:03:23,310 --> 00:03:25,190 Раздели, кои ги гледаме тука на екранот. 67 00:03:25,190 --> 00:03:27,910 Аглеста заграда? Php да се започне. 68 00:03:27,910 --> 00:03:30,860 Потоа ние пишуваме сите наши PHP кодот што го сакаме она помеѓу. 69 00:03:30,860 --> 00:03:32,260 И потоа ? 70 00:03:32,260 --> 00:03:34,710 аглеста заграда да се затвори. 71 00:03:34,710 --> 00:03:37,170 >> Ако ние не го стори тоа, тогаш што ќе се случи? 72 00:03:37,170 --> 00:03:38,170 Тоа не се случува да се сруши. 73 00:03:38,170 --> 00:03:39,410 Тоа не се случува да го Навистина го уништи нашата програма. 74 00:03:39,410 --> 00:03:41,440 Но, тоа не се случува да имаат ефектот што го сакаме. 75 00:03:41,440 --> 00:03:44,540 Што ќе се случи, всушност, е дека кога ќе се обиде и да ја извршите оваа програма, 76 00:03:44,540 --> 00:03:50,330 сè не меѓу оние Раздели се случува да бидат отпечатени на непроменети копии. 77 00:03:50,330 --> 00:03:52,210 Тоа не се случува да го всушност извршување на кодот, 78 00:03:52,210 --> 00:03:56,010 тоа се случува да се само печати ја надвор од збор до збор. 79 00:03:56,010 --> 00:03:57,320 >> А зошто е така? 80 00:03:57,320 --> 00:04:00,416 Па C е она што е познат како Составувач јазик. 81 00:04:00,416 --> 00:04:03,040 Сигурно сте запознаени со чекор за правење на вашите програми, 82 00:04:03,040 --> 00:04:07,820 вртење на .C .h фајлови и датотеки во една извршна со шминка, 83 00:04:07,820 --> 00:04:11,130 особено со употреба на Ѕвекот како наш компајлерот. 84 00:04:11,130 --> 00:04:13,030 PHP, сепак, не го прави тоа имаат оваа еквивалентни. 85 00:04:13,030 --> 00:04:15,600 PHP е она што се нарекува толкува јазик. 86 00:04:15,600 --> 00:04:16,760 И што значи тоа? 87 00:04:16,760 --> 00:04:20,680 >> Па, тоа значи дека ние не треба да го конвертирате нашиот изворен код за да се нули и единици 88 00:04:20,680 --> 00:04:21,470 пред тоа. 89 00:04:21,470 --> 00:04:23,900 Наместо тоа, има програма, кој исто така е наречена 90 00:04:23,900 --> 00:04:29,771 PHP, која ги разбира PHP и може да го направи тоа за кој вид на во лет. 91 00:04:29,771 --> 00:04:32,520 Тоа не е навистина точно точни, но тоа е прилично добра аналогија 92 00:04:32,520 --> 00:04:33,760 од она што се случува. 93 00:04:33,760 --> 00:04:37,230 Тоа е толкување на тие нули и оние на мува. 94 00:04:37,230 --> 00:04:40,160 И така, ако тоа не се знае како да се процес нешто, 95 00:04:40,160 --> 00:04:42,800 ако тоа не се знае како да се PHP процес, најверојатно 96 00:04:42,800 --> 00:04:44,680 сакаше да се стави дека текстот во таму, нели? 97 00:04:44,680 --> 00:04:48,960 >> Најверојатно сака да ја стави во кодот таму, дури и ако тоа не е меѓу PHP-- 98 00:04:48,960 --> 00:04:50,035 Раздели PHP. 99 00:04:50,035 --> 00:04:51,910 But-- па тоа не се случува да ја избришете за вас, 100 00:04:51,910 --> 00:04:53,576 тоа е само ќе да се основа фрлете го. 101 00:04:53,576 --> 00:04:55,550 Па затоа се случува да се печати тоа до екранот. 102 00:04:55,550 --> 00:04:57,150 >> Ова изгледа како тоа е лоша работа, но всушност тоа е 103 00:04:57,150 --> 00:04:58,220 ќе биде навистина добра работа, како што ќе 104 00:04:58,220 --> 00:05:00,390 види кога зборуваме за PHP веб развој, 105 00:05:00,390 --> 00:05:04,010 затоа што тоа значи дека може да едитирате PHP и HTML. 106 00:05:04,010 --> 00:05:06,640 Можеме да ги користите заедно за да се создаде динамична веб-страница. 107 00:05:06,640 --> 00:05:10,650 Но повеќе за тоа во видео на PHP веб развој. 108 00:05:10,650 --> 00:05:12,021 >> Значи она што е синтакса на PHP? 109 00:05:12,021 --> 00:05:13,520 Тоа е она што ова видео е за сите. 110 00:05:13,520 --> 00:05:14,850 Ајде да зборуваме за тоа. 111 00:05:14,850 --> 00:05:16,490 >> Така да се започне, променливи. 112 00:05:16,490 --> 00:05:18,030 Постојат PHP променливи. 113 00:05:18,030 --> 00:05:20,067 Постојат само две големи разлики од В. 114 00:05:20,067 --> 00:05:21,900 Првиот е дека има Нема типот назначувач. 115 00:05:21,900 --> 00:05:24,245 Ние не треба да се каже int, знак, плови, сето тоа работи. 116 00:05:24,245 --> 00:05:25,620 Ние не треба да се направи тоа повеќе. 117 00:05:25,620 --> 00:05:26,810 PHP е модерен јазик. 118 00:05:26,810 --> 00:05:28,910 Тоа може да дознаам што сте обидуваат да го направат или да направите најдобар 119 00:05:28,910 --> 00:05:30,451 Претпоставувам дека тоа што се обидуваш да го направи тоа. 120 00:05:30,451 --> 00:05:31,700 Значи тоа е прилично убаво. 121 00:05:31,700 --> 00:05:35,330 >> Од друга работа е тоа што сите променливи имиња мора да почнат со знак за долар. 122 00:05:35,330 --> 00:05:36,940 Тоа е само нешто да се навикнеш на. 123 00:05:36,940 --> 00:05:39,496 Тоа е малку чудно, бидејќи тоа е толку дека PHP може да се разбере 124 00:05:39,496 --> 00:05:40,870 што е променлива, а што не е. 125 00:05:40,870 --> 00:05:43,340 Значи секоја променлива име започнува со знак за долар. 126 00:05:43,340 --> 00:05:46,884 Па во C може да се каже нешто вака, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Ние не треба да го правам тоа повеќе во PHP. 128 00:05:48,550 --> 00:05:52,540 Можеме да речеме $ x = 54. 129 00:05:52,540 --> 00:05:55,920 И ние може да се каже, на пример, во C, ако имавме фунта-вклучени .h CS50 130 00:05:55,920 --> 00:06:00,314 хедер датотека, може да се каже стринг фраза = "Ова е CS50." 131 00:06:00,314 --> 00:06:01,980 Ние не треба да се направи тоа во PHP, иако. 132 00:06:01,980 --> 00:06:04,865 Можеме да речеме $ фраза = "Ова е CS50." 133 00:06:04,865 --> 00:06:08,760 И всушност, стринг е сега вграден тип на податок во PHP, 134 00:06:08,760 --> 00:06:10,950 или подобро го разбира PHP она стринг е. 135 00:06:10,950 --> 00:06:15,612 Тоа е посебен од низа на ликови како што е во В. 136 00:06:15,612 --> 00:06:17,570 Сите ваши омилени условно извештаи од C 137 00:06:17,570 --> 00:06:19,520 се уште е на располагање за да ги користите. 138 00:06:19,520 --> 00:06:21,140 Па не е голема транзиција таму. 139 00:06:21,140 --> 00:06:23,400 Можеме да say-- можеме да имаме ако извештаи се допаѓа ова. 140 00:06:23,400 --> 00:06:28,210 ако y $ 43 или $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Значи тоа е прилично јасна. 142 00:06:29,690 --> 00:06:31,980 Ние може да има ако и друго. 143 00:06:31,980 --> 00:06:34,210 Ние може да има ако и друго, ако. 144 00:06:34,210 --> 00:06:36,430 >> И ќе забележите нешто прилично убаво тука, а тоа 145 00:06:36,430 --> 00:06:39,620 е вид на една од оние предности на PHP наспроти Ц, огласот 146 00:06:39,620 --> 00:06:41,510 каква функција ние не користите во оваа ситуација? 147 00:06:41,510 --> 00:06:47,737 Ние сме со користење == да се споредат променлива, $ име, во низа. 148 00:06:47,737 --> 00:06:49,070 Ние не можевме да го направите тоа во C, нели? 149 00:06:49,070 --> 00:06:53,200 Моравме да се користи некоја функција наречена StrComp или StrEndComp или било 150 00:06:53,200 --> 00:06:54,840 од неговите поврзани братучеди. 151 00:06:54,840 --> 00:06:56,980 >> И така веќе ги гледаме овие предности. 152 00:06:56,980 --> 00:07:00,930 Ние не треба да се направи нешто како глупави или можеби unintuitive 153 00:07:00,930 --> 00:07:03,540 што се јавите на функција наречена StrComp ако јас само сакаат да се тестираат 154 00:07:03,540 --> 00:07:05,237 дали односно вредноста не е еднакво на стрингот. 155 00:07:05,237 --> 00:07:07,820 Јас само може да се користи еднаква еднаквите, како би можел да се направи нешто друго. 156 00:07:07,820 --> 00:07:09,560 Значи има предност. 157 00:07:09,560 --> 00:07:13,350 >> Понекогаш, патем, можеби ќе види друго ако како еден збор, elseif. 158 00:07:13,350 --> 00:07:14,910 И тоа е во ред во PHP, како и. 159 00:07:14,910 --> 00:07:17,020 Па понекогаш може да се види тоа. 160 00:07:17,020 --> 00:07:17,790 Тоа не е печатна грешка. 161 00:07:17,790 --> 00:07:21,830 PHP, всушност, го разбира elseif. 162 00:07:21,830 --> 00:07:23,980 Јас не знам зошто тие одлучи да се спроведе тоа, 163 00:07:23,980 --> 00:07:28,220 но како што видовме многу пати во текот на нашата видеа досега, 164 00:07:28,220 --> 00:07:30,460 ние програмери го сакам, ако можеме да се прават работите брзо, 165 00:07:30,460 --> 00:07:33,660 така да се ослободиме од тој простор очигледно е голема предност. 166 00:07:33,660 --> 00:07:34,800 >> Значи, тоа е, ако и elseif. 167 00:07:34,800 --> 00:07:37,540 Ние исто така имаат троичен оператор, потсетиме прашалник на дебелото црево, 168 00:07:37,540 --> 00:07:43,262 за навистина краток формулар ако друго или условно разгранување. 169 00:07:43,262 --> 00:07:45,470 И очигледно, во овој, што ние се обидуваме да го направите тука 170 00:07:45,470 --> 00:07:49,720 се додели на променлива $ писмо или вистинити или лажни, 171 00:07:49,720 --> 00:07:54,110 зависност од тоа дали $ var е азбучен карактер. 172 00:07:54,110 --> 00:07:57,320 Така што ова е прилично слична на isalpha дека ние сме запознаени со од В. 173 00:07:57,320 --> 00:07:59,010 Ова е вид на еквивалент во PHP. 174 00:07:59,010 --> 00:08:01,550 Функцијата е очигледно наречен ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 но тоа е како ние го направи тоа во PHP. 176 00:08:03,450 --> 00:08:08,560 Па сето ова е и ќе биде се, ако $ var е писмо, $ писмо е точно. 177 00:08:08,560 --> 00:08:13,820 Ако $ var не е писмо, $ писмо е лажна. 178 00:08:13,820 --> 00:08:15,820 >> Ние, исто така, имаат прекинувач изјави уште. 179 00:08:15,820 --> 00:08:17,870 Ние се потсетиме на оние од С, како и. 180 00:08:17,870 --> 00:08:22,480 Во самиот врв, таму, тоа е како тоа го правиме нешто како да стапите int или да добијат низа. 181 00:08:22,480 --> 00:08:23,845 Така што се PHP е вграден. 182 00:08:23,845 --> 00:08:25,470 Ние не треба CS50 библиотека веќе. 183 00:08:25,470 --> 00:08:27,237 Ние само може да ја користите функцијата readline. 184 00:08:27,237 --> 00:08:29,820 Она што се случува да направите е да се печати од пораката: "Вашата држава, 185 00:08:29,820 --> 00:08:33,820 Ве молиме, "а потоа трепка брзо чека на корисникот за да го внесете 186 00:08:33,820 --> 00:08:34,739 некои информации. 187 00:08:34,739 --> 00:08:36,530 Сега се забележи што друго можеме да направиме со прекинувачот. 188 00:08:36,530 --> 00:08:39,105 Ако сте го користеле порано, може да се сети дека прекинувачот 189 00:08:39,105 --> 00:08:44,960 е ограничена доста за цели броеви и знаци, но сега можеме да го користиме жици. 190 00:08:44,960 --> 00:08:50,190 И всушност, изјава на прекинувачот во PHP е сосема малку пофлексибилни 191 00:08:50,190 --> 00:08:54,880 од нејзината братучетка од В. 192 00:08:54,880 --> 00:08:55,380 Петелки. 193 00:08:55,380 --> 00:08:58,130 Исто како conditionals, сите Вашиот стар омилени се уште е таму. 194 00:08:58,130 --> 00:09:00,740 Имаме додека петелки, кои бројот од 1 до 100, во овој случај. 195 00:09:00,740 --> 00:09:03,940 Имаме направите додека петелки што се смета од 1 до 100, 196 00:09:03,940 --> 00:09:06,200 и ние имаме за петелки што се смета од 1 до 100. 197 00:09:06,200 --> 00:09:07,220 Па не и голем скок таму. 198 00:09:07,220 --> 00:09:09,360 Синтаксата е прилично многу исти, 199 00:09:09,360 --> 00:09:11,760 освен сега ние сме со користење Доларот променлива знак наместо 200 00:09:11,760 --> 00:09:17,260 за прогласување целобројни променливи или нешто слично за нашите шалтери. 201 00:09:17,260 --> 00:09:20,090 >> Тука е местото каде што нештата се многу подобро отколку Ц, иако. 202 00:09:20,090 --> 00:09:21,020 Низи. 203 00:09:21,020 --> 00:09:23,020 Така се потсетиме кога бевме Станува збор за Ц, со цел 204 00:09:23,020 --> 00:09:25,560 за нас да расте и се намалува комплети на информации, 205 00:09:25,560 --> 00:09:28,310 што ни е потребно да се најде решение за неплаќање со оваа идеја на поврзани листа, 206 00:09:28,310 --> 00:09:30,780 бидејќи С низи се фиксни во големина. 207 00:09:30,780 --> 00:09:31,800 Не можевме да ги намали. 208 00:09:31,800 --> 00:09:32,930 Ние не можевме да ги расте. 209 00:09:32,930 --> 00:09:36,074 Ние моравме да ги пренамени меморија и го направи сето ова лудило 210 00:09:36,074 --> 00:09:38,490 или користете поврзани листи, кои заземаат многу малку повеќе простор. 211 00:09:38,490 --> 00:09:41,590 Но, во PHP, низи се не се фиксни во големина повеќе. 212 00:09:41,590 --> 00:09:43,240 Тие може да расте и тие може да се намали. 213 00:09:43,240 --> 00:09:46,660 Значи, повторно, овие 20 години, кои постоеле Од првото издание на С 214 00:09:46,660 --> 00:09:49,440 и првата PHP ослободување, решивме дека, знаете, 215 00:09:49,440 --> 00:09:51,670 тоа ќе биде навистина голема ако би можеле да го направите тоа. 216 00:09:51,670 --> 00:09:54,100 И така ние се спроведува оваа. 217 00:09:54,100 --> 00:09:58,040 >> Па PHP низи не се фиксни во големина, и затоа што PHP навистина не 218 00:09:58,040 --> 00:10:03,090 имаат програмер пред се соочуваат со поими на видови, 219 00:10:03,090 --> 00:10:05,110 ние може да се меша типови на податоци во нашата низи, исто така. 220 00:10:05,110 --> 00:10:08,100 Значи, ние дури и не треба да ги користите сите цели броеви или сите лебдат поени, 221 00:10:08,100 --> 00:10:12,826 ние може да има микс на сите различни видови во една низа. 222 00:10:12,826 --> 00:10:14,700 Објавувајќи низа е прилично јасна. 223 00:10:14,700 --> 00:10:16,116 Тоа е само како и секоја друга променлива. 224 00:10:16,116 --> 00:10:20,020 $ nums = array (1, 2, 3, 4), низа се биде функција 225 00:10:20,020 --> 00:10:22,760 кој е изграден во PHP дека ќе се создаде низа за вас. 226 00:10:22,760 --> 00:10:28,315 Ова создава низа од четири вредности, броеви во овој случај, се нарекува $ nums. 227 00:10:28,315 --> 00:10:29,940 И има повеќе од еден начин да го направи тоа. 228 00:10:29,940 --> 00:10:32,420 И ние ќе треба да види овој многу во PHP. 229 00:10:32,420 --> 00:10:36,380 PHP е развиена од страна на многу различни луѓе и расте и расте и расте. 230 00:10:36,380 --> 00:10:40,050 Има обично не две- три начини да се направи нешто во PHP, 231 00:10:40,050 --> 00:10:42,170 има обично како 10 или 20. 232 00:10:42,170 --> 00:10:45,300 Тука е само уште еден заеднички начин да се изјаснат за низа. 233 00:10:45,300 --> 00:10:48,310 $ nums = квадратни Држач за 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Значи ова е вид на слични на агол С br-- кадрава заграда нотација, наместо. $ - 235 00:10:53,170 --> 00:10:58,525 или тоа ќе биде int nums плоштад загради е еднаква на кадрава заграда 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 Во PHP е $ nums = плоштад загради, 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Но, и двете од овие примери тука да ми даде низа од четири во овој случај цели броеви. 238 00:11:08,920 --> 00:11:10,920 >> Што ако сакам да тактика нешто сега? 239 00:11:10,920 --> 00:11:14,760 Па јас само може да се каже $ nums 4, кои повторно, ние сме сè уште сметајќи од 0 овде 240 00:11:14,760 --> 00:11:17,800 во PHP, ќе биде петтиот елемент од низата. 241 00:11:17,800 --> 00:11:18,990 Јас само може да се каже тоа. 242 00:11:18,990 --> 00:11:22,860 Јас не одам за да страдаат од секунда вина, затоа што мојот е само низа 243 00:11:22,860 --> 00:11:24,337 ќе расте за да се приспособат тоа. 244 00:11:24,337 --> 00:11:25,420 Тоа е прилично добро, нели? 245 00:11:25,420 --> 00:11:28,400 И всушност, јас дури и не треба да се наведете каде што сакате да го стави. 246 00:11:28,400 --> 00:11:31,220 Јас само може да се каже ова и само таа тактика десно за да на крајот, 247 00:11:31,220 --> 00:11:34,099 или би можел дури и само речеме $ nums 20 или 1.000. 248 00:11:34,099 --> 00:11:35,140 Тоа навистина не е важно. 249 00:11:35,140 --> 00:11:38,330 Тоа е уште само ќе таа тактика право до крај. 250 00:11:38,330 --> 00:11:41,490 >> За да можам да расте, и ние сме as-- нема да го покрие во тука, 251 00:11:41,490 --> 00:11:45,360 но можам да се сплетка или лента елементи од низата, како и, 252 00:11:45,360 --> 00:11:50,064 и низа ќе се намали за да се приспособат дека сега празен или простор. 253 00:11:50,064 --> 00:11:52,230 Постои друг начин да се тактика нешто врз низа, 254 00:11:52,230 --> 00:11:54,330 кој е на функција наречена array_push. 255 00:11:54,330 --> 00:11:57,860 Значи, повторно, само оваа идеја да се биде можност да се прават работите на многу различни начини. 256 00:11:57,860 --> 00:12:01,950 Така што сум го видел три различни начини сега да тактика уште еден елемент врз низа. 257 00:12:01,950 --> 00:12:06,900 Па ова додава уште еден елемент до крајот на низа $ nums. 258 00:12:06,900 --> 00:12:08,340 И ние може да се измеша нашите типови на податоци. 259 00:12:08,340 --> 00:12:13,110 Па можев да имаат низа на не 1, 2, 3, 4, но 1, точно, 3, 4, 260 00:12:13,110 --> 00:12:16,420 каде точно е Булова, а потоа ако сакам да тактика на друг елемент 261 00:12:16,420 --> 00:12:20,860 за таа низа, можеби еден конец, стрингот "пет", би можел да го направи тоа. 262 00:12:20,860 --> 00:12:26,110 И сега ми низата би биде 1, тоа е вистина, 3, 4, пет. 263 00:12:26,110 --> 00:12:28,640 Зборот пет, а не на цел број 5. 264 00:12:28,640 --> 00:12:31,270 Толку многу флексибилност таму. 265 00:12:31,270 --> 00:12:33,290 >> Флексибилност добива дури и подобро, иако, 266 00:12:33,290 --> 00:12:37,530 затоа што се PHP е поддршка за нешто наречен асоцијативна низа. 267 00:12:37,530 --> 00:12:40,660 И ние вид на нејасно зборуваше за асоцијативни низи во С 268 00:12:40,660 --> 00:12:44,740 во контекст на хаш маси, бидејќи она асоцијативни низи се навистина сите 269 00:12:44,740 --> 00:12:48,950 за се што клучните мапирање вредност пар. 270 00:12:48,950 --> 00:12:53,410 И во овој случај, ако keys-- ние сме запознаени со низи од C, 271 00:12:53,410 --> 00:12:55,440 копчињата се индексни броеви. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 И вредностите се она што сметаме дека Низа 0, 1 низа, низа 2, и така натаму. 274 00:13:03,070 --> 00:13:06,310 Така што копчињата се индексира, и вредностите се 275 00:13:06,310 --> 00:13:10,060 она што е во таа локација низа, утврдени со тој индекс. 276 00:13:10,060 --> 00:13:15,130 >> Но, во PHP, ние не треба да го направите тоа Поимот на низа 0, 1 низа, низа 2 277 00:13:15,130 --> 00:13:15,830 веќе. 278 00:13:15,830 --> 00:13:21,025 Сега можеме да го користиме вистинските зборови за да на сајтот клучевите на вредности. 279 00:13:21,025 --> 00:13:22,650 И така да можам да кажам нешто како ова. 280 00:13:22,650 --> 00:13:26,710 Можев да се создаде низа со користење на квадратни заградата синтакса како што следува. 281 00:13:26,710 --> 00:13:30,685 $ пици = квадратни заградата "сирење" и потоа 282 00:13:30,685 --> 00:13:37,210 овој вид на двојна стрелка нотација, 8.99 ", феферони," arrow 10.99-- 9,99, 283 00:13:37,210 --> 00:13:37,880 и така натаму. 284 00:13:37,880 --> 00:13:39,060 И така што се случува овде? 285 00:13:39,060 --> 00:13:41,040 Што сум јас, всушност, се прави? 286 00:13:41,040 --> 00:13:43,990 Јас сум создавање клучните мапирање вредност пар. 287 00:13:43,990 --> 00:13:49,060 Па наместо да се каже, на пример, пици 0, 1 парчиња, пици 2, 288 00:13:49,060 --> 00:13:52,350 Сега можам да кажам пици сирење, пици феферони, 289 00:13:52,350 --> 00:13:55,120 а се однесуваат на вредности поврзани со нив. 290 00:13:55,120 --> 00:13:56,970 >> Значи тука се нашите клучеви во зелена боја. 291 00:13:56,970 --> 00:13:59,870 Сирење, феферони, зеленчук, бафало пилешко. 292 00:13:59,870 --> 00:14:04,200 Еве на стрелката што го прави оваа клучна мапирање вредност пар. 293 00:14:04,200 --> 00:14:07,420 И тогаш тука се и вредностите на тоа место низа. 294 00:14:07,420 --> 00:14:10,330 Така, тоа е како да кажеш низа 0 еднакво на 8.99. 295 00:14:10,330 --> 00:14:11,720 Клучот е 0. 296 00:14:11,720 --> 00:14:13,600 Вредноста е 8,99. 297 00:14:13,600 --> 00:14:19,370 Сега можам да кажам низа сирење, или во овој случај пици сирење, кашкавал е клучот, 298 00:14:19,370 --> 00:14:23,340 и она што го најдете на пици сирење е 8,99. 299 00:14:23,340 --> 00:14:25,540 Тоа е вредност за која сметам дека таму. 300 00:14:25,540 --> 00:14:28,124 >> Па можам да кажам нешто како. $ пица сирење = 7.99. 301 00:14:28,124 --> 00:14:29,040 Велат дека јас сум имаат продажба. 302 00:14:29,040 --> 00:14:31,750 Сакам dis-- Сакам да се откажат од цената на пица сирење. 303 00:14:31,750 --> 00:14:35,620 Или јас да го користите зеленчук пица, како дел на состојба, 304 00:14:35,620 --> 00:14:39,990 или можам да додадете нов елемент во мојата низа, исто како и јас не можеше да стори претходно. 305 00:14:39,990 --> 00:14:44,680 Јас може да додадете нов елемент на оваа асоцијативна низа со клучот "сланина" 306 00:14:44,680 --> 00:14:49,250 и вредноста 13.49. 307 00:14:49,250 --> 00:14:53,820 >> Но, овој вид претставува проблем, ако мислите дека за тоа за една секунда. 308 00:14:53,820 --> 00:14:55,721 Како ќе iterate преку оваа низа? 309 00:14:55,721 --> 00:14:56,220 Нели? 310 00:14:56,220 --> 00:14:59,820 Во C, ние само ќе има за телефонска линија, обично, дека 311 00:14:59,820 --> 00:15:03,650 ќе се кандидира од 0 до големината на низата минус 1. 312 00:15:03,650 --> 00:15:08,060 Низата има n елементи во, на валидни индекси се 0 до n 1 минус. 313 00:15:08,060 --> 00:15:11,530 Па ние може да се користи за да се јамка чекор низ секој елемент. 314 00:15:11,530 --> 00:15:13,530 >> Но, тоа не е навистина случај веќе, нели? 315 00:15:13,530 --> 00:15:17,360 Сега каде што имаме пар клучеви вредност мапирање каде се клучевите зборови, 316 00:15:17,360 --> 00:15:19,970 како ние да iterate во текот на сите на зборови? 317 00:15:19,970 --> 00:15:22,420 Па, за среќа, PHP има начин да се справи со тоа исто така, 318 00:15:22,420 --> 00:15:24,580 и така ќе скокне назад да петелки за втор 319 00:15:24,580 --> 00:15:30,780 да се воведе четврти вид на јамка што постои во PHP нарекува foreach јамка. 320 00:15:30,780 --> 00:15:34,430 И што е foreach јамка прави е тоа е во основа иста идеја. 321 00:15:34,430 --> 00:15:36,060 Можете да го користите за било каков вид на низа. 322 00:15:36,060 --> 00:15:38,100 Но, тоа е во основа истата идеја како за телефонска линија, 323 00:15:38,100 --> 00:15:40,750 освен наместо да се користат индексни броеви, само 324 00:15:40,750 --> 00:15:45,830 имаат овој чуден синтакса каде ќе се јавите секој елемент 325 00:15:45,830 --> 00:15:47,550 име за потребите на овој циклус. 326 00:15:47,550 --> 00:15:49,258 >> Значи во овој случај, foreach ($ низа како $ клуч). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Во суштина, како што коментар белешки, внатре во тоа foreach циклусот, 329 00:15:56,450 --> 00:16:00,466 тоа се случува да одам во текот на секој елемент на $ низа, што е типично 330 00:16:00,466 --> 00:16:03,340 ќе биде асоцијативна низа, но навистина може да биде било каков вид на низа 331 00:16:03,340 --> 00:16:05,419 што сакате во PHP. 332 00:16:05,419 --> 00:16:07,210 И секој пат дека во за телефонска линија можеби ќе 333 00:16:07,210 --> 00:16:13,780 рекоа $ низа квадратни загради $ i, може само да се каже $ клуч. 334 00:16:13,780 --> 00:16:22,340 Така што $ клучните станува алијас за секој индекс на вашиот PHP асоцијативна низа, 335 00:16:22,340 --> 00:16:23,710 и така можете да го користите како што. 336 00:16:23,710 --> 00:16:25,897 >> Така на пример, ние сме сега доби нашите пици низа. 337 00:16:25,897 --> 00:16:27,730 Јас сум вид на тоа напика во аголот таму 338 00:16:27,730 --> 00:16:31,080 за да можеме да го користите за да го направите брзо пример. 339 00:16:31,080 --> 00:16:36,420 Ако кажам foreach ($ пици како $ пица), добро, што се случува? 340 00:16:36,420 --> 00:16:42,400 Па, јас ќе одам да iterate преку секоја еден елемент на низа $ пици на, 341 00:16:42,400 --> 00:16:46,670 и со тоа, јас ќе одам да се јавите секој елемент, кога сум во внатрешноста 342 00:16:46,670 --> 00:16:49,400 на телото на кои за телефонска линија, $ пица. 343 00:16:49,400 --> 00:16:52,440 >> Значи тоа е еден вид на стенд-во, да се потсетиме, дека $ пица 344 00:16:52,440 --> 00:16:59,140 е стенд-во за велејќи $ пици квадратни загради $ i 345 00:16:59,140 --> 00:17:03,370 ако бевме користење за телефонска линија, каде што би можеле да одат од $ i = 0 за да се, во овој случај, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 Ако немавме клучните вредност парови тука, ова ќе биде елемент на 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 и ние ќе го користи за телефонска линија да се оди пици $ 0, пици $ 1, $ 2 пици, 349 00:17:16,390 --> 00:17:17,750 $ пици 3. 350 00:17:17,750 --> 00:17:23,130 Па сега само $ пица е замена за таа поединечна клуч. 351 00:17:23,130 --> 00:17:25,630 >> Значи она што е ова се случува да се печати? 352 00:17:25,630 --> 00:17:29,030 Јас сум печатење $ пица. 353 00:17:29,030 --> 00:17:35,270 Што сум јас ќе најдете at-- ако јас се печати $ пици, $ i? 354 00:17:35,270 --> 00:17:35,770 Нели? 355 00:17:35,770 --> 00:17:38,680 Ако јас одам да се печати на о елемент на пици, 356 00:17:38,680 --> 00:17:40,070 она што сум јас ќе ја печати? 357 00:17:40,070 --> 00:17:42,580 Одам да се печати од вредности на тоа место, нели? 358 00:17:42,580 --> 00:17:45,370 Како да сме биле прави ова во контекст на Ц, 359 00:17:45,370 --> 00:17:49,786 вообичаено не ги користат нашите iterator променлива, int i = 0, i е помал од 3, 360 00:17:49,786 --> 00:17:52,900 i ++, за печатење на 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Ние сме печатење низа 0, 1 низа, низа 2, 3 низа. 362 00:17:57,500 --> 00:17:59,580 И така, ова отпечатоци е ова. 363 00:17:59,580 --> 00:18:01,150 Ова е листа на цени. 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 >> Сега брзо белешка овде. 366 00:18:06,900 --> 00:18:10,900 А foreach јамка не мора печатење на работите во ред. 367 00:18:10,900 --> 00:18:12,770 Тоа не е загарантирана. 368 00:18:12,770 --> 00:18:13,550 Тоа обично се прави. 369 00:18:13,550 --> 00:18:17,667 Тоа е обично врз основа на наредба на кои елементи се додадени во низа, 370 00:18:17,667 --> 00:18:18,750 па само носат тоа на ум. 371 00:18:18,750 --> 00:18:20,830 Тоа не може да биде во ред. 372 00:18:20,830 --> 00:18:23,930 Но foreach јамка ќе iterate низ секој елемент 373 00:18:23,930 --> 00:18:25,060 на низата во прашање. 374 00:18:25,060 --> 00:18:27,980 Во овој случај, повторно, таа низа е $ пици. 375 00:18:27,980 --> 00:18:32,920 >> Јас може да се промени на синтаксата, иако, ако Сакам двете клучот и вредност. 376 00:18:32,920 --> 00:18:37,179 Наместо да се каже $ пици како $ пица, можам да го кажам ова. 377 00:18:37,179 --> 00:18:39,470 И ако се погледне во она што сум подвлечени во зелено тука, 378 00:18:39,470 --> 00:18:42,130 тоа изгледа како клучен мапирање вредност пар. 379 00:18:42,130 --> 00:18:45,980 И така, ако you-- дури и ако не се целосно сигурни дека она што се случува да се направи, 380 00:18:45,980 --> 00:18:49,300 што веројатно може да се погоди дека $ прелив се случува 381 00:18:49,300 --> 00:18:53,800 да биде клучен во овој случај и $ цена се случува да биде на вредноста. 382 00:18:53,800 --> 00:18:59,200 Па јас сум замена сега секој елемент од $ пици како клучен пар вредност, 383 00:18:59,200 --> 00:19:03,900 и сега можам да се однесуваат на клучните и вредноста, кои би можеле да се најде, 384 00:19:03,900 --> 00:19:05,590 на пример, како што следува. 385 00:19:05,590 --> 00:19:10,170 >> "Целина" - ова е многу печатење случува here-- "целина" 386 00:19:10,170 --> 00:19:17,300 полнењето "пица чини $" цена, а потоа Јас се печати една период и обратна коса црта n. 387 00:19:17,300 --> 00:19:23,420 Па сега, најава повторно имаат пристап до клуч, $ прелив и вредност, $ цена. 388 00:19:23,420 --> 00:19:26,647 Па може да се погоди што е ова се случува да се печати? 389 00:19:26,647 --> 00:19:29,480 Има многу на печатени извештаи, но има само една обратна коса црта n, 390 00:19:29,480 --> 00:19:33,410 па затоа се случува да се печати нешто на една entire-- на една линија код. 391 00:19:33,410 --> 00:19:36,965 >> Ако можам да се однесуваат на клучните и вредноста, тогаш и сега, 392 00:19:36,965 --> 00:19:39,090 наместо само да биде во можност за печатење на цените, 393 00:19:39,090 --> 00:19:41,330 Јас може да се печати од нешто како ова. 394 00:19:41,330 --> 00:19:43,780 "Цела сирење пица чини 8,99 $." 395 00:19:43,780 --> 00:19:47,150 И сега јас сум со користење на сите на keys-- сирење, феферони, зеленчук, 396 00:19:47,150 --> 00:19:49,640 бивол chicken-- и вредностите. 397 00:19:49,640 --> 00:19:53,980 8.99, 9.99, 10.99, 11.99 Па тоа е само на еден поинаков начин 398 00:19:53,980 --> 00:19:57,840 да се направи foreach јамка дека наместо само ви дава пристап до вредностите, 399 00:19:57,840 --> 00:20:02,950 тоа само дава you-- тоа ви дава пристап на клучеви и вредности. 400 00:20:02,950 --> 00:20:04,411 >> Па печатење информации. 401 00:20:04,411 --> 00:20:07,410 Јас веќе го сториле тоа за неколку различни начини, може да се забележи. 402 00:20:07,410 --> 00:20:11,080 Двете функции ние сме првенствено видел се печати и ехо. 403 00:20:11,080 --> 00:20:14,380 И за доста сите намерите и цели, тие се сосема исти. 404 00:20:14,380 --> 00:20:17,130 They're-- Има еден многу суптилен разлика што не е дури вреди 405 00:20:17,130 --> 00:20:21,130 навлегува во, но во основа насекаде можете да го користите за печатење што веројатно може да се користи 406 00:20:21,130 --> 00:20:22,370 ехо, како и. 407 00:20:22,370 --> 00:20:23,610 >> И тоа не е само две. 408 00:20:23,610 --> 00:20:26,970 PHP има многу различни начини да се печати работи надвор, 409 00:20:26,970 --> 00:20:30,520 а исто така има начини да се интегрираат променливи во средината на стрингот. 410 00:20:30,520 --> 00:20:32,860 Така се потсетиме од Ц, го прават сетам што функција 411 00:20:32,860 --> 00:20:37,580 може да се користат за замена на променливи во работите што сакате да испечатите? 412 00:20:37,580 --> 00:20:40,160 Најверојатно го користат овој функционираат доста. 413 00:20:40,160 --> 00:20:42,290 printf, нели? 414 00:20:42,290 --> 00:20:45,290 Значи ова е она што го имавме пред внатре од контекстот на нашата foreach јамка. 415 00:20:45,290 --> 00:20:48,000 Имавме овие пет одделни изјави за печатење, 416 00:20:48,000 --> 00:20:50,330 затоа што тоа е единствениот начинот на кој јас навистина знаеше во тоа време 417 00:20:50,330 --> 00:20:52,450 како да се печати пораки. 418 00:20:52,450 --> 00:20:59,560 Не знаев како да се интегрираат Променливата $ полнењето во мојата PHP код. 419 00:20:59,560 --> 00:21:03,700 Па, ако јас само преземени диви се погоди, printf, тоа всушност би работеле. 420 00:21:03,700 --> 00:21:08,980 printf е функција што можам да го користам во PHP, исто како и јас да го користите во В. 421 00:21:08,980 --> 00:21:11,880 >> И така нешто како ова, printf, еднаш, ние сме запознаени со тоа. 422 00:21:11,880 --> 00:21:16,420 Првиот% s се заменува со вредност од $ прелив. 423 00:21:16,420 --> 00:21:19,700 Второто% s се заменува со вредност од $ цена. 424 00:21:19,700 --> 00:21:22,630 И така јас interpellating, кој е само стилизиран начин 425 00:21:22,630 --> 00:21:25,400 да се каже јас сум држејќи се за варијабли во таа локација. 426 00:21:25,400 --> 00:21:31,000 Па јас сум приклучување $ полнењето каде црвена% s и $ цена која сината% s 427 00:21:31,000 --> 00:21:36,060 е, а потоа јас ќе ја добие пораката, "Цела сирење пица чини 8,99 $." 428 00:21:36,060 --> 00:21:37,750 >> Не е единствениот начин на кој можам да го направи тоа, иако. 429 00:21:37,750 --> 00:21:39,760 Можеби ќе сакате да го користите овој метод. 430 00:21:39,760 --> 00:21:44,890 Ова е всушност она што е најчесто наречен променлива интерпелацијата. 431 00:21:44,890 --> 00:21:45,690 Можам да го користам ехо. 432 00:21:45,690 --> 00:21:47,737 Јас може да се користи за печатење премногу, како што ќе видиме. 433 00:21:47,737 --> 00:21:48,820 Но, она што се случува овде? 434 00:21:48,820 --> 00:21:51,520 >> Прво на сите, јас треба да избега знакот за долар. 435 00:21:51,520 --> 00:21:55,140 Бидејќи се сеќавам, кога сме биле, всушност, печатење на цените на пици, 436 00:21:55,140 --> 00:21:59,370 Бев всушност ги форматирање како монетарната фигури со знак за долар. 437 00:21:59,370 --> 00:22:05,635 Но, ние сме со користење долар знаци, исто така, да претставуваат променлива имиња во PHP, 438 00:22:05,635 --> 00:22:08,010 а особено кога сум користење на овој метод на кадрава 439 00:22:08,010 --> 00:22:10,040 заграда променлива метод интерпелацијата, ми треба 440 00:22:10,040 --> 00:22:13,490 да избега мојот знак за долар, па тоа не мислам јас зборувам за променлива. 441 00:22:13,490 --> 00:22:16,920 Тоа се случува да се, всушност, буквално се печати знакот за долар. 442 00:22:16,920 --> 00:22:19,530 >> Толку вид да го analogize она што го гледате на крајот таму. 443 00:22:19,530 --> 00:22:22,832 Тоа всушност не печати обратна коса црта n, нели? 444 00:22:22,832 --> 00:22:24,290 Тоа отпечатоци од нова линија карактер. 445 00:22:24,290 --> 00:22:26,750 Оваа is-- тоа не се случува да го печати коса црта знакот за долар, 446 00:22:26,750 --> 00:22:30,130 тоа се случува да се печати само знак за долар карактер. 447 00:22:30,130 --> 00:22:30,640 Истата идеја. 448 00:22:30,640 --> 00:22:32,760 Избега секвенци, она што овие работи се нарекува. 449 00:22:32,760 --> 00:22:37,080 >> Но забележите дека јас не сум тоа било кој вид на% s замени, 450 00:22:37,080 --> 00:22:40,050 Јас сум само буквално приклучување во овие променливи. 451 00:22:40,050 --> 00:22:45,110 И така во this-- што ќе се случи тука е дека вредноста на $ topping-- повторно, 452 00:22:45,110 --> 00:22:48,390 само согласност со она што ние сме биле Станува збор за толку far-- сирење ќе добијат 453 00:22:48,390 --> 00:22:49,720 вклучени таму. 454 00:22:49,720 --> 00:22:54,780 И $ цена ќе биде она што вредност е на пици, загради, сирење, 455 00:22:54,780 --> 00:22:56,270 која беше 8,99. 456 00:22:56,270 --> 00:23:01,860 И така ова исто така ќе се печати "Цела сирење пица чини 8,99 $." 457 00:23:01,860 --> 00:23:05,160 И како што реков, јас може да се користи печати тука, наместо на ехо, 458 00:23:05,160 --> 00:23:08,040 и функционалност да биде прилично многу исти. 459 00:23:08,040 --> 00:23:09,660 Тоа ќе се печати од истото. 460 00:23:09,660 --> 00:23:12,680 >> Постои друг начин да го направи тоа, и ова е уште една предност 461 00:23:12,680 --> 00:23:14,710 на PHP работи со жици. 462 00:23:14,710 --> 00:23:17,130 Ние можеме да правиме низа сплет. 463 00:23:17,130 --> 00:23:19,660 Ние би можеле да го направите тоа во Ц, исто така, со користење на функција наречена strcat, 464 00:23:19,660 --> 00:23:21,180 Но, повторно, моравме да јавете се одделни функции. 465 00:23:21,180 --> 00:23:22,640 Тоа беше целата оваа збрка да се направи. 466 00:23:22,640 --> 00:23:24,590 Ние моравме да ги фунта-вклучуваат string.h. 467 00:23:24,590 --> 00:23:25,780 Тоа е производство, нели? 468 00:23:25,780 --> 00:23:30,070 Но сега јас само може да се користи оваа точка операторот да concatenate жици заедно. 469 00:23:30,070 --> 00:23:34,910 >> Па јас сум concatenating "целина" и тогаш без оглед на вредноста на $ прелив е, 470 00:23:34,910 --> 00:23:38,860 а потоа уште стринг, "трошоци пица $" 471 00:23:38,860 --> 00:23:42,340 а потоа било concatenating вредноста на $ цената е, 472 00:23:42,340 --> 00:23:45,670 а потоа и на самиот крај јас сум tacking на периодот обратна коса црта n. 473 00:23:45,670 --> 00:23:47,926 Па така ова исто така, би печати "во целост" - повторно, 474 00:23:47,926 --> 00:23:50,550 ако зборуваме за првиот елемент на таа пици array-- 475 00:23:50,550 --> 00:23:54,710 "Цела сирење пица чини 8,99 $." 476 00:23:54,710 --> 00:24:01,260 Период, обратна коса црта n, повторно, со на $ прелив и $ цена замена 477 00:24:01,260 --> 00:24:06,580 за она што го имавме е наведено во нашиот foreach јамка како клучни мапирање вредноста пар. 478 00:24:06,580 --> 00:24:08,050 >> PHP може да се справи со функции. 479 00:24:08,050 --> 00:24:11,250 Функции беа вид на составен дел на Ц, како што видовме. 480 00:24:11,250 --> 00:24:14,870 Како променливи, ние не треба да се наведете го видот враќање на функцијата, 481 00:24:14,870 --> 00:24:16,350 затоа што тоа не е важно. 482 00:24:16,350 --> 00:24:18,660 И ние не се определи типови на податоци на било какви параметри, 483 00:24:18,660 --> 00:24:21,410 затоа што тие не се навистина материја, како што видовме во PHP. 484 00:24:21,410 --> 00:24:24,510 Секоја функција е воведен со функцијата на клучни зборови. 485 00:24:24,510 --> 00:24:27,920 Тоа е како ние се покаже дека во PHP она што ние зборуваме за тоа е во функција. 486 00:24:27,920 --> 00:24:29,720 >> И ние не треба да се се справи со главните на сите, 487 00:24:29,720 --> 00:24:33,690 бидејќи преведувач, PHP преведувач, дела од врвот до дното, 488 00:24:33,690 --> 00:24:34,190 без разлика. 489 00:24:34,190 --> 00:24:35,640 Доколку смета дека може да се направи повик на функција, тоа ќе 490 00:24:35,640 --> 00:24:37,850 одат најдете на повик на функција, дури и ако тоа доаѓа подоцна. 491 00:24:37,850 --> 00:24:40,360 Но, тоа се случува да се прочита од врвот до дното, така што не треба да се определи, 492 00:24:40,360 --> 00:24:41,500 Еве каде да почне. 493 00:24:41,500 --> 00:24:46,700 Ви започне на алинеја 1 на вашиот PHP и работи надолу од таму. 494 00:24:46,700 --> 00:24:49,690 >> Значи тука е како ние ќе се создаде функција наречена hard_square. 495 00:24:49,690 --> 00:24:54,100 Тоа очигледно зема една параметар, кој јас го повикувам $ x. 496 00:24:54,100 --> 00:24:58,424 Оваа функција е комплицирано само за да се илустрира на различни работи. 497 00:24:58,424 --> 00:24:59,590 Ние се уште имаат врати вредности. 498 00:24:59,590 --> 00:25:00,870 Јас сум со користење за телефонска линија тука. 499 00:25:00,870 --> 00:25:04,970 Но, тоа е во основа, само, што е ова се сведува на е само $ $ x x пати. 500 00:25:04,970 --> 00:25:10,520 Она што јас го прават всушност е само додавање х х 0 пати или $ x на нула $ x пати. 501 00:25:10,520 --> 00:25:15,850 Но тоа е ефикасно точно исто како множење $ x пати $ x. 502 00:25:15,850 --> 00:25:18,700 Јас се уште може врати на вредност, $ резултат во овој случај, 503 00:25:18,700 --> 00:25:22,060 и јас сум направил некоја функција во PHP. 504 00:25:22,060 --> 00:25:24,160 >> Еве како можете да ја користите во контекст. 505 00:25:24,160 --> 00:25:26,020 Па можеби и јас сум во внатрешноста на некои PHP фајл. 506 00:25:26,020 --> 00:25:29,240 Известување во сино таму дека Јас сум користел Раздели мојата PHP, 507 00:25:29,240 --> 00:25:31,010 аглеста заграда прашалник PHP. 508 00:25:31,010 --> 00:25:35,180 Помеѓу оние кои се на сите на PHP дека сакам да пишувам. 509 00:25:35,180 --> 00:25:37,840 Па јас сум очигледно ќе get-- Одам да го извести корисникот 510 00:25:37,840 --> 00:25:41,550 да ми даде број, продавница, во којашто променлива, продавница во која Променливата $ x, 511 00:25:41,550 --> 00:25:43,320 она што ми го дадоа. 512 00:25:43,320 --> 00:25:48,590 Тогаш јас ќе одам да се одгласува hard_square од таа вредност, 513 00:25:48,590 --> 00:25:50,370 и очигледно ќе да тактика на нова линија 514 00:25:50,370 --> 00:25:53,590 како и, а потоа подоцна јас ќе дефинирање на функција, така hard_square 515 00:25:53,590 --> 00:25:55,550 дека кога ќе се направи јавам да hard_square, 516 00:25:55,550 --> 00:25:58,160 тоа го знае она што јас го зборувам. 517 00:25:58,160 --> 00:26:00,705 >> Сега, јас, исто така, би можело да се направи нешто како ова. 518 00:26:00,705 --> 00:26:02,050 Ова е малку поинаква. 519 00:26:02,050 --> 00:26:04,190 Тоа е речиси точно исто како и она што го видовме досега, 520 00:26:04,190 --> 00:26:08,400 освен наместо да се каже само $ x таму како параметар за да hard_square, 521 00:26:08,400 --> 00:26:11,730 Сакам да кажам дека $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Значи ова е пример за дефанзивна програмирање, 523 00:26:14,330 --> 00:26:17,070 чува вашите програми против малициозни корисници. 524 00:26:17,070 --> 00:26:20,020 >> Ова е еден начин да се направи некои грешки проверка дали ние навистина не 525 00:26:20,020 --> 00:26:24,670 има како опција во В. Ние никогаш не може наведете на стандардната вредност на нешто. 526 00:26:24,670 --> 00:26:27,010 Ние секогаш треба да го проверат дали, на пример, 527 00:26:27,010 --> 00:26:30,820 ако се направи повик до GetString, тоа беше најправилно доколку веднаш откако ќе 528 00:26:30,820 --> 00:26:33,300 провери тоа, ние се провери дали стрингот 529 00:26:33,300 --> 00:26:35,504 дека корисникот ни даде не е еднаков на нула, 530 00:26:35,504 --> 00:26:37,920 бидејќи ние не сакаме да се започне работи со нула низа. 531 00:26:37,920 --> 00:26:39,670 >> Ете, тоа е начин да се заштитат од тоа. 532 00:26:39,670 --> 00:26:43,480 Ако корисникот не ни даваат нешто на некој начин, што ќе правиме? 533 00:26:43,480 --> 00:26:46,080 Па, ние само ќе се каже она што тие не ни даваат, 534 00:26:46,080 --> 00:26:47,705 ние сме само ќе го приклучиш во 10, наместо. 535 00:26:47,705 --> 00:26:52,030 Значи, ако тие не ни даде вредност, само го користите 10 по дифолт. И така тука, 536 00:26:52,030 --> 00:26:53,940 забележите дека јас сум одлуки на повик да hard_square, 537 00:26:53,940 --> 00:26:55,980 но не постои брза на корисникот, така? 538 00:26:55,980 --> 00:26:57,540 Јас сум само се прават празен повик. 539 00:26:57,540 --> 00:27:00,860 >> Но мојата функција hard_square очекува параметар. 540 00:27:00,860 --> 00:27:02,222 Што е ова се случува да се печати? 541 00:27:02,222 --> 00:27:03,680 Тоа се случува да се печати од 100, нели? 542 00:27:03,680 --> 00:27:05,720 Бидејќи корисникот не ми даде ништо. 543 00:27:05,720 --> 00:27:08,970 И така јас сум само ќе да се претпостави дека 10-- 10 е преддефинирана вредност. 544 00:27:08,970 --> 00:27:13,760 И така ова ќе се печати од 100 на посебна линија. 545 00:27:13,760 --> 00:27:16,390 >> PHP датотеки не треба да се биде само една датотека. 546 00:27:16,390 --> 00:27:19,480 Може да се комбинираат повеќе датотеки заедно, исто како што можете да во В. начин 547 00:27:19,480 --> 00:27:24,330 сме го правеле тоа во C е вообичаено да се направи # Include да се добие насловот датотеки влечат. 548 00:27:24,330 --> 00:27:26,180 Ние не го сторат тоа во PHP. 549 00:27:26,180 --> 00:27:29,110 Правиме нешто што се нарекува require_once. 550 00:27:29,110 --> 00:27:33,360 И потоа, тука е целата оваа работа, што е ова __dir__? 551 00:27:33,360 --> 00:27:36,510 Тоа е само за посебна променлива, или посебен константна, 552 00:27:36,510 --> 00:27:39,030 Навистина, што го одредува она што Вашата моментална директориум е. 553 00:27:39,030 --> 00:27:41,320 И така тоа се случува да се погледне во тековниот директориум 554 00:27:41,320 --> 00:27:44,900 за датотека наречена cs50.php Во овој пример, тука, 555 00:27:44,900 --> 00:27:50,490 и тоа се случува да се држиме таа датотека на врвот на вашиот PHP програма, 556 00:27:50,490 --> 00:27:56,980 под претпоставка дека ќе се стави на бара еднаш линија на врвот на вашиот PHP фајл. 557 00:27:56,980 --> 00:28:01,474 >> Па PHP е првенствено се користи, но не се користат исклучиво, 558 00:28:01,474 --> 00:28:03,140 како јазик за веб-базирани програмирање. 559 00:28:03,140 --> 00:28:05,270 Тоа е навистина како дошло до тоа да биде. 560 00:28:05,270 --> 00:28:06,980 Но, тоа е целосна јазик, како што видовме. 561 00:28:06,980 --> 00:28:10,105 Видовме доста сите нешта дека тоа може да го направи, кои се слични на C, 562 00:28:10,105 --> 00:28:13,290 а тоа може да се направи еден подлец на многу повеќе од тоа. 563 00:28:13,290 --> 00:28:16,950 >> Но, бидејќи тоа е целосна јазик и ние може да направи линија програмирање команда во неа. 564 00:28:16,950 --> 00:28:18,630 Можеме да се кандидира програми командната линија. 565 00:28:18,630 --> 00:28:22,580 Се што е потребно да извршите команда линија програма која е напишана во PHP 566 00:28:22,580 --> 00:28:24,260 е тоа што имаш PHP преведувач. 567 00:28:24,260 --> 00:28:27,460 Така, тоа е вид на аналогно има компајлерот на вашиот систем 568 00:28:27,460 --> 00:28:31,100 ако сакате да го компајлирате вашиот C код да ја претвори во извршна датотека. 569 00:28:31,100 --> 00:28:33,810 Што треба да се има на PHP преведувач што постои на вашиот систем 570 00:28:33,810 --> 00:28:37,330 така што ќе може да ги интерпретира PHP датотеки. 571 00:28:37,330 --> 00:28:40,370 >> Претпоставувајќи го, и обично оваа преведувач се нарекува PHP, 572 00:28:40,370 --> 00:28:44,300 и тоа е обично во комплет со повеќето преземања или инсталации на PHP 573 00:28:44,300 --> 00:28:47,430 дека можете да добиете на интернет, и, секако, името на PHP преведувач 574 00:28:47,430 --> 00:28:49,550 имаме во CS50, ИРО. 575 00:28:49,550 --> 00:28:51,819 Сите да направите е тип php фајл. 576 00:28:51,819 --> 00:28:53,610 И она што вашата програма случува да се направи е тоа е 577 00:28:53,610 --> 00:28:55,360 случува да се кандидира преку толкувачот, тоа е 578 00:28:55,360 --> 00:28:58,040 случува да се игнорираат сè што е не е во прашање меѓу mark-- 579 00:28:58,040 --> 00:29:03,160 или, аглеста заграда прашалник PHP, Раздели на PHP и го испечатите, 580 00:29:03,160 --> 00:29:07,660 и тоа ќе се протолкува и да се изврши код во внатрешноста на вашиот Раздели PHP. 581 00:29:07,660 --> 00:29:12,850 >> Значи, да се појави во текот на CS50 IDE и да го погледне во неколку PHP датотеки, 582 00:29:12,850 --> 00:29:19,850 водење на неколку PHP датотеки, во командната линија интерфејс на CS50 ИРО. 583 00:29:19,850 --> 00:29:22,100 Па еве сме во CS50 ИРО, и јас го зедоа за слобода 584 00:29:22,100 --> 00:29:25,800 за отворање на датотека наречена hello1.php. 585 00:29:25,800 --> 00:29:29,920 И очигледно, содржините на овој датотека се само Раздели на PHP таму, 586 00:29:29,920 --> 00:29:32,220 а меѓу нив, ехо ("Здраво, свет"). 587 00:29:32,220 --> 00:29:34,710 Ова е прилично едноставна PHP програма. 588 00:29:34,710 --> 00:29:37,670 Јас сум само ќе да дојдете долу на мојот терминален прозорец тука, 589 00:29:37,670 --> 00:29:44,320 а јас ќе одам да се тип на PHP hello1.php, притиснете ентер. 590 00:29:44,320 --> 00:29:44,950 Здраво свету. 591 00:29:44,950 --> 00:29:48,110 Тоа е веројатно она што сме биле Очекуваме тоа да се направи, нели? 592 00:29:48,110 --> 00:29:51,140 >> Ајде да одиме и да ги преземат уште еден поглед на програмата. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 Доста истото, Не многу се случува тука. 595 00:29:55,090 --> 00:29:57,190 Ова време, иако, јас ќе одам да се каже на корисникот за да ми даде нивните имиња. 596 00:29:57,190 --> 00:29:59,290 Јас сум со користење дека readline функција еднаш. 597 00:29:59,290 --> 00:30:01,340 $ име = readline. 598 00:30:01,340 --> 00:30:03,070 Тоа е брза, "Како ти е името?" 599 00:30:03,070 --> 00:30:04,880 >> Очигледно јас сум за печатење тоа е на посебна линија. 600 00:30:04,880 --> 00:30:07,220 И тогаш, па линија подолу дека ќе биде брз 601 00:30:07,220 --> 00:30:08,750 каде што корисникот може да влезе во нивно име. 602 00:30:08,750 --> 00:30:12,030 И тогаш јас сум со користење на малку променлива интерпелацијата тука на линијата 3 603 00:30:12,030 --> 00:30:14,780 да се печати "Здраво" и без оглед на корисникот видови. 604 00:30:14,780 --> 00:30:22,040 Значи ова е аналогно на велејќи: Здраво, запирка,% s ако бевме користење printf во В. 605 00:30:22,040 --> 00:30:24,910 >> Па ајде да одиме и интерпретираат оваа програма. 606 00:30:24,910 --> 00:30:27,400 Значи, повторно, јас ќе дојдете долу на мојот терминален прозорец. 607 00:30:27,400 --> 00:30:29,070 PHP hello2.php. 608 00:30:29,070 --> 00:30:31,920 609 00:30:31,920 --> 00:30:33,820 Како се викаш? 610 00:30:33,820 --> 00:30:35,490 Даг. 611 00:30:35,490 --> 00:30:36,526 Здраво, Даг. 612 00:30:36,526 --> 00:30:39,440 Јас исто така имам уште една датотека наречена hello3.php. 613 00:30:39,440 --> 00:30:42,850 Одам да исчистам екран со контрола L, 614 00:30:42,850 --> 00:30:46,210 а јас ќе одам да се изврши тоа. 615 00:30:46,210 --> 00:30:47,640 Како се викаш? 616 00:30:47,640 --> 00:30:49,020 Даг. 617 00:30:49,020 --> 00:30:49,780 Здраво, Даг. 618 00:30:49,780 --> 00:30:56,540 Па на однесување е идентична со hello2.php, но зошто е тоа hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Па, тука е разликата. 620 00:30:58,040 --> 00:31:00,620 Во овој случај, огласот дека на линија 1 тука, 621 00:31:00,620 --> 00:31:04,270 Имам нешто што не е помеѓу Раздели PHP. 622 00:31:04,270 --> 00:31:07,760 Јас сум само печатење out-- или јас само отчукува, "Како ти е името?" 623 00:31:07,760 --> 00:31:12,060 Кога PHP преведувач гледа ова, тоа нема идеја како да го толкувам како PHP, 624 00:31:12,060 --> 00:31:15,060 и така, наместо на неуспехот, тоа е само ќе да го плукаат. 625 00:31:15,060 --> 00:31:19,010 >> Па известување на линијата 3 сега, јавете ми за да readline, нема брза повеќе. 626 00:31:19,010 --> 00:31:21,750 Јас сум само навистина се случува кога to-- на PHP преведувач гледа ова, 627 00:31:21,750 --> 00:31:23,400 тоа се случува да се печати "Како се викаш?" 628 00:31:23,400 --> 00:31:25,941 Потоа го гледа, ох, во ред, here's-- се друго ќе биде 629 00:31:25,941 --> 00:31:29,970 толкува како PHP, па тоа е зошто тоа функционира. 630 00:31:29,970 --> 00:31:34,990 Јас не мора да значи да го извести to-- на корисникот во внатрешноста на readline, 631 00:31:34,990 --> 00:31:37,490 Јас само може да го имаат надвор на Раздели на PHP 632 00:31:37,490 --> 00:31:41,490 и им овозможуваат на преведувачот само да го испечатите за мене. 633 00:31:41,490 --> 00:31:45,364 >> Па вие всушност не само што имаат да се има еден збир на Раздели PHP 634 00:31:45,364 --> 00:31:46,030 во својата програма. 635 00:31:46,030 --> 00:31:49,887 Ти всушност може да има неколку од нив, отворање и затворање како што е потребно. 636 00:31:49,887 --> 00:31:51,720 Па ајде да ги разгледаме на неколку програми 637 00:31:51,720 --> 00:31:55,070 во CS50 ИРО каде сме илустрираме ова идејата да има 638 00:31:55,070 --> 00:31:58,376 повеќе групи на одвоени PHP. 639 00:31:58,376 --> 00:32:02,010 >> Добро, па ја отворам датотеката тука се нарекува add1.php. 640 00:32:02,010 --> 00:32:03,390 И да се забележи она што се случува овде. 641 00:32:03,390 --> 00:32:08,077 Како и порано, имам PHP единствен сет на Раздели. 642 00:32:08,077 --> 00:32:10,660 Одам да се печати од порака: "Ве молам да ми даде број." 643 00:32:10,660 --> 00:32:13,394 Тогаш јас ќе одам да се чита линија и чувајте го во Променливата $ num1. 644 00:32:13,394 --> 00:32:14,810 Тогаш јас ќе одам да се печати повторно. 645 00:32:14,810 --> 00:32:16,310 Дај ми вториот број. 646 00:32:16,310 --> 00:32:20,450 Читај линија од страна на корисникот, продавница што и ја внеле во во $ num2. 647 00:32:20,450 --> 00:32:23,980 Додадете ги заедно и дека ги чувате резултира со променлива наречена $ сума, 648 00:32:23,980 --> 00:32:26,180 а потоа печати од ", на Збирот на овие два броја 649 00:32:26,180 --> 00:32:29,254 е ", а потоа interpellate таму на променливата $ сума. 650 00:32:29,254 --> 00:32:31,170 Па да ја извршите оваа преку преведувач 651 00:32:31,170 --> 00:32:33,720 да потврди дека ова е она што го очекуваме. 652 00:32:33,720 --> 00:32:37,540 PHP add1.php. 653 00:32:37,540 --> 00:32:38,665 Те молам дај ми некој број, 3. 654 00:32:38,665 --> 00:32:40,410 Да ми даде вториот број, 4. 655 00:32:40,410 --> 00:32:43,370 Збирот на овие два броја е 7. 656 00:32:43,370 --> 00:32:45,030 Тоа е 3 и 4. 657 00:32:45,030 --> 00:32:45,530 ВО РЕД? 658 00:32:45,530 --> 00:32:47,770 Па ништо страшно фенси таму. 659 00:32:47,770 --> 00:32:51,080 >> И сега ајде да се отвори add2.php. 660 00:32:51,080 --> 00:32:54,460 Еве, јас имам неколку PHP одвоени групи таму, нели? 661 00:32:54,460 --> 00:32:59,107 Точки 1, алинеја 1 и 3-- 3 немаат Раздели PHP. 662 00:32:59,107 --> 00:33:00,940 Па кога толкувачот ги гледа нив, тоа е само 663 00:33:00,940 --> 00:33:03,220 ќе плукаат точно она што го напишале таму. 664 00:33:03,220 --> 00:33:05,011 Така што каде сум прават сите мои прашува. 665 00:33:05,011 --> 00:33:11,220 На алинеи 2 и 4, ние гледаме на многу запознаени $? php вид на Раздели, 666 00:33:11,220 --> 00:33:15,210 па тие две линии се ќе се изврши како што се PHP. 667 00:33:15,210 --> 00:33:18,270 А потоа и на алинеја 5, имам овој чудно нешто, токму тука, нели? 668 00:33:18,270 --> 00:33:20,480 Овој агол заградата прашалник знак за еднаквост. 669 00:33:20,480 --> 00:33:22,660 Јас дури и ќе зумирате малку понатаму. 670 00:33:22,660 --> 00:33:29,270 Може да се види тоа е она што јас сум зборуваме за право, таму, овој $? =. 671 00:33:29,270 --> 00:33:33,420 >> Излегува дека тоа е толку вообичаени што од причина што ние се отвори збир на PHP 672 00:33:33,420 --> 00:33:36,055 Раздели е да се печати една вредност. 673 00:33:36,055 --> 00:33:37,430 А тоа е сите ние ќе треба да се направи. 674 00:33:37,430 --> 00:33:39,220 Но, има уште стенографија за тоа. 675 00:33:39,220 --> 00:33:46,490 $? = Е PHP стенографија за велејќи нешто како $? Php ехо збирот 676 00:33:46,490 --> 00:33:48,350 на num1 и num2. 677 00:33:48,350 --> 00:33:51,900 Така што ова е само уште една стенографија за тоа. 678 00:33:51,900 --> 00:33:55,550 >> Значи, ако јас ја извршите оваа програма, PHP add2.php. 679 00:33:55,550 --> 00:33:57,530 Јас ќе зумирате долу малку. 680 00:33:57,530 --> 00:33:59,000 Те молам дај ми некој број, 4. 681 00:33:59,000 --> 00:34:00,350 Да ми даде вториот број. 682 00:34:00,350 --> 00:34:04,650 И бидејќи јас не се грижам за тоа типови на податоци во PHP, можам да кажам 4.8. 683 00:34:04,650 --> 00:34:07,160 Збирот на овие два броја е 8,8. 684 00:34:07,160 --> 00:34:10,179 Таа функција се однесува доста токму исто како што би се очекувало, 685 00:34:10,179 --> 00:34:10,989 исто така. 686 00:34:10,989 --> 00:34:13,114 И имам уште една отворена до тука наречен dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Обиди се со ова повторно. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Имам еден уште тука се нарекува dice1.php, кој исто така, да се види, 691 00:34:33,280 --> 00:34:37,440 има дека аглеста заграда прашање одбележи знак за еднаквост нотација во таму, 692 00:34:37,440 --> 00:34:40,659 не се забележи дека во овој случај јас сум повик на функција Ранд, кој како што 693 00:34:40,659 --> 00:34:42,790 може да се очекува генерира случаен број. 694 00:34:42,790 --> 00:34:46,889 "Ти валани", а тоа се случува да пресмета некој случаен број, МО 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Така што ќе ми даде број во опсег од 1 до 6. 697 00:34:49,989 --> 00:34:53,040 >> Се сеќавам дека МО 6 ќе ми даде голем број во опсег од 0 до 5, 698 00:34:53,040 --> 00:34:56,630 но ако сум симулирање генерал ролни, што е она што јас го правам тука, 699 00:34:56,630 --> 00:35:00,040 Не сакам овие коцки од 0 до 5, сакам коцки кои одат 1-6. 700 00:35:00,040 --> 00:35:02,800 И така ова е начин да се добие ме во опсег од 1 до 6. 701 00:35:02,800 --> 00:35:04,720 Јас го правам тоа двапати. 702 00:35:04,720 --> 00:35:08,630 Значи очигледно сум возен две коцки во оваа програма. 703 00:35:08,630 --> 00:35:15,210 >> Па јас ќе го исчистите мојот екран, и Јас ќе го направи PHP dice1.php. 704 00:35:15,210 --> 00:35:16,640 Ви валани 4 и 2. 705 00:35:16,640 --> 00:35:19,156 И ако јас ја стартувате програмата повторно, ќе навива 5 и 5. 706 00:35:19,156 --> 00:35:21,780 Така секој пат кога ќе ја стартувате програмата, Јас сум добивање на различни броеви, 707 00:35:21,780 --> 00:35:24,280 затоа што секој пат кога ќе се направи Значи, тоа е почеток. 708 00:35:24,280 --> 00:35:27,250 Тоа се случува да се генерираат нови поставени на случајни броеви за мене. 709 00:35:27,250 --> 00:35:29,790 >> Значи, ако ние сме се користи за управување со програми од C, 710 00:35:29,790 --> 00:35:32,520 ние сме се користи за пишување на ./ името на една програма, нели? 711 00:35:32,520 --> 00:35:35,090 Тоа е како ние го направиле сите на нашите програми во C до сега. 712 00:35:35,090 --> 00:35:37,555 Можеме да го направите тоа во PHP, како и со додавање на нешто што се нарекува 713 00:35:37,555 --> 00:35:40,026 на shebang до врвот на нашите PHP фајл. 714 00:35:40,026 --> 00:35:41,400 Знам дека е малку глупо збор. 715 00:35:41,400 --> 00:35:44,540 Тоа е краток за хаш тресок. 716 00:35:44,540 --> 00:35:46,300 Тоа е во првите две букви таму. 717 00:35:46,300 --> 00:35:50,030 Се сеќавам што ние го нарекуваме извичник често страшен тресок во компјутерската наука. 718 00:35:50,030 --> 00:35:51,690 Таа, исто така може да биде за остар тресок. 719 00:35:51,690 --> 00:35:53,273 Има неколку начини за да го протолкува. 720 00:35:53,273 --> 00:35:57,320 Но, тоа е во основа на посебен вид на заповед, што PHP преведувач 721 00:35:57,320 --> 00:36:00,160 разбира како, ох, сакам можете да ја извршите оваа програма, 722 00:36:00,160 --> 00:36:05,250 што е очигледно / user / bin / PHP, која е, всушност, каде што PHP преведувач 723 00:36:05,250 --> 00:36:08,590 конкретно живее на нашиот систем. 724 00:36:08,590 --> 00:36:12,530 Па it's-- она ​​што се случува овде е толкувачот разбира, ох, 725 00:36:12,530 --> 00:36:17,270 Јас сум очигледно би требало да го користат во оваа програма да ја извршите оваа датотека. 726 00:36:17,270 --> 00:36:20,010 И така ви овозможува за да го прескокнете во текот на чекор 727 00:36:20,010 --> 00:36:22,979 на морале да се каже PHP something.php. 728 00:36:22,979 --> 00:36:25,020 И, уште улов тука, а тоа е дека ако ние 729 00:36:25,020 --> 00:36:27,320 сакаме нашите програми за да се работат како што треба, ние 730 00:36:27,320 --> 00:36:30,220 треба да се направи нешто што се нарекува промена пермисии. 731 00:36:30,220 --> 00:36:33,380 И ние ќе go-- а ние се зборува малку малку повеќе за датотеката промени дозвола 732 00:36:33,380 --> 00:36:37,550 во нашата видео на MVC, но доволно е да велат дека тоа е она што треба да направите 733 00:36:37,550 --> 00:36:42,760 со цел да се направат вашиот .php датотека извршна. 734 00:36:42,760 --> 00:36:49,330 Па ајде да ги разгледаме во тоа како конечна нашиот пример во текот во CS50 ИРО. 735 00:36:49,330 --> 00:36:53,910 >> Па тука во IDE имам две датотеки во оваа Директориум на PHP кои се појавуваат да не биде 736 00:36:53,910 --> 00:36:55,310 нарекува .php. 737 00:36:55,310 --> 00:36:58,170 Имам функција наречена add-- Имам датотека наречена add3 738 00:36:58,170 --> 00:37:00,650 и фајл наречен dice2. 739 00:37:00,650 --> 00:37:03,680 Значи, да се земе брз изгледа и ќе отвори add3. 740 00:37:03,680 --> 00:37:08,300 И како што можете да видите, на почетокот на мојата датотека Имам оваа shebang, нели? 741 00:37:08,300 --> 00:37:11,420 Ова хаш знак извичник. 742 00:37:11,420 --> 00:37:15,115 Сега, ќе исто така, можеби известување дека поради некоја причина, 743 00:37:15,115 --> 00:37:16,990 Јас немам никакви синтакса истакнување повеќе, 744 00:37:16,990 --> 00:37:20,198 и тоа е она што се алудира погоре, која беше дека ако јас не името на мојата датотека 745 00:37:20,198 --> 00:37:23,040 .php, јас не се во корист на осветлувањето повеќе. 746 00:37:23,040 --> 00:37:26,220 Оваа податотека е само се нарекува add3. 747 00:37:26,220 --> 00:37:30,960 Така што можам да се пушта и подоцна со ./ add3 и не ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Па тоа е уште reason-- во ред, таа е актуелна PHP, 749 00:37:33,680 --> 00:37:37,000 но тој не го синтакса нагласени, бидејќи оваа датотека, не се вика something.php. 750 00:37:37,000 --> 00:37:41,580 Тоа е единствената вистинска разлика тука, плус shebang. 751 00:37:41,580 --> 00:37:45,170 Да видиме што се случува кога Се обидувам и да ја стартувате програмата. 752 00:37:45,170 --> 00:37:50,780 ./ Add3, исто како што би направиле со Ц. баш. 753 00:37:50,780 --> 00:37:53,190 ./ Add3 забранет. 754 00:37:53,190 --> 00:37:55,390 Тоа е она што ви се случува за да ја видите ако го заборавите 755 00:37:55,390 --> 00:37:59,280 да се користи команда chmod да се промени дозволите на датотеката. 756 00:37:59,280 --> 00:38:03,845 >> Како што се испоставува, редовни PHP додадени фајлови: не само може да биде погубен. 757 00:38:03,845 --> 00:38:06,970 Тие може да се толкува, но ние сме прави нешто малку поинаку овде. 758 00:38:06,970 --> 00:38:07,761 Ние сме негово извршување. 759 00:38:07,761 --> 00:38:12,970 И така јас треба да додадете на дозвола на извршување на chmod + x да add3. 760 00:38:12,970 --> 00:38:15,680 Тогаш можам да кажам ./ add3. 761 00:38:15,680 --> 00:38:16,860 Те молам дај ми го бројот. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Збирот на овие два броја е 11. 764 00:38:20,490 --> 00:38:26,530 >> Слично на тоа, јас веќе chmoded dice2, па можам да се впишат само ./ dice2, 765 00:38:26,530 --> 00:38:31,260 ви валани 1 и 1, можете привали 5 и 4, и така натаму. 766 00:38:31,260 --> 00:38:33,680 >> Така што е доста Идејата на синтакса PHP, нели? 767 00:38:33,680 --> 00:38:35,221 Има многу да се добие преку, знам. 768 00:38:35,221 --> 00:38:39,160 Но се надевам дека сте виделе сега дека PHP не е навистина толку различни од C 769 00:38:39,160 --> 00:38:43,670 и навистина ни дава можност да се работи до еден степен или два. 770 00:38:43,670 --> 00:38:48,230 Ние навистина не треба да се грижите премногу about-- ние навистина не 771 00:38:48,230 --> 00:38:51,605 мора да се грижи премногу за Детали на ниско ниво ние 772 00:38:51,605 --> 00:38:52,980 мораше да се грижите за со C, нели? 773 00:38:52,980 --> 00:38:56,170 Ние можеме да се фокусираме на повисоки ниво работи дека PHP 774 00:38:56,170 --> 00:39:01,090 ни овозможува да се направи и да се преземат за готово дека тоа ќе работат за нас. 775 00:39:01,090 --> 00:39:04,350 Па тоа ни дава можност сега, транзиција од C до PHP, 776 00:39:04,350 --> 00:39:08,280 да се направи на програми кои се многу повеќе комплекс, а можеби и многу повеќе робустен. 777 00:39:08,280 --> 00:39:13,070 >> Па се надевам дека ќе се забавувате работна со PHP, и јас сум Даг Лојд. 778 00:39:13,070 --> 00:39:15,050 Ова е CS50. 779 00:39:15,050 --> 00:39:17,637