1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [8 Секција] [Помалку Комфорни] 2 00:00:02,000 --> 00:00:04,000 [Нејт Hardison] [Универзитетот Харвард] 3 00:00:04,000 --> 00:00:08,000 [Ова е CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:11,000 >> Добредојдовте на нашата втора до последното секција. 5 00:00:11,000 --> 00:00:13,000 Во оваа недела ние ќе зборуваме за PHP, а потоа следната недела 6 00:00:13,000 --> 00:00:17,000 ние ќе се направи малку преглед за одбивање 1. 7 00:00:17,000 --> 00:00:20,000 Ние ќе започне на страница 3 на проблемот поставува пакет, 8 00:00:20,000 --> 00:00:28,000 и ние ќе работат преку делот на прашања прилично брзо. 9 00:00:28,000 --> 00:00:34,000 На страна 3, ние почнам да зборувам за оваа разлика помеѓу C и PHP 10 00:00:34,000 --> 00:00:38,000 во смисла дека PHP е динамички отчукува јазик, 11 00:00:38,000 --> 00:00:42,000 а C е статички отчукува, 12 00:00:42,000 --> 00:00:46,000 и некој навистина брзо направи било кодирање во нешто како PHP 13 00:00:46,000 --> 00:00:51,000 или Пајтон или Руби пред тоа, го вклучите Javascript-? 14 00:00:51,000 --> 00:00:53,000 Целосно ново? Во ред. 15 00:00:53,000 --> 00:00:56,000 >> Сите овие јазици што Јас само споменати 16 00:00:56,000 --> 00:01:01,000 се многу различни од јазици како C и C + + и Java 17 00:01:01,000 --> 00:01:04,000 во смисла дека кога ќе се декларирате променлива да не мора да се декларираат 18 00:01:04,000 --> 00:01:09,000 каков вид на променливата што е, па во C бевме заглавени морале да секогаш велат 19 00:01:09,000 --> 00:01:13,000 ова ќе биде int променлива, или ова ќе биде char * променлива, 20 00:01:13,000 --> 00:01:16,000 а со PHP, со Python, со Ruby, 21 00:01:16,000 --> 00:01:20,000 со многу од овие повеќе современи јазици не треба да го направи тоа на сите. 22 00:01:20,000 --> 00:01:24,000 Вие само прогласи вашата променлива, а во случај на PHP 23 00:01:24,000 --> 00:01:28,000 Вие декларирате дека тоа е променлива со prefixing тоа со $ знакот, 24 00:01:28,000 --> 00:01:35,000 и тогаш типот на променливата се определува со она што вредност тоа држи, 25 00:01:35,000 --> 00:01:38,000 кој е вид на кул. 26 00:01:38,000 --> 00:01:44,000 Да се ​​позанимавам со овој малку, имаме примерок PHP код тука 27 00:01:44,000 --> 00:01:47,000 меѓу почетокот и крајот тагови. 28 00:01:47,000 --> 00:01:53,000 Ние сме со користење на овој вид на како HTML, во смисла дека 29 00:01:53,000 --> 00:01:56,000 имаме овие аглести загради тука за да се отвораат и затвораат. 30 00:01:56,000 --> 00:01:58,000 Ќе видите ова со HTML. 31 00:01:58,000 --> 00:02:03,000 Ќе видите ист вид на синтакса со XML премногу. 32 00:02:03,000 --> 00:02:06,000 >> Ова укажува на почетокот на PHP блокот. 33 00:02:06,000 --> 00:02:09,000 Ова? PHP е специфична за PHP. 34 00:02:09,000 --> 00:02:16,000 Ние затвори се 'со>, како и. 35 00:02:16,000 --> 00:02:22,000 Да се ​​отвори датотеката во нашиот апаратот користејќи го она што сакате. 36 00:02:22,000 --> 00:02:25,000 Во овој пакет се вели да се јавите dynamic.php. 37 00:02:25,000 --> 00:02:29,000 За волја на вистината, можете да го наречеме она што сакате, но името на датотеката ќе излезе 38 00:02:29,000 --> 00:02:34,000 и да биде важно подоцна, па само се сеќавам она што го нарекуваат. 39 00:02:34,000 --> 00:02:36,000 Одам да се префрлиме на апаратот, 40 00:02:36,000 --> 00:02:43,000 и јас одам да се направи директориум за 41 00:02:43,000 --> 00:02:48,000 дел 9 Верувам дека сме сега. 42 00:02:48,000 --> 00:02:51,000 И ние ќе одиме во делот 9, 43 00:02:51,000 --> 00:02:54,000 и јас одам да се користи gedit. 44 00:02:54,000 --> 00:02:59,000 Ајде да видиме, gedit, а јас одам да се јавите рудникот dynamic.php. 45 00:02:59,000 --> 00:03:03,000 Бум. 46 00:03:03,000 --> 00:03:06,000 Во рамките dynamic.php, бидејќи ова е PHP фајл 47 00:03:06,000 --> 00:03:09,000 и јас сакам да ја извршите оваа преку преведувач PHP 48 00:03:09,000 --> 00:03:12,000 Јас треба да започне што е надвор со оние отворен тагови, 49 00:03:12,000 --> 00:03:17,000 па ќе одам да се започне оние веднаш, 50 00:03:17,000 --> 00:03:23,000 си даде малку простор меѓу ознаки, 51 00:03:23,000 --> 00:03:26,000 а потоа точка на оваа вежба е да се позанимавам со 52 00:03:26,000 --> 00:03:34,000 оваа функција наречена gettype, па gettype, оваа функција овде. 53 00:03:34,000 --> 00:03:38,000 >> Забележете дека нема црта или простор или цртичка или нешто слично 54 00:03:38,000 --> 00:03:42,000 одвојување на 2 зборовите, се и напишете, само еден збор заедно. 55 00:03:42,000 --> 00:03:46,000 Но, она што ова ќе го направите е ако помине во променлива да gettype, 56 00:03:46,000 --> 00:03:51,000 велат $ var или $ x, 57 00:03:51,000 --> 00:03:55,000 ова ќе ми кажете каков вид на во дебагирање формат 58 00:03:55,000 --> 00:03:59,000 што името на овој тип е. 59 00:03:59,000 --> 00:04:03,000 Ние ќе експериментирате тука. 60 00:04:03,000 --> 00:04:07,000 Особено, ако се погледне назад на pset спецификации 61 00:04:07,000 --> 00:04:11,000 имаме неколку различни линии на код овде. 62 00:04:11,000 --> 00:04:16,000 Во првата линија код ние го иницијализирате овој променлива $ var, 63 00:04:16,000 --> 00:04:21,000 да биде еднаква на 7, а потоа имаме оваа printf линија 64 00:04:21,000 --> 00:04:25,000 во која се вели еј, printf var не е празно. 65 00:04:25,000 --> 00:04:29,000 Printf е еден од многуте начини можеме да печатиме работи во PHP. 66 00:04:29,000 --> 00:04:33,000 Често ќе видите ехо функција се користи наместо на printf, 67 00:04:33,000 --> 00:04:40,000 но printf сите сме запознаени со тоа што беа кодирање во C за некое време. 68 00:04:40,000 --> 00:04:42,000 Што всушност сте да направите е да видиме ако копирате и залепите дела. 69 00:04:42,000 --> 00:04:46,000 Одам да им даде на овој обид. 70 00:04:46,000 --> 00:04:52,000 Ќе одиме назад во текот на апаратот. 71 00:04:52,000 --> 00:05:00,000 Океј, и таму ќе одиме. 72 00:05:00,000 --> 00:05:05,000 И растојанието е малку фанки, но тука ќе одиме. 73 00:05:05,000 --> 00:05:08,000 Имаме овој код овде. 74 00:05:08,000 --> 00:05:11,000 >> [Студентски] Зарем не е добар стил на јазичето тоа? 75 00:05:11,000 --> 00:05:13,000 Жал ми е? 76 00:05:13,000 --> 00:05:15,000 [Студентски] Дали е конвенционален на јазичето тоа? 77 00:05:15,000 --> 00:05:21,000 Право, па Сем прашува дали тоа е Конвенцијата на јазичето тоа или не. 78 00:05:21,000 --> 00:05:23,000 Обично да. 79 00:05:23,000 --> 00:05:26,000 Во овој случај јас избрав да не. 80 00:05:26,000 --> 00:05:33,000 Искрено, ќе видите различни нешта меѓу различни програмери. 81 00:05:33,000 --> 00:05:40,000 PHP е најчесто се користи често во комбинација со HTML 82 00:05:40,000 --> 00:05:45,000 и други јазици, и така понекогаш печатење ќе се погледне малку фанки 83 00:05:45,000 --> 00:05:50,000 ако алинеја во PHP почеток и крај тагови. 84 00:05:50,000 --> 00:05:53,000 Тоа навистина зависи. 85 00:05:53,000 --> 00:05:56,000 Во овој случај, копирајте го и ставете не ставете јазичиња во за мене, 86 00:05:56,000 --> 00:06:02,000 но тоа дефинитивно не, како што рече, да го појасни. 87 00:06:02,000 --> 00:06:06,000 Добро, ако те спаси овој код во dynamic.php 88 00:06:06,000 --> 00:06:10,000 тогаш што можете да направите е да дојде до вашиот терминал прозорец каде сум во право надолу тука 89 00:06:10,000 --> 00:06:17,000 во gedit, и да се направи еквивалент на компајлирање 90 00:06:17,000 --> 00:06:20,000 користење направи, а потоа водење на вашиот код во C 91 00:06:20,000 --> 00:06:25,000 сите што треба да направите со датотека PHP е стартувате преведувач PHP, 92 00:06:25,000 --> 00:06:30,000 што е малку програма наречена PHP, 93 00:06:30,000 --> 00:06:35,000 и аргумент ви даде на преведувач е датотеката што сакате да го протолкува. 94 00:06:35,000 --> 00:06:40,000 Во овој случај, dynamic.php. 95 00:06:40,000 --> 00:06:43,000 Whoops, каде го ставив? 96 00:06:43,000 --> 00:06:52,000 О, јас го стави во делот 9, и тука сум. Тоа е зошто. 97 00:06:52,000 --> 00:06:57,000 >> Сега, ако јас ја стартувате таа повторно 98 00:06:57,000 --> 00:07:02,000 можеме да видиме дека во мојот прв gettype повик на функција 99 00:07:02,000 --> 00:07:04,000 var е цел број. 100 00:07:04,000 --> 00:07:12,000 Во следниот var е стринг, а потоа и во третиот var е рационален број. 101 00:07:12,000 --> 00:07:15,000 Она што е интересно за ова е ако дојдете назад можеме да видиме дека 102 00:07:15,000 --> 00:07:18,000 овие се видови слични на оние што ги имавме во C. 103 00:07:18,000 --> 00:07:22,000 Имавме ints во C. 104 00:07:22,000 --> 00:07:26,000 Ние вид на имале конците во C, 105 00:07:26,000 --> 00:07:31,000 па низи не беа целосно legit вид во смисла дека 106 00:07:31,000 --> 00:07:37,000 нашите CS50 стринг е навистина она? 107 00:07:37,000 --> 00:07:39,000 Жал ми е? Ма? 108 00:07:39,000 --> 00:07:41,000 [Ма] char *. 109 00:07:41,000 --> 00:07:43,000 Да, тоа беше овој char * што се користи. 110 00:07:43,000 --> 00:07:47,000 На самиот почеток на семестарот бевме користење на стринг тип, 111 00:07:47,000 --> 00:07:52,000 но тоа беше навистина char * под хауба. 112 00:07:52,000 --> 00:07:58,000 Ние само напишете го дефинира, а во PHP овие низи се вистински тип. 113 00:07:58,000 --> 00:08:07,000 Нема повеќе на овој char * тип работи. 114 00:08:07,000 --> 00:08:10,000 >> Ќе видите дека можеме да направиме многу повеќе работи со жици 115 00:08:10,000 --> 00:08:14,000 многу полесно отколку што можеле во C во PHP, 116 00:08:14,000 --> 00:08:17,000 а потоа конечно, имаме овој рационален тип, и голема разлика тука е дека 117 00:08:17,000 --> 00:08:21,000 ако дојдете назад можеме да видиме дека името на овие видови 118 00:08:21,000 --> 00:08:28,000 сега цел број, стринг, и рационален наместо int и bool, 119 00:08:28,000 --> 00:08:31,000 и како да ги собереш различни програмски јазици, 120 00:08:31,000 --> 00:08:36,000 претпоставувајќи дека во одреден момент во својот живот ќе дојде во контакт со 121 00:08:36,000 --> 00:08:40,000 поинакви ќе забележите малку quirks вака 122 00:08:40,000 --> 00:08:44,000 каде што C повици броеви ints. 123 00:08:44,000 --> 00:08:46,000 Некои го нарекуваат цели броеви. 124 00:08:46,000 --> 00:08:51,000 Постојат и други термини кои ќе наидат. 125 00:08:51,000 --> 00:08:55,000 Биг int видовме денес во SQL. 126 00:08:55,000 --> 00:08:59,000 Исто така постојат и број, а потоа bool, рационален, 127 00:08:59,000 --> 00:09:03,000 сите видови на разлики постојат. 128 00:09:03,000 --> 00:09:07,000 >> Ова не е страшно интересно, но сега јас ќе одам да ви даде малку време- 129 00:09:07,000 --> 00:09:13,000 ако ние враќање надвор да работат преку оваа вежба на дното на страница 3 130 00:09:13,000 --> 00:09:20,000 каде што прашува какви видови одговараат на овие вредности тука на дното. 131 00:09:20,000 --> 00:09:24,000 Имаме 3.50. 132 00:09:24,000 --> 00:09:28,000 Имаме ова нешто тука, што е интересно. 133 00:09:28,000 --> 00:09:32,000 Ние не видовме дека пред, но ако сте биле следниве заедно во предавање 134 00:09:32,000 --> 00:09:35,000 што веројатно веќе знаете што е тоа. 135 00:09:35,000 --> 00:09:40,000 Тогаш имаме ова што ова е вид на фанки. 136 00:09:40,000 --> 00:09:42,000 Ќе го признаат тоа. 137 00:09:42,000 --> 00:09:46,000 Што е ова во C? 138 00:09:46,000 --> 00:09:50,000 Сем? Што ова ќе ви даде во C? 139 00:09:50,000 --> 00:09:54,000 Тоа ќе отворите датотека наречена dynamic.php и да ја направат да се чита. 140 00:09:54,000 --> 00:09:58,000 Да, и што ќе биде од типот на променлива дека ќе додели ова? >> Датотеката ѕвезда. 141 00:09:58,000 --> 00:10:02,000 Точно, ќе додели оваа датотека ѕвезда. 142 00:10:02,000 --> 00:10:08,000 Ова е легитимен PHP премногу. 143 00:10:08,000 --> 00:10:12,000 Стартувај тоа. Погледнете што се случува кога ќе мине во gettype. 144 00:10:12,000 --> 00:10:19,000 А потоа, исто така, да проверат што null е, она што може да биде во PHP. 145 00:10:19,000 --> 00:10:21,000 Ќе ти дадам неколку минути. 146 00:10:21,000 --> 00:10:24,000 Вие буквално може да копирате и залепите овие вредности во, 147 00:10:24,000 --> 00:10:29,000 и потоа ќе се направи малку случаен повик за вас 148 00:10:29,000 --> 00:10:34,000 и да видиме што имаш. 149 00:10:34,000 --> 00:10:36,000 >> [Студентски] Имам едно прашање. << Да. 150 00:10:36,000 --> 00:10:40,000 Во една од предавања Дејвид рече дека е нешто што може да се стави на врвот на вашата датотека 151 00:10:40,000 --> 00:10:43,000 така што вие не мора да напишеш во PHP секое време. 152 00:10:43,000 --> 00:10:45,000 Што беше тоа? 153 00:10:45,000 --> 00:10:50,000 Тој беше веројатно зборува за фунта тресне, хаш тресок. 154 00:10:50,000 --> 00:10:57,000 Тоа е директивата дека ако го одбележи вашето датотека како извршна 155 00:10:57,000 --> 00:11:01,000 тогаш што го прави тоа е кога ќе се изврши датотеката 156 00:11:01,000 --> 00:11:06,000 тоа ќе му кажете на школка програма 157 00:11:06,000 --> 00:11:12,000 да го користите PHP преведувач да го протолкува на содржината на датотеката. 158 00:11:12,000 --> 00:11:16,000 Прашањето е она што беше оваа специјална линија 159 00:11:16,000 --> 00:11:20,000 што би можеле да се вклучат во врвот на нашата PHP датотеки да не мора да вклучува 160 00:11:20,000 --> 00:11:26,000 оваа линија PHP или оваа команда PHP кога сакаме да се изврши датотеката? 161 00:11:26,000 --> 00:11:31,000 А вие всушност може да го направите ова со еден куп на различни датотеки. 162 00:11:31,000 --> 00:11:37,000 Верувам дека тоа зависи од тоа каде бинарната PHP е се складира, 163 00:11:37,000 --> 00:11:43,000 но често usr / bin / PHP е добро место за почеток. 164 00:11:43,000 --> 00:11:45,000 Можете да дознаам ова точно со одење назад до вашиот апарат 165 00:11:45,000 --> 00:11:50,000 и пишување од кои PHP. 166 00:11:50,000 --> 00:11:55,000 На која команда фигури кога сте извршување на бинарни 167 00:11:55,000 --> 00:12:01,000 или команда каде соодветната датотека е. 168 00:12:01,000 --> 00:12:06,000 Ова ми кажува дека PHP е навистина aliasing оваа бинарна датотека 169 00:12:06,000 --> 00:12:13,000 тоа е се чуваат во usr / bin, каде што е многу на системот бинарни датотеки се инсталирани. 170 00:12:13,000 --> 00:12:21,000 На пример, ако дојдете до врвот, сега тоа дека јас сум се стави ова #! линија тука 171 00:12:21,000 --> 00:12:27,000 Можам да дојдете долу, и јас може да се обидете да се кандидира 172 00:12:27,000 --> 00:12:35,000 dynamic.php, но јас се добие оваа грешка за дозвола да се негира, 173 00:12:35,000 --> 00:12:42,000 и што значи тоа е дека оваа датотека не е во моментов дава извршна дозволи. 174 00:12:42,000 --> 00:12:46,000 Тоа не е означено како датотека дека некој може да работи. 175 00:12:46,000 --> 00:12:52,000 >> Кога ќе истрча направи или ѕвекот и имаш извршна од него 176 00:12:52,000 --> 00:12:56,000 компајлерот беше доволно паметни да знаат дека Еј, јас сум градење на извршна. 177 00:12:56,000 --> 00:13:00,000 Веројатно сакате да ја изврши, така што автоматски ќе го конфигурирате 178 00:13:00,000 --> 00:13:02,000 на дозволите за вас. 179 00:13:02,000 --> 00:13:06,000 Ова не е случај, иако, кога ќе се создаде една нормална датотека од нула, 180 00:13:06,000 --> 00:13:13,000 Причината е обично не сакате да имате било какви датотеки на вашиот систем да биде извршна, 181 00:13:13,000 --> 00:13:15,000 така што всушност треба да се оди во и рачно го стори тоа. 182 00:13:15,000 --> 00:13:22,000 Најлесен начин да го направи тоа е со командата chmod, 183 00:13:22,000 --> 00:13:28,000 и chmod + x вели додадете извршна малку 184 00:13:28,000 --> 00:13:31,000 бидејќи има за читање малку, пишува малку и извршна малку, 185 00:13:31,000 --> 00:13:35,000 Р W и X, 186 00:13:35,000 --> 00:13:39,000 и велејќи chmod + x ќе се сврти на извршна малку 187 00:13:39,000 --> 00:13:46,000 бидејќи тогаш датотеката која ние се одреди, кој во овој случај ќе биде dynamic.php. 188 00:13:46,000 --> 00:13:49,000 >> [Студентски] е дека уклучен за секого? 189 00:13:49,000 --> 00:13:52,000 Да се ​​провери ова, па како би проверете ги дозволите? 190 00:13:52,000 --> 00:13:54,000 Дали знаете како би проверете ги дозволите на датотеката? 191 00:13:54,000 --> 00:13:56,000 [Нечујни студент одговор] 192 00:13:56,000 --> 00:13:58,000 Жал ми е? >> [Студентски] XSD. 193 00:13:58,000 --> 00:14:03,000 XSD ни дава датотека во хакове. 194 00:14:03,000 --> 00:14:09,000 Листата на сите датотеки,-l, ќе ми го покаже на сите датотеки во мојот именик 195 00:14:09,000 --> 00:14:13,000 вид на своето долго, опширниот листата, и така тука можеме да видиме дека 196 00:14:13,000 --> 00:14:17,000 овој dynamic.php датотека 197 00:14:17,000 --> 00:14:23,000 последен пат е изменета 5 ноември во 16:21. 198 00:14:23,000 --> 00:14:26,000 Сопственикот на оваа датотека е jharvard. 199 00:14:26,000 --> 00:14:28,000 Тоа е прва кој ќе се логирани 200 00:14:28,000 --> 00:14:31,000 Тоа е на корисникот јас сум на работа како, 201 00:14:31,000 --> 00:14:36,000 и ако сте, исто така, во апаратот ти си исто така работи како корисник jharvard. 202 00:14:36,000 --> 00:14:38,000 Вие сте во студентите група, 203 00:14:38,000 --> 00:14:44,000 и овие се нештата што ќе видите доволно често. 204 00:14:44,000 --> 00:14:47,000 >> Ние може да оди во многу детали тука, 205 00:14:47,000 --> 00:14:50,000 но во најголем дел она што сакате да се погледне во кога сте во потрага за да ја видите 206 00:14:50,000 --> 00:14:55,000 дали или не датотека е извршна е првенствено 207 00:14:55,000 --> 00:14:58,000 на корисникот кој е сопственик на датотека, сопственикот, 208 00:14:58,000 --> 00:15:03,000 па ова jharvard, а потоа имаме 209 00:15:03,000 --> 00:15:07,000 дозволи битови овде на лево, 210 00:15:07,000 --> 00:15:13,000 и начинот на кој да го прочитате ова е дека и последната трошка 211 00:15:13,000 --> 00:15:18,000 обично се користи за означување дали или не-барем во овој случај 212 00:15:18,000 --> 00:15:21,000 оваа последната трошка често ќе се постави реклама за да се покаже 213 00:15:21,000 --> 00:15:24,000 дека датотеката е директориум а не само обична датотека. 214 00:15:24,000 --> 00:15:28,000 Тогаш следните 3 парчиња токму тука 215 00:15:28,000 --> 00:15:34,000 се утврди на дозволи кои сопственикот на датотеката има, 216 00:15:34,000 --> 00:15:38,000 така што во овој случај jharvard, како сопственик на датотеката, да читаат и пишуваат оваа датотека, 217 00:15:38,000 --> 00:15:42,000 но има една цртичка велејќи дека jharvard не може да ја извршите оваа датотека. 218 00:15:42,000 --> 00:15:46,000 Наредните 3 битови се на групата, па ова е студентите група, 219 00:15:46,000 --> 00:15:49,000 па ако имало повеќе корисници на мојот апарат, 220 00:15:49,000 --> 00:15:52,000 и имавме повеќе корисници, како дел од студентите група, 221 00:15:52,000 --> 00:15:55,000 тогаш сите тие може да ја прочитате оваа датотека, но тие не може да го напише, 222 00:15:55,000 --> 00:15:59,000 а исто така и некој друг, светот 223 00:15:59,000 --> 00:16:01,000 може само да ја прочитате оваа датотека, како и. 224 00:16:01,000 --> 00:16:03,000 Има добри, долго writeup за ова, 225 00:16:03,000 --> 00:16:05,000 па ќе можете да прочитате на интернет. 226 00:16:05,000 --> 00:16:10,000 Во проблемот сет спецификации ние навлегувал во тоа во повеќе детали. 227 00:16:10,000 --> 00:16:12,000 >> [Студентски] е 218 осврнувајќи се на светот? 228 00:16:12,000 --> 00:16:17,000 На 218 е-од врвот на мојата глава јас сум заборав, 229 00:16:17,000 --> 00:16:20,000 но бр. 230 00:16:20,000 --> 00:16:29,000 Ајде да видиме. Јас сум бришење на тоа токму сега. 231 00:16:29,000 --> 00:16:32,000 Вратете се на она што требаше да се направи со овој chmod + x 232 00:16:32,000 --> 00:16:37,000 каде што сакавме да даде dynamic.php извршна дозволи, 233 00:16:37,000 --> 00:16:40,000 и прашање е дали или не ова ќе им даде на извршна дозволи за секого 234 00:16:40,000 --> 00:16:44,000 или само jharvard, а ние може да се види од 235 00:16:44,000 --> 00:16:48,000 водење на команди и внесување на ls-l, 236 00:16:48,000 --> 00:16:51,000 и сега ќе видиме дека таа е означена како извршна. 237 00:16:51,000 --> 00:16:54,000 Гледаш дека има промена на бојата. 238 00:16:54,000 --> 00:16:57,000 Сега dynamic.php е наведена во зелена, 239 00:16:57,000 --> 00:17:01,000 и тоа изгледа како одговорот на прашањето е што, Шарлот? 240 00:17:01,000 --> 00:17:04,000 [Шарлот] Само jharvard. >> Само jharvard, да. 241 00:17:04,000 --> 00:17:08,000 >> Ако сакавме да ја претворат извршна малку на за секого 242 00:17:08,000 --> 00:17:10,000 како да го направите тоа? 243 00:17:10,000 --> 00:17:13,000 Секој мисли? >> А + х? 244 00:17:13,000 --> 00:17:15,000 Да, точно. 245 00:17:15,000 --> 00:17:23,000 Шарлот рече можеме да направиме chmod на + x на dynamic.php, 246 00:17:23,000 --> 00:17:26,000 и сега ако ние се кандидира ls-l гледаме дека извршната битови 247 00:17:26,000 --> 00:17:30,000 се навистина уклучен за секого. 248 00:17:30,000 --> 00:17:37,000 И можете да всушност не обратна ова, па можете да го исклучите за секого 249 00:17:37,000 --> 00:17:41,000 користење на минус. 250 00:17:41,000 --> 00:17:46,000 Сега е исклучен, и сега можеме да го вклучите повторно за jharvard 251 00:17:46,000 --> 00:17:52,000 така што ние всушност може да се стартува сега, 252 00:17:52,000 --> 00:17:58,000 и сега ќе видите кога ќе ја извршите код оваа специјална #! линија на врвот, 253 00:17:58,000 --> 00:18:04,000 #! линија, изјави школка, 254 00:18:04,000 --> 00:18:08,000 изјави нашиот терминал еј, кога оваа датотека се извршува, 255 00:18:08,000 --> 00:18:14,000 користете / usr / bin / PHP да го протолкува оваа датотека 256 00:18:14,000 --> 00:18:20,000 а потоа печати резултатот. 257 00:18:20,000 --> 00:18:22,000 [Нечујни студент прашање] 258 00:18:22,000 --> 00:18:25,000 Секако, дозволете ми да дојдете назад. Исто како и оваа. 259 00:18:25,000 --> 00:18:36,000 Ќе видиш сите од овие директиви започне со овој фунта и тогаш фантастичен точка, 260 00:18:36,000 --> 00:18:39,000 понекогаш се нарекува фирма, хаш тресок. 261 00:18:39,000 --> 00:18:48,000 >> [Студентски] Како можеме да го извршите со PHP dynamic.php пред да се направи извршна? 262 00:18:48,000 --> 00:18:55,000 Прашањето е како можеме да ја извршите оваа користење на бинарни PHP 263 00:18:55,000 --> 00:18:58,000 додека dynamic.php не е извршна? 264 00:18:58,000 --> 00:19:01,000 Ова е супер важно, бидејќи тоа е токму онака како 265 00:19:01,000 --> 00:19:06,000 тоа нема да работи кога пишувате проблем сет 7. 266 00:19:06,000 --> 00:19:09,000 Поголемиот дел од времето PHP датотеки не се директно извршна. 267 00:19:09,000 --> 00:19:14,000 Начинот на кој функционира е затоа што тоа е PHP бинарни тоа е извршна. 268 00:19:14,000 --> 00:19:16,000 Толкувачот е нешто што се извршува, 269 00:19:16,000 --> 00:19:20,000 и уште па што таа го прави е буквално slurping во целата содржина 270 00:19:20,000 --> 00:19:25,000 на нашите dynamic.php датотека и ќе линија по линија 271 00:19:25,000 --> 00:19:29,000 и извршување на овие команди, па тоа е користење на нашата PHP фајл 272 00:19:29,000 --> 00:19:31,000 како листа на инструкции. 273 00:19:31,000 --> 00:19:36,000 Тоа не е директно тоа извршување. 274 00:19:36,000 --> 00:19:40,000 Тоа е каде што ние велиме дека овие датотеки се толкува во рок време. 275 00:19:40,000 --> 00:19:46,000 Тоа е време на подигнувањето јазик, наместо на нешто што е определено во компајлирате време, 276 00:19:46,000 --> 00:19:49,000 не Составувач јазик како C. 277 00:19:49,000 --> 00:19:54,000 >> Дали постои начин да се добие кандидира време јазикот да дејствува како ако тоа е компајлирање јазик, 278 00:19:54,000 --> 00:19:58,000 како ако имате сите работи направено на серверот 279 00:19:58,000 --> 00:20:00,000 наместо-знаете што мислам? 280 00:20:00,000 --> 00:20:04,000 Да, прашањето е 281 00:20:04,000 --> 00:20:11,000 има ли начин да се кандидира време јазици да дејствува повеќе како компајлирање видови на јазици? 282 00:20:11,000 --> 00:20:18,000 И таму се, мислам, дека е активна област на истражување за многу од овие компании. 283 00:20:18,000 --> 00:20:22,000 Верувам Фејсбук има направено многу работа со PHP 284 00:20:22,000 --> 00:20:25,000 и составувањето на тоа долу, што го прави побрзо, оптимизирање на тоа 285 00:20:25,000 --> 00:20:29,000 бидејќи нивниот веб-сајт е изграден на PHP. 286 00:20:29,000 --> 00:20:34,000 Ако сте биле по node.js на сите, 287 00:20:34,000 --> 00:20:40,000 која е еден вид на преведувач да вклучите 288 00:20:40,000 --> 00:20:44,000 да бидат во можност да се кандидира вклучите надвор на прелистувачот, надвор од вашиот веб прелистувач, 289 00:20:44,000 --> 00:20:47,000 бидејќи традиционално го вклучите Javascript-само да се кандидира во внатрешноста на Firefox или Хром, 290 00:20:47,000 --> 00:20:52,000 и тоа ќе се користи за да се направи кул анимации случи на веб-страница 291 00:20:52,000 --> 00:20:55,000 и направете ја вашата веб-страница динамичен. 292 00:20:55,000 --> 00:20:59,000 Тоа е изградена на многу работа дека Google има направено 293 00:20:59,000 --> 00:21:03,000 да го вклучите Javascript-и C + + 294 00:21:03,000 --> 00:21:09,000 поврзе заедно, така што е многу активно истражување на 295 00:21:09,000 --> 00:21:13,000 добијат овие јазици да комуницирате и да се оптимизира нив, 296 00:21:13,000 --> 00:21:17,000 првенствено затоа што толку многу луѓе да го кодот во PHP и го вклучите Javascript- 297 00:21:17,000 --> 00:21:19,000 затоа што тоа е многу полесно. 298 00:21:19,000 --> 00:21:21,000 Тоа е многу поубав. Вие не треба покажувачи. 299 00:21:21,000 --> 00:21:27,000 Вие не треба видови лебдат наоколу. 300 00:21:27,000 --> 00:21:31,000 Тие сакаа да добијат придобивките од овие компајлирате време јазици 301 00:21:31,000 --> 00:21:36,000 со сите тип проверка и брзина и пониски употребата на меморијата и сето тоа 302 00:21:36,000 --> 00:21:42,000 додека сеуште одржување на флексибилност и леснотија на користење на овие понови. 303 00:21:42,000 --> 00:21:46,000 >> Назад кон нашата изворна план за напад. 304 00:21:46,000 --> 00:21:50,000 Имаме неколку од овие прашања овде во нашиот проблем сет спецификации. 305 00:21:50,000 --> 00:21:54,000 Ајде да одиме преку нив навистина брзо, и ќе одиме низ собата. 306 00:21:54,000 --> 00:21:59,000 Шарлот, кој тип е 3,50? 307 00:21:59,000 --> 00:22:01,000 [Шарлот] Тоа е двојно. >> Тоа е двојно. 308 00:22:01,000 --> 00:22:03,000 Џими, што е ова следниот? >> Низа. 309 00:22:03,000 --> 00:22:09,000 Низа, страшни, а Jared, што е fopen? 310 00:22:09,000 --> 00:22:11,000 [Jared] Тоа е ресурс. >> Тоа е ресурс. 311 00:22:11,000 --> 00:22:15,000 Тоа е вид на нова, а не датотека ѕвезда, а не датотека. 312 00:22:15,000 --> 00:22:19,000 Тоа е ресурс е тип во PHP, 313 00:22:19,000 --> 00:22:24,000 и Жал ми е, Ела, последниот нула е она? 314 00:22:24,000 --> 00:22:26,000 NULL. 315 00:22:26,000 --> 00:22:28,000 Нула, како се напишани во PHP? >> На истиот начин. 316 00:22:28,000 --> 00:22:30,000 На ист начин, метрополи? >> Да. 317 00:22:30,000 --> 00:22:33,000 Да, во ред. 318 00:22:33,000 --> 00:22:35,000 Еве ќе одиме, имаме двојно, имаме низа, 319 00:22:35,000 --> 00:22:41,000 ние имаме ресурси, а потоа имаме нула. 320 00:22:41,000 --> 00:22:48,000 Ајде да видиме сега имаш видено- 321 00:22:48,000 --> 00:22:51,000 Да видиме, па сега Претпоставувам дека она што јас исто така, сакаат да направите е да се повлече до 322 00:22:51,000 --> 00:22:56,000 оваа веб-страница, токму тука, ова php.net / прирачник, 323 00:22:56,000 --> 00:23:01,000 па ако вие момци копија од тоа и се отвори веб пребарувач. 324 00:23:01,000 --> 00:23:07,000 Одам да се повлече до Хром, се стави дека внатре 325 00:23:07,000 --> 00:23:10,000 Сакам да ви покажам тоа не само затоа што 326 00:23:10,000 --> 00:23:13,000 можеме да зборуваме цел ден за видови и сите што забавни нешта 327 00:23:13,000 --> 00:23:19,000 туку затоа што тоа е рачна PHP, 328 00:23:19,000 --> 00:23:23,000 и постојат голем број на PHP програмери таму. 329 00:23:23,000 --> 00:23:26,000 Постојат голем број на PHP веб-сајтови таму, 330 00:23:26,000 --> 00:23:31,000 и како резултат на тоа, има многу на документацијата за PHP, 331 00:23:31,000 --> 00:23:36,000 и упатството, овој php.net, е навистина добро место да одат 332 00:23:36,000 --> 00:23:43,000 кога имаш прашања за тоа што е најдобар начин да го направите Х во PHP 333 00:23:43,000 --> 00:23:45,000 или она што не функција изгледа? 334 00:23:45,000 --> 00:23:49,000 Само вид на запознавање со она што ова изгледа како поради 335 00:23:49,000 --> 00:23:54,000 ќе бидат доаѓаат тука често, малку за проблемот постави 7. 336 00:23:54,000 --> 00:23:57,000 >> Ако заврши прави финалниот проект што користи PHP 337 00:23:57,000 --> 00:24:04,000 ова ќе биде местото ќе стане многу добро запознаени со. 338 00:24:04,000 --> 00:24:09,000 Често начинот на кој луѓето го направите ова е тие користите Google за пребарување за сајт, 339 00:24:09,000 --> 00:24:16,000 и тие не го користите полето за пребарување дека е овде горе во горниот десен агол, што е вид на мали. 340 00:24:16,000 --> 00:24:19,000 Ако сте Googling околу нешто да се направи со PHP и ќе видите 341 00:24:19,000 --> 00:24:24,000 еден од рачна линкови pop-up обично може да се потпре на тоа 342 00:24:24,000 --> 00:24:31,000 како прилично добар ресурс. 343 00:24:31,000 --> 00:24:34,000 Прекрасно, па од овие типови, само од љубопитност, 344 00:24:34,000 --> 00:24:37,000 кои од нив не сме виделе? 345 00:24:37,000 --> 00:24:40,000 Ништо не сме виделе тука? 346 00:24:40,000 --> 00:24:44,000 [Студентски] ресурси. >> Видовме ресурс со fopen повик. 347 00:24:44,000 --> 00:24:48,000 [Студентски] објекти. >> Објекти не сме виделе сигурно. 348 00:24:48,000 --> 00:24:51,000 Callbacks не сме виделе. 349 00:24:51,000 --> 00:24:54,000 Постојат некои од овие псевдо-типови. 350 00:24:54,000 --> 00:24:57,000 Ние дефинитивно видел само број и двојно. 351 00:24:57,000 --> 00:25:01,000 Ние не видите некои од другите, па ако ние кликнете на броеви 352 00:25:01,000 --> 00:25:08,000 можеме да видиме дали постојат други цели броеви што го имаме тука? 353 00:25:08,000 --> 00:25:11,000 Дали сите тие толку број, број, број. 354 00:25:11,000 --> 00:25:14,000 Некои јазици имаат поголем број видови, 355 00:25:14,000 --> 00:25:23,000 како што видовме на MySQL денес имаше int, а потоа голем int. 356 00:25:23,000 --> 00:25:25,000 Кул. 357 00:25:25,000 --> 00:25:28,000 >> Значи, PHP прирачник. 358 00:25:28,000 --> 00:25:37,000 Да се ​​вратиме на нашиот проблем сет спецификации, а ние сега ќе дојдете до страница 4. 359 00:25:37,000 --> 00:25:41,000 Една од работите што се случува кога ќе добие овие јазици 360 00:25:41,000 --> 00:25:49,000 дека не ја имаат оваа статични пишување, па овие јазици каде што треба да се изјасни 361 00:25:49,000 --> 00:25:52,000 типот на променливата до пред 362 00:25:52,000 --> 00:26:00,000 е да се добие случаи каде што може да почнете да имаат променливи од различни видови 363 00:26:00,000 --> 00:26:04,000 интеракција едни со други, 364 00:26:04,000 --> 00:26:09,000 и PHP прави оваа работа, каде што се обидува да го стори 365 00:26:09,000 --> 00:26:13,000 она што смета дека е најразумниот нешто да се направи 366 00:26:13,000 --> 00:26:18,000 кога имаш 2 различни видови комуницираат едни со други. 367 00:26:18,000 --> 00:26:24,000 На пример, ако гледаме на овие линии на код тука 368 00:26:24,000 --> 00:26:29,000 ќе видите дека ние го добивме она што се случува кога 369 00:26:29,000 --> 00:26:38,000 ние се обидуваме и да додадете стринг 1 до број 2. 370 00:26:38,000 --> 00:26:41,000 Што се случува ако се обидеме и да додадете стринг кој не е нумеричка вредност 371 00:26:41,000 --> 00:26:48,000 туку вистински ликови, CS бројот 50? 372 00:26:48,000 --> 00:26:51,000 Тогаш ќе видиме дали има нешто друго што се случува кога 373 00:26:51,000 --> 00:26:56,000 наместо за додавање на стринг до голем број ние сме додавање на бројот на стринг, 374 00:26:56,000 --> 00:27:00,000 и така натаму и така натаму до точка каде ние сме добивање 375 00:27:00,000 --> 00:27:05,000 некој вид на чудни работи, токму тука каде што имаме 7 + вистина. 376 00:27:05,000 --> 00:27:09,000 Што е грижам значи тоа? 377 00:27:09,000 --> 00:27:19,000 >> Ако вие момци одиме напред и залепите некои на овој код во Вашиот уред. 378 00:27:19,000 --> 00:27:27,000 Можете да ја задржат во dynamic.php. 379 00:27:27,000 --> 00:27:30,000 Ќе видиме што ќе се случи. 380 00:27:41,000 --> 00:27:43,000 [Студентски] Само користење печатење не, printf? 381 00:27:43,000 --> 00:27:52,000 Да, така ќе најдете дека за печатење е исто така валидно функција за печатење во PHP. 382 00:27:52,000 --> 00:27:54,000 Постојат многу различни начини да ја направиш. 383 00:27:54,000 --> 00:27:58,000 Ќе видиме со неколку примери подоцна штом ќе почнам да зборувам 384 00:27:58,000 --> 00:28:02,000 за единствен проблем со кој ние ќе пишувам 385 00:28:02,000 --> 00:28:06,000 а потоа концентрации проблем што ние ќе треба да се напише 386 00:28:06,000 --> 00:28:09,000 дека иако имаме fopen и запишам 387 00:28:09,000 --> 00:28:15,000 тоа е често не е наједноставниот начин да се читаат во содржината на датотеката. 388 00:28:15,000 --> 00:28:21,000 PHP има многу од овие C-како holdovers. 389 00:28:21,000 --> 00:28:28,000 [Студентски] Кога ќе се стави во сите 6 на оние нешта што добиваат само еден број како излез. 390 00:28:28,000 --> 00:28:36,000 [Нејт Х] Кога ќе се стави во сите 6 од овие работи. 391 00:28:36,000 --> 00:28:39,000 Ајде да видиме е тоа затоа што тоа е можно- 392 00:28:39,000 --> 00:28:46,000 една работа е дека овие печати повици не се прекинати на крајот со нови линии. 393 00:28:46,000 --> 00:28:49,000 Нема нова линија одвојување секоја од овие печати повици, 394 00:28:49,000 --> 00:28:51,000 па можеби ќе бидете добивање на еден голем број, 395 00:28:51,000 --> 00:28:58,000 и тоа е навистина само амалгам на нова линија карактери. 396 00:28:58,000 --> 00:29:00,000 [Студентски] Добро, како можам да бидете сигурни дека- 397 00:29:00,000 --> 00:29:03,000 Па, постојат еден куп на различни начини. 398 00:29:03,000 --> 00:29:06,000 Можете рачно да го стави во печати на нова линија карактер, 399 00:29:06,000 --> 00:29:09,000 ехо на нова линија карактер, 400 00:29:09,000 --> 00:29:12,000 печати на нова линија. 401 00:29:12,000 --> 00:29:16,000 [Студентски] Значи Ехото е истото како printf? 402 00:29:16,000 --> 00:29:21,000 >> Printf е како C printf 403 00:29:21,000 --> 00:29:24,000 каде сте печатење форматиран стринг. 404 00:29:24,000 --> 00:29:32,000 Сте го снабдуваат формат стринг, а потоа сите случаеви променливи. 405 00:29:32,000 --> 00:29:39,000 Тоа е често нешто што не се користи- 406 00:29:39,000 --> 00:29:42,000 Да видиме како одрекување, 407 00:29:42,000 --> 00:29:48,000 Јас сум помалку запознаени со PHP отколку што сум со други веб јазици, 408 00:29:48,000 --> 00:29:53,000 и кога сум програмиран во PHP Јас обично не користат printf 409 00:29:53,000 --> 00:29:59,000 затоа што сметам дека е побрзо да се користи низа интерполација способности кои го има, 410 00:29:59,000 --> 00:30:04,000 кои ќе одат во и јас ќе ви покажам во само една секунда, 411 00:30:04,000 --> 00:30:08,000 додека во C ние вид на треба да го направите ова hacky нешто да се добие тоа да се печати правилно. 412 00:30:08,000 --> 00:30:16,000 Ти всушност може да се стави променливи директно во низи во PHP. 413 00:30:16,000 --> 00:30:22,000 Printf е вид на премногу долго за она што јас обично го прават. Да, Ела. 414 00:30:22,000 --> 00:30:25,000 [Ела] Генерално ако добиете анализирам грешка значи тоа- 415 00:30:25,000 --> 00:30:30,000 како на C тоа не ти кажам точно каде што грешка е и тоа што е, 416 00:30:30,000 --> 00:30:34,000 па дали тоа значи изглед преку целиот код и фигурата тоа надвор? 417 00:30:34,000 --> 00:30:39,000 Тоа е обично повеќе насочени од тоа. 418 00:30:39,000 --> 00:30:48,000 Мислам дека во тој случај тоа беше малку надвор, 419 00:30:48,000 --> 00:30:51,000 па мислам дека во тој случај ние се водат за исчезнати точка-запирка. 420 00:30:51,000 --> 00:30:54,000 Таа се обидува да направи смисла на сè, 421 00:30:54,000 --> 00:30:57,000 па како овие толкува јазици, преведувач ќе се обиде 422 00:30:57,000 --> 00:31:01,000 и стори сé за да се направи сè што работа соодветно. 423 00:31:01,000 --> 00:31:04,000 >> Ќе видите, на пример, во вклучите Javascript- 424 00:31:04,000 --> 00:31:10,000 вие ќе често линија изјави завршуваат со точка-запирка само како што го прават во PHP, 425 00:31:10,000 --> 00:31:13,000 исто како што го прават во C. 426 00:31:13,000 --> 00:31:15,000 Во JavaScript некои од вклучите Javascript-толкувачи 427 00:31:15,000 --> 00:31:20,000 во многу пребарувачи ќе се стави во semicolons за вас 428 00:31:20,000 --> 00:31:23,000 ако се случи да им се водат за исчезнати. 429 00:31:23,000 --> 00:31:29,000 Тие ќе се обидат и сместување за некои несовесноста на вашата страна. 430 00:31:29,000 --> 00:31:34,000 Тоа е каде што тоа може да се обидува и обидува и се обидува да се направат работите работа, 431 00:31:34,000 --> 00:31:36,000 а потоа конечно ќе се дојде до точка каде што вели во ред, 432 00:31:36,000 --> 00:31:38,000 Не можам да се направат работите да работат на спасување, и тоа е местото каде што ќе се добие линијата број 433 00:31:38,000 --> 00:31:44,000 тоа може да изгледа малку надвор од точната место. 434 00:31:44,000 --> 00:31:47,000 Океј, па ајде да одиме преку овој навистина брзо. 435 00:31:47,000 --> 00:31:50,000 Што застанавте со Ella, па ајде да одиме во текот на Missy, 436 00:31:50,000 --> 00:31:54,000 и ма, што значи печатење на стринг 1 плус бројот 2 ти даде? 437 00:31:54,000 --> 00:31:56,000 [Ма] 3. >> 3. 438 00:31:56,000 --> 00:31:59,000 Дали тоа има смисла? Вид на? 439 00:31:59,000 --> 00:32:02,000 Дали тоа ви даде број? Дали тоа ви даде низа? 440 00:32:02,000 --> 00:32:05,000 [Ма] Голем број. >> Тоа е број. 441 00:32:05,000 --> 00:32:09,000 Но тоа е тоа печатење, па затоа се случува да ви даде некој вид на стрингот. 442 00:32:09,000 --> 00:32:12,000 >> Едно нешто што можеме да направиме да се провери ова 443 00:32:12,000 --> 00:32:21,000 е ако правиме $ var = 1 + 2 444 00:32:21,000 --> 00:32:28,000 и тогаш велиме ехо на gettype, 445 00:32:28,000 --> 00:32:33,000 па ние сме со користење на трети вид на печатење тука. 446 00:32:33,000 --> 00:32:39,000 Сега можеме да видиме што се случува овде. 447 00:32:39,000 --> 00:32:42,000 Еве што имаме е добивме целобројна надвор од ова. 448 00:32:42,000 --> 00:32:45,000 Иако бевме додавање на овој стринг до голем број, 449 00:32:45,000 --> 00:32:48,000 не добивме низа од него, исто како ма рече. 450 00:32:48,000 --> 00:32:52,000 Бевме добивање на број. 451 00:32:52,000 --> 00:32:57,000 Океј, па ајде да видиме, веднаш до, Кевин. 452 00:32:57,000 --> 00:32:59,000 CS + 50? >> [Кевин] 50. 453 00:32:59,000 --> 00:33:02,000 [Нејт Х] 50. Дали тоа има смисла? 454 00:33:02,000 --> 00:33:04,000 [Кевин] Да. 455 00:33:04,000 --> 00:33:06,000 [Нејт Х] Зошто? Зошто тоа да има смисла за вас? 456 00:33:06,000 --> 00:33:11,000 [Кевин] Поради тоа е само имаат низа, со број вредност нула. 457 00:33:11,000 --> 00:33:16,000 Да, одлично. 458 00:33:16,000 --> 00:33:20,000 Вид на двосмислена ситуации, но тоа е добро да се знае што се случува. 459 00:33:20,000 --> 00:33:25,000 Стела, она што се случува следно со број 1 + стринг 2? 460 00:33:25,000 --> 00:33:27,000 [Стела] 3. >> 3 повторно. 461 00:33:27,000 --> 00:33:30,000 И во овој случај, ние да се низа или број? 462 00:33:30,000 --> 00:33:36,000 >> Да им даде на овој обид. 463 00:33:36,000 --> 00:33:43,000 Секој побрзо од мене го добиете одговорот? Шарлот? 464 00:33:43,000 --> 00:33:46,000 О, јас didn't-во ред, ајде да видиме, ние ќе го стори истото вид на работа 465 00:33:46,000 --> 00:33:49,000 каде што имаме голем број плус стринг, и ние ќе ехо видот, 466 00:33:49,000 --> 00:33:51,000 види она што го добиваме. 467 00:33:51,000 --> 00:33:55,000 Ние, исто така се добие број. 468 00:33:55,000 --> 00:33:58,000 Не е важно кој е стринг, кој е бројот. 469 00:33:58,000 --> 00:34:00,000 Ние сеуште ќе добиете број. 470 00:34:00,000 --> 00:34:04,000 Тоа е уште се случува да го направи она што можеме да очекуваме. 471 00:34:04,000 --> 00:34:09,000 Добро, така Сем, она што за 90 + 9 шишиња од пиво на ѕидот? 472 00:34:09,000 --> 00:34:12,000 [Сем] 99. >> 99. 473 00:34:12,000 --> 00:34:15,000 Не шишиња од пиво на ѕидот, иако. 474 00:34:15,000 --> 00:34:17,000 Тоа ни дава малку повеќе информации за она што се случува. 475 00:34:17,000 --> 00:34:21,000 [Сем] Ако имаше напишано 9 во букви 476 00:34:21,000 --> 00:34:23,000 тогаш ќе има 90, нели? 477 00:34:23,000 --> 00:34:26,000 [Нејт Х] Да. 478 00:34:26,000 --> 00:34:30,000 Прашањето е дали ние би напишани 9 од како N-I-N-Е 479 00:34:30,000 --> 00:34:34,000 ние би добиле 99 или 90? 480 00:34:34,000 --> 00:34:38,000 Ние ќе добијам 90. 481 00:34:38,000 --> 00:34:42,000 Тоа е буквално само барате цифрен карактери. 482 00:34:42,000 --> 00:34:46,000 Тоа не е доволно паметни да го признае број зборови и нешта. Да. 483 00:34:46,000 --> 00:34:48,000 >> [Студентски] Дали постои такво нешто како typecasting во PHP? 484 00:34:48,000 --> 00:34:54,000 Постои, а тоа е токму начинот на кој би го сториле тоа во C. 485 00:34:54,000 --> 00:34:56,000 Што е со 10/7, Шарлот? 486 00:34:56,000 --> 00:34:58,000 [Шарлот] 1,4285. 487 00:34:58,000 --> 00:35:01,000 [Нејт Х] Да, па што би можело да биде изненадување за ова? 488 00:35:01,000 --> 00:35:04,000 Што ќе се случи ако не истиот вид на работа во C, 489 00:35:04,000 --> 00:35:06,000 ако не 10/7 во C? 490 00:35:06,000 --> 00:35:08,000 [Шарлот] Тоа само ќе ви даде-во зависност од тоа колку ви typecasted претпоставувам 491 00:35:08,000 --> 00:35:12,000 тоа ќе ви даде само ограничен број на цифри по децималната. 492 00:35:12,000 --> 00:35:16,000 Да, така ограничен број на цифри по децималната. 493 00:35:16,000 --> 00:35:21,000 Што друго може да биде-ќе ви даде какви било цифри по децималната? 494 00:35:21,000 --> 00:35:28,000 Често не, па уште еднаш, во зависност од тоа како сте го typecasting 495 00:35:28,000 --> 00:35:31,000 тоа може или не може да го претвори во број со подвижна запирка. 496 00:35:31,000 --> 00:35:35,000 Еве тоа беше вид на убаво тоа што го направив тоа. 497 00:35:35,000 --> 00:35:40,000 Се што ви е прикажано ова назад кога почнавме прави овој вид на работи во C 498 00:35:40,000 --> 00:35:44,000 тоа најверојатно ќе се направи малку повеќе смисла 499 00:35:44,000 --> 00:35:48,000 дека не само одат на 1. 500 00:35:48,000 --> 00:35:51,000 А потоа конечно, Џејми, она што за 7 + вистина? 501 00:35:51,000 --> 00:35:53,000 [Џејми] 8. >> 8. 502 00:35:53,000 --> 00:35:56,000 Што значи тоа? 503 00:35:56,000 --> 00:35:58,000 Претпоставувам дека тоа само дава вистинската вредност на 1. 504 00:35:58,000 --> 00:36:01,000 Да. Што се случува ако се промени тоа да лажни? 505 00:36:01,000 --> 00:36:04,000 [Студентски] 7. 506 00:36:04,000 --> 00:36:09,000 Да, па се сети каде зборуваме за овие бинарни вредности, 507 00:36:09,000 --> 00:36:12,000 1 е на 0 е надвор? 508 00:36:12,000 --> 00:36:17,000 Сега имаме вистински е 1, 0 е лажна, 509 00:36:17,000 --> 00:36:21,000 и не може да се гледа ова во C примери дека ние сме направиле ова претходното полугодие, 510 00:36:21,000 --> 00:36:27,000 но историски bool тип во C не е вистински тип, 511 00:36:27,000 --> 00:36:32,000 па луѓето се користи 0 и 1 во местото на вистински и лажни. 512 00:36:32,000 --> 00:36:35,000 Ова е манифестација на тоа. 513 00:36:35,000 --> 00:36:39,000 >> Океј, па еден важен дел за сето ова 514 00:36:39,000 --> 00:36:41,000 е дека имаме овие различни видови. 515 00:36:41,000 --> 00:36:43,000 Тие можат да комуницираат едни со други. 516 00:36:43,000 --> 00:36:49,000 Тие често можат да комуницираат едни со други на начини кои се убави, како што видовме тука. 517 00:36:49,000 --> 00:36:53,000 Тоа е убаво да се биде во можност да имаат стринг 1 и број 2, додадете ги заедно и да добијат 3. 518 00:36:53,000 --> 00:36:55,000 Тоа има смисла. 519 00:36:55,000 --> 00:36:59,000 Меѓутоа, кога сте пишување веб-сајтови, а особено кога сте обработка 520 00:36:59,000 --> 00:37:04,000 корисникот влез, па велат дека сум напишал веб-форма 521 00:37:04,000 --> 00:37:09,000 кој собира информации од корисникот и потоа оди да го обработи 522 00:37:09,000 --> 00:37:13,000 на задниот крај, од страна на серверот во вашиот PHP код 523 00:37:13,000 --> 00:37:18,000 ако сте очекуваме таа вредност што корисникот ја внеле во и да се достави 524 00:37:18,000 --> 00:37:23,000 на вашата форма за да биде број, или да биде број со подвижна запирка или нешто слично 525 00:37:23,000 --> 00:37:29,000 треба експлицитно да го дадат 526 00:37:29,000 --> 00:37:34,000 а потоа направи некои од типот проверка. 527 00:37:34,000 --> 00:37:41,000 >> Вие не сакате само да се потпираат на овој тип жонглирање систем да се направат работите да работат надвор, 528 00:37:41,000 --> 00:37:48,000 особено поради безбедносни причини и само за стабилноста на вашиот вебсајт. 529 00:37:48,000 --> 00:37:51,000 Само нешто да имајте на ум дека кога сте ракување со форма на податоци, 530 00:37:51,000 --> 00:37:57,000 ништо што доаѓа во пост или get superglobals 531 00:37:57,000 --> 00:38:01,000 бидете сигурни дека секогаш се провери и да го претворите и typecast неа. 532 00:38:01,000 --> 00:38:04,000 И само како ние се зборува за еден миг пред тоа typecasting 533 00:38:04,000 --> 00:38:08,000 во PHP е иста како во C каде што ќе имаат голема заграда 534 00:38:08,000 --> 00:38:14,000 и тогаш типот. 535 00:38:14,000 --> 00:38:16,000 Задржи дека во умот. 536 00:38:16,000 --> 00:38:19,000 Една функција која ќе ни се најде кога правиш ова 537 00:38:19,000 --> 00:38:22,000 е ние сме биле користење и ова е вид на како настрана- 538 00:38:22,000 --> 00:38:27,000 ние сме со користење на овој gettype функција токму тука 539 00:38:27,000 --> 00:38:30,000 да дознаам тип на променлива, 540 00:38:30,000 --> 00:38:37,000 и додека ова е корисна за дебагирање и да видиме каков тип на променлива е 541 00:38:37,000 --> 00:38:42,000 не сакате да ја користите оваа, на пример, во состојба каде 542 00:38:42,000 --> 00:38:57,000 сте проверка за да види дали gettype од $ var = број направи нешто. 543 00:38:57,000 --> 00:39:01,000 Ова е лошо, лошо, лошо. 544 00:39:01,000 --> 00:39:09,000 Наместо тоа постојат овие функции се нарекува е цел број, е стринг, 545 00:39:09,000 --> 00:39:14,000 е низа што сакате да го користите, наместо тоа, така што во овој случај 546 00:39:14,000 --> 00:39:18,000 она што јас би сакал да го стори наместо овој човек токму тука 547 00:39:18,000 --> 00:39:31,000 се користи е цел број var. 548 00:39:31,000 --> 00:39:37,000 И тие се често нарекуван е is_ * во смисла дека може да го замени * со број, 549 00:39:37,000 --> 00:39:43,000 стринг, и така натаму, и само за да бидете сигурни дека навистина брзо 550 00:39:43,000 --> 00:39:50,000 е ова е int PHP. 551 00:39:50,000 --> 00:39:59,000 Изгледа како можете да направите или е int или е таму е цел број, како? 552 00:39:59,000 --> 00:40:06,000 Да, алијас, па int број адреси. 553 00:40:06,000 --> 00:40:08,000 Кул. 554 00:40:14,000 --> 00:40:17,000 >> Како правиме ние? 555 00:40:17,000 --> 00:40:20,000 Ајде да ги собереш на темпото малку. 556 00:40:20,000 --> 00:40:24,000 Сега ние ќе зборуваме за низи, така што можете да видите 557 00:40:24,000 --> 00:40:28,000 во следниот дел од спец зборуваме за тоа како низи во PHP 558 00:40:28,000 --> 00:40:31,000 се малку различни од тие во В 559 00:40:31,000 --> 00:40:34,000 За волја на вистината, тие се вид на амалгам на 560 00:40:34,000 --> 00:40:36,000 низи дека си дојден да знае и љубов во C 561 00:40:36,000 --> 00:40:40,000 каде што сè е од ист тип 562 00:40:40,000 --> 00:40:43,000 чуваат решително и contiguously во меморијата, 563 00:40:43,000 --> 00:40:46,000 и имаш овие нумерички индекси. 564 00:40:46,000 --> 00:40:49,000 Имаш индекс 0, индексот 1, индекс 2, 565 00:40:49,000 --> 00:40:53,000 и ќе ги чувате вредности на оние индекси. 566 00:40:53,000 --> 00:40:57,000 Можете исто така во C, кога ќе напиша правопис, многу од вас 567 00:40:57,000 --> 00:41:00,000 направи хаш табелата пристап, и видов дека имавме 568 00:41:00,000 --> 00:41:03,000 различен вид на чување, каде што беа мапирање 569 00:41:03,000 --> 00:41:07,000 клуч за вредност, па кога ќе се обиде да ја запази нешто во хеш табелата 570 00:41:07,000 --> 00:41:11,000 ти мораше да каже дека си сакал да го чува со посебен клуч, 571 00:41:11,000 --> 00:41:17,000 и дека клучните утврди локацијата на вредноста и каде ќе се чуваат. 572 00:41:17,000 --> 00:41:22,000 Сте вид на доби двете од овие концепти се случува во исто време во низа PHP, 573 00:41:22,000 --> 00:41:27,000 и како резултат на тоа, ние често го нарекуваме овие асоцијативни низи 574 00:41:27,000 --> 00:41:33,000 каде што се асоцирањето на клуч во вредност. 575 00:41:33,000 --> 00:41:39,000 Во следниот дел се зборува за едноставна PHP низа 576 00:41:39,000 --> 00:41:45,000 каде што имаме копчиња A, B и C, 577 00:41:45,000 --> 00:41:53,000 сите стрингови, мапирање на цели броеви 1, 2, и 3. 578 00:41:53,000 --> 00:41:57,000 И може да имаат клучевите од различни видови. 579 00:41:57,000 --> 00:42:00,000 >> Можете да имаат некои клучеви кои се стрингови, некои клучеви кои се цели броеви. 580 00:42:00,000 --> 00:42:03,000 Можете да имаат вредности од различни видови. 581 00:42:03,000 --> 00:42:06,000 Можете да имаат вредност која е стринг, вредност која е цел број, 582 00:42:06,000 --> 00:42:11,000 вредност што е предмет или друга низа, на пример, 583 00:42:11,000 --> 00:42:16,000 сите во истата низа објект, кој е вид на чудно. 584 00:42:16,000 --> 00:42:20,000 Вие не треба да имаат низа која е само што влегов еден тип на елемент во неа. 585 00:42:20,000 --> 00:42:26,000 Можете да имаат многу различни работи се случува таму. 586 00:42:26,000 --> 00:42:33,000 Од друга работа е да се напомене е дека кога ќе се направи се види нешто како ова во вашиот код, 587 00:42:33,000 --> 00:42:38,000 која е валидна PHP да прогласи низа исто како и оваа, 0, 1, 2, 3, 4, 5, 588 00:42:38,000 --> 00:42:43,000 дека ќе прогласи иницијализира $ ТП да биде оваа низа. 589 00:42:43,000 --> 00:42:48,000 Но, она што сте всушност добивање под хауба е овој вид на имплицитна 590 00:42:48,000 --> 00:42:55,000 генерација на копчињата, каде што имаме 0-0, 1-1, 2-2, 3-3. 591 00:42:55,000 --> 00:42:59,000 И излегува дека дури и ако имате низа како овој човек се тука 592 00:42:59,000 --> 00:43:03,000 каде што имаш, b и c, како на копчињата 593 00:43:03,000 --> 00:43:09,000 а потоа ќе почнете со користење низа притисни метод за да започнат со користење на оваа низа како оџакот, 594 00:43:09,000 --> 00:43:12,000 па можете да видите дека оваа низа објект, оваа низа е навистина станува преоптоварен. 595 00:43:12,000 --> 00:43:15,000 Ние може да го користи како низа. Ние можеме да го користите како хеш табелата. 596 00:43:15,000 --> 00:43:19,000 Ние може да го користи како оџак. 597 00:43:19,000 --> 00:43:22,000 Кога ќе почнете туркање работи кон оваа низа 598 00:43:22,000 --> 00:43:30,000 првото нешто ве одвлече ова ќе биде индекс 0, а потоа индекс 1 и индекс 2. 599 00:43:30,000 --> 00:43:33,000 Можете да добиете овој вид на имплицитна генерација на клучеви 600 00:43:33,000 --> 00:43:38,000 освен ако не ги наведе експлицитно. 601 00:43:38,000 --> 00:43:43,000 Начинот на кој се одреди клуч експлицитно, се разбира, е со користење на оваа заградата нотација, 602 00:43:43,000 --> 00:43:48,000 која е слична на низи освен наместо на само дозволувајќи 603 00:43:48,000 --> 00:43:54,000 број индекси во еве, сега ние им овозможи на ништо. 604 00:43:54,000 --> 00:43:57,000 Ако сакате вашиот клуч да биде стринг, ќе го наведете допаѓа ова. 605 00:43:57,000 --> 00:44:06,000 Ако сакате тоа да биде цел број, ќе ја определи со int сакате да го користите. 606 00:44:06,000 --> 00:44:13,000 >> Прашања за кои досега? 607 00:44:13,000 --> 00:44:18,000 Една од убавите работи во врска со оваа идеја 608 00:44:18,000 --> 00:44:26,000 е дека само некогаш може да има една вредност се чуваат со посебен клуч. 609 00:44:26,000 --> 00:44:32,000 Ако се вратиме во текот на нашиот апаратот-дозволете ми да избришете некои од овие работи. 610 00:44:32,000 --> 00:44:47,000 И да речеме јас се иницијализира низа да биде 0, 1, 2, направено. 611 00:44:47,000 --> 00:44:55,000 Ако јас сега се знае дека, на пример, ако јас echo $ ТП [0] 612 00:44:55,000 --> 00:44:59,000 Одам да се добие вредност 0 отпечатени, 613 00:44:59,000 --> 00:45:05,000 и бидејќи не може само некогаш да биде една вредност се чуваат за одредена клучен 614 00:45:05,000 --> 00:45:11,000 ако јас сместат нешто од $ ТП [0], велат, 615 00:45:11,000 --> 00:45:16,000 тогаш јас знам, кога echo $ ТП [0] повторно 616 00:45:16,000 --> 00:45:19,000 Јас не одам да се добие 0 отпечатени како порано. 617 00:45:19,000 --> 00:45:24,000 Јас само ќе добие. 618 00:45:24,000 --> 00:45:30,000 Значи ова е во основа велејќи дека не може да има $ ТП [0] чување на 2 различни вредности. 619 00:45:30,000 --> 00:45:34,000 Тоа не може да се сместат и 0 и стринг, вака буквално го заменува 620 00:45:34,000 --> 00:45:38,000 она што беше на $ ТП [0] претходно. 621 00:45:38,000 --> 00:45:43,000 Причината го обелоденам ова е се стартува, да видиме што се случува. 622 00:45:43,000 --> 00:45:47,000 Погледнете тука дека добив 0 отпечатени, а потоа и одредување тука. 623 00:45:47,000 --> 00:45:51,000 Нема нова линија таму, бидејќи јас бев мрзливи и не се стави дека внатре 624 00:45:51,000 --> 00:45:54,000 Што е кул за тоа е може да се користи ова како начин 625 00:45:54,000 --> 00:46:00,000 да го фати оваа идеја на сет 626 00:46:00,000 --> 00:46:07,000 каде што не можат да имаат повеќе копчиња во низа. 627 00:46:07,000 --> 00:46:10,000 Ние не може да има идентични клучеви во низа. 628 00:46:10,000 --> 00:46:17,000 Не може да има клучна 0 и вредност 1 и клучните 0 и вредност 629 00:46:17,000 --> 00:46:21,000 или клучните 0 и вредност точно. 630 00:46:21,000 --> 00:46:27,000 На копчињата се сите има само 1 копче во низа. 631 00:46:27,000 --> 00:46:32,000 И покрај тоа што може да ја имаат истата вредност се чуваат 632 00:46:32,000 --> 00:46:35,000 неколку пати во низа под различни клучеви 633 00:46:35,000 --> 00:46:42,000 тоа не е можно да имаат идентични клучеви неколку пати во вашиот PHP низа. 634 00:46:42,000 --> 00:46:47,000 >> Ако ги погледнеме во следниот проблем, unique.php, 635 00:46:47,000 --> 00:46:51,000 каде сакаме да се отвори датотеката PHP 636 00:46:51,000 --> 00:46:54,000 содржи листа на стрингови, еден стринг една линија, 637 00:46:54,000 --> 00:47:01,000 и ние сакаме да ги најдете сите на уникатен жици во таа датотека 638 00:47:01,000 --> 00:47:06,000 сите ние треба да направите е да користите една од овие PHP низи 639 00:47:06,000 --> 00:47:12,000 и употреба на жици во датотеката како клучевите на овој низа 640 00:47:12,000 --> 00:47:17,000 и да ја задржите ажурирање на нашите низа како ние чување на овие нови клучеви. 641 00:47:17,000 --> 00:47:22,000 Како што ги читаме секоја линија од датотеката може да се чува во низа, 642 00:47:22,000 --> 00:47:28,000 и на крајот ќе имаме како наш клучеви во нашата низа 643 00:47:28,000 --> 00:47:34,000 сите на уникатен стрингови во датотека. 644 00:47:34,000 --> 00:47:37,000 Дали тоа има смисла? 645 00:47:37,000 --> 00:47:41,000 Ајде да видиме како тоа функционира. 646 00:47:41,000 --> 00:47:49,000 Ние ќе се отвори, според спецификации, нов фајл наречен unique.php. 647 00:47:49,000 --> 00:47:58,000 Отвори. Упс, жал, новата датотека. 648 00:47:58,000 --> 00:48:03,000 Ние ќе го започнете со истиот почетокот и крајот тагови. 649 00:48:03,000 --> 00:48:17,000 Ние ќе го зачувате во делот 9, и ние ќе го наречеме unique.php. 650 00:48:17,000 --> 00:48:25,000 Океј, сега зумирате внатре 651 00:48:25,000 --> 00:48:32,000 Идејата е да се отвори датотеката, 652 00:48:32,000 --> 00:48:38,000 читаат во датотека линија по линија. 653 00:48:38,000 --> 00:48:46,000 За секоја линија во датотеката 654 00:48:46,000 --> 00:48:51,000 ќе имаме низа каде што имаме 655 00:48:51,000 --> 00:49:03,000  на линија како што е нашата клуч. 656 00:49:03,000 --> 00:49:09,000 И тогаш кога ќе дојде до крајот тука 657 00:49:09,000 --> 00:49:17,000 Клучеви $ ТП се единствен линии 658 00:49:17,000 --> 00:49:25,000 од датотеката, бидејќи ние знаеме дека ако го ставам линија во оваа низа 659 00:49:25,000 --> 00:49:33,000 неколку пати тоа само ќе го задржи највисок старата вредност, 660 00:49:33,000 --> 00:49:46,000 и ние, всушност, може да се стави низа линија како себе, туку едноставно се допаѓа тоа. 661 00:49:46,000 --> 00:49:48,000 >> Ова е вид на чудно. 662 00:49:48,000 --> 00:49:52,000 Ние сме чување на истата клучните вредност пар одново и одново и одново, 663 00:49:52,000 --> 00:50:00,000 но бидејќи ние се гарантира дека ќе има само 1 клучни наречен линија 664 00:50:00,000 --> 00:50:05,000 па ако имаме датотека која вели-датотека од животинско звуци и има ткиво, ткиво, 665 00:50:05,000 --> 00:50:11,000 meow, meow, moo, moo, и секој пат кога читаме животно бучава од 666 00:50:11,000 --> 00:50:15,000 како ткиво и ние го чуваме во низата ние се добие ткиво, а потоа по втор пат 667 00:50:15,000 --> 00:50:20,000 чуваме ткиво тоа ќе ги избрише прв пат ја чуваат. 668 00:50:20,000 --> 00:50:25,000 На крајот ние само ќе треба еден влез во низа 669 00:50:25,000 --> 00:50:33,000 за секоја од животински звуци во нашата животински звуци датотека. 670 00:50:33,000 --> 00:50:41,000 Дали вие момци се чувствуваат сигурни дека можете да се справи со отворање на датотека во PHP? 671 00:50:41,000 --> 00:50:45,000 Еден начин да го направите тоа, ајде да одиме во текот на овој брзо-еден начин да го направи тоа 672 00:50:45,000 --> 00:50:50,000 е со fopen, како што видовме претходно. 673 00:50:50,000 --> 00:50:55,000 Можете fopen може some_file.txt. 674 00:50:55,000 --> 00:50:59,000 Можете да го отворите во читање на владата, исто како и во C. 675 00:50:59,000 --> 00:51:02,000 Тоа е една совршено добар начин да го направи тоа. 676 00:51:02,000 --> 00:51:05,000 Можете, исто така, тогаш за читање на датотеката линија по линија 677 00:51:05,000 --> 00:51:12,000 имаат исти функции, многу од нив, дека си направил во C. 678 00:51:12,000 --> 00:51:14,000 Имате fgets. 679 00:51:14,000 --> 00:51:17,000 Имате feof, иако не сакаме користење дека 680 00:51:17,000 --> 00:51:22,000 затоа, се сеќавам, тоа не беше голема во C. 681 00:51:22,000 --> 00:51:25,000 Можете да го направи тоа на ист начин, 682 00:51:25,000 --> 00:51:34,000 но тука е навистина кул работа. 683 00:51:34,000 --> 00:51:41,000 За жал, јас не сакам да се направи $ датотека, но постои функција наречена датотека во PHP, 684 00:51:41,000 --> 00:51:47,000 и оваа функција, токму тука е кул бидејќи го чита целата содржина 685 00:51:47,000 --> 00:51:52,000 на датотеката што ќе се определи, па some_file.txt, 686 00:51:52,000 --> 00:51:56,000 чита на целата содржина на оваа датотека во низа 687 00:51:56,000 --> 00:52:03,000 а потоа ви овозможува да iterate над неа, што е прилично Вешта. 688 00:52:03,000 --> 00:52:07,000 >> Ако одиме, на пример, на нашата веб прелистувач 689 00:52:07,000 --> 00:52:14,000 и ние со нетрпение во Google за датотеката PHP 690 00:52:14,000 --> 00:52:23,000 можете да видите тука дека нашите прирачник вели таа датотека чита целата датотека во низа, 691 00:52:23,000 --> 00:52:27,000 и можеме да file_get_contents да се врати на содржината на фајл како стринг, 692 00:52:27,000 --> 00:52:30,000 но обично само го добива како низа е навистина убаво, бидејќи она што го прави 693 00:52:30,000 --> 00:52:33,000 е тоа што се распаѓа, така што секој елемент 694 00:52:33,000 --> 00:52:37,000 во низа е една линија на датотеката, 695 00:52:37,000 --> 00:52:41,000 па ако гледаме на датотеката 0, тоа е првата линија на датотеката. 696 00:52:41,000 --> 00:52:46,000 Датотека 1, втора линија, датотека 2, трета линија, и така натаму и така натаму. 697 00:52:46,000 --> 00:52:50,000 Зарем не би било убаво ако тоа беше сè што мораше да го направи во C? 698 00:52:50,000 --> 00:52:53,000 Убави Вешта. 699 00:52:53,000 --> 00:52:59,000 Дејвид покажа ова предавање, и идиом го покажа беше 700 00:52:59,000 --> 00:53:03,000 дека во прилог на нашите стандардни за телефонска линија во PHP имавме дека 701 00:53:03,000 --> 00:53:09,000 за ($ i = 0; з <10; i + +), 702 00:53:09,000 --> 00:53:16,000 и можете да го направите тоа во PHP премногу, истото- 703 00:53:16,000 --> 00:53:27,000 ние исто така имаме овој кул конструкт наречен foreach. 704 00:53:27,000 --> 00:53:32,000 Foreach е навистина корисна кога процесирањето над низи или овие структури на податоци 705 00:53:32,000 --> 00:53:36,000 поради тоа што ви овозможува да се повлече од секој елемент од низата 706 00:53:36,000 --> 00:53:42,000 без рачно да го направи индексирање себе, 707 00:53:42,000 --> 00:53:46,000 без рачно да креирате индекс променлива, прираст, 708 00:53:46,000 --> 00:53:51,000 извлечете го вредност во низа во тој момент, бидејќи тоа е многу честа работа да се направи. 709 00:53:51,000 --> 00:53:54,000 >> Најверојатно го направиле тоа тони моменти кога сте биле прави Ц работи 710 00:53:54,000 --> 00:54:00,000 во текот на семестарот, па со оваа foreach 711 00:54:00,000 --> 00:54:06,000 можеме јамки низ оваа датотека низа, 712 00:54:06,000 --> 00:54:12,000 и синтаксата е дека ние сакаме да сега јамки низ оваа низа 713 00:54:12,000 --> 00:54:18,000 и наведете дека променливата ние ќе го користите за чување 714 00:54:18,000 --> 00:54:27,000 елемент на оваа низа локално, локално до опсегот на овој циклус foreach, 715 00:54:27,000 --> 00:54:32,000 е ние ќе го наречеме линија. 716 00:54:32,000 --> 00:54:38,000 Ако тоа е датотека од само зборови и таму е еден збор во линија 717 00:54:38,000 --> 00:54:43,000 можеме да го наречеме зборот, како, навистина само ви даде ова име, 718 00:54:43,000 --> 00:54:49,000 што сакате да ја наречете, 719 00:54:49,000 --> 00:55:02,000 а потоа во внатрешноста на јамка можете да правите што сакате со оваа променлива линија. 720 00:55:02,000 --> 00:55:08,000 Ако тоа не е доволно за да се добие вредноста на низа и сакате да се добие 721 00:55:08,000 --> 00:55:17,000 индексот заедно со него можете да наведете име за индекс 722 00:55:17,000 --> 00:55:22,000 како и вредноста, а сега вие имате пристап до 2 променливи. 723 00:55:22,000 --> 00:55:26,000 Имате $ i и линија 724 00:55:26,000 --> 00:55:30,000 каде што $ i е индекс во низа, 725 00:55:30,000 --> 00:55:38,000 и линија е линија која ќе извадени од датотеката. 726 00:55:38,000 --> 00:55:49,000 На пример, ако сакаме да се печати ехо линија 0 на датотеката како оваа, 727 00:55:49,000 --> 00:55:57,000 ние би можеле да го прават тоа само вака, "Линија $ i на датотеката е $ линија" 728 00:55:57,000 --> 00:56:02,000 и тука е нешто што, исто така, не сум ја видел уште или 729 00:56:02,000 --> 00:56:13,000 каде што сум тотално прескокнат во текот% целата оваа% s г бизнис 730 00:56:13,000 --> 00:56:16,000 дека ние мораше да се справи со нив, во Ц, и наместо тоа сум отишол директно на 731 00:56:16,000 --> 00:56:19,000 пишување на променливи во линија во мојата стринг. 732 00:56:19,000 --> 00:56:23,000 >> Ова се нарекува променлива интерполација, стринг интерполација 733 00:56:23,000 --> 00:56:26,000 каде сте кутии на променливи во право, и преведувачот PHP 734 00:56:26,000 --> 00:56:31,000 е доволно паметни кога е читање преку низа која започнува со двојни наводници- 735 00:56:31,000 --> 00:56:34,000 не единечен наводник, со еден цитира стрингови не можете да го направите ова- 736 00:56:34,000 --> 00:56:38,000 но со двојно цитира стрингови како што пишува преку неа е во потрага по променливи. 737 00:56:38,000 --> 00:56:42,000 Тоа им лов на одредување и ако гледа променливи ќе ги преземе вредноста на променливата 738 00:56:42,000 --> 00:56:47,000 и работи во низа ако може да го претвори во стринг застапеност, 739 00:56:47,000 --> 00:56:51,000 што е прилично Вешта. 740 00:56:51,000 --> 00:56:56,000 За сега, да се коментира од остатокот од сè, 741 00:56:56,000 --> 00:57:00,000 спаси ова, и што можеме да направиме сега е што може да се отвори датотеката 742 00:57:00,000 --> 00:57:06,000 дека можеме да го наречеме some_file.txt-ајде да се создаде новата датотека- 743 00:57:06,000 --> 00:57:15,000 и ние може да се стави во еден куп глупости работи тука само за да го тестирате се надвор, 744 00:57:15,000 --> 00:57:25,000 освен тоа, го нарекуваат some_file.txt, како што јас го правам се тука на врвот, 745 00:57:25,000 --> 00:57:33,000 и сега ако ми одзумирате само за да бидете сигурни дека сè е во истиот директориум- 746 00:57:33,000 --> 00:57:36,000 изгледа имам unique.php и some_file.txt во истиот директориум. 747 00:57:36,000 --> 00:57:42,000 Ако јас се кандидира PHP unique.php 748 00:57:42,000 --> 00:57:51,000 да видиме како тоа отпечатоци од секоја линија во мојот датотека и она што линијата е? 749 00:57:51,000 --> 00:57:56,000 >> Тоа е прилично моќна, нели? 750 00:57:56,000 --> 00:58:03,000 Види, тоа траеше 3 линии на код за да се отвори датотеката. 751 00:58:03,000 --> 00:58:08,000 Па, 4 линии на код. Јас не може да смета денес, јасно. 752 00:58:08,000 --> 00:58:13,000 Но, навистина само 2 интересни линии на код, бидејќи другите 2 се кадрави загради, 753 00:58:13,000 --> 00:58:17,000 но во овој многу код бевме во можност да отворите некоја датотека, iterate преку него, 754 00:58:17,000 --> 00:58:20,000 повлече линија број и линија се 755 00:58:20,000 --> 00:58:24,000 и го испечатите. 756 00:58:24,000 --> 00:58:26,000 Кул работи. Шарлот. 757 00:58:26,000 --> 00:58:28,000 [Шарлот] Имам едно прашање во врска со синтакса. 758 00:58:28,000 --> 00:58:33,000 Значи foreach занимава со секоја линија на датотеката што ќе се отвори, 759 00:58:33,000 --> 00:58:37,000 и тогаш кога ќе сакате да ги правите нештата со секоја линија што само го прават тоа како 760 00:58:37,000 --> 00:58:39,000 а потоа поврзете вредност. 761 00:58:39,000 --> 00:58:41,000 [Нејт Х] Што можете да направите токму тука-на прашањето беше 762 00:58:41,000 --> 00:58:46,000 на foreach мора да се направи со низа, па foreach синтакса 763 00:58:46,000 --> 00:58:51,000 е навистина foreach и известување дека нема простор 764 00:58:51,000 --> 00:58:53,000 или нешто помеѓу за и секоја од нив. 765 00:58:53,000 --> 00:58:56,000 Тие мора да одат веднаш до едни со други, 766 00:58:56,000 --> 00:59:00,000 а потоа го зема во низа, 767 00:59:00,000 --> 00:59:05,000 а потоа ќе ја имаат оваа други клучни нарекува како што треба да биде таму, 768 00:59:05,000 --> 00:59:11,000 а потоа по што можете да се стави една променлива име, 769 00:59:11,000 --> 00:59:14,000 во кој случај ќе треба да се повлече од вредностите на низата, 770 00:59:14,000 --> 00:59:20,000 не индекси, или ако го направи тоа како што сум напишал подолу 771 00:59:20,000 --> 00:59:24,000 ќе го добиете клучеви и вредности. 772 00:59:24,000 --> 00:59:33,000 Имате foreach елемент на низа или пар на низата како усогласени со вредност 773 00:59:33,000 --> 00:59:38,000 или само како вредност. 774 00:59:38,000 --> 00:59:40,000 Во зависност од она што ви треба, ако не морате копчињата, 775 00:59:40,000 --> 00:59:42,000 тогаш можете да одите со вредноста. 776 00:59:42,000 --> 00:59:45,000 Ако сакате копчињата можете да одите со нив. 777 00:59:45,000 --> 00:59:48,000 >> [Шарлот] Јас, исто така реализира ние никогаш прогласи јас или линија. 778 00:59:48,000 --> 00:59:51,000 Како тоа дури и не знаат што се тие? 779 00:59:51,000 --> 00:59:53,000 [Нејт Х] Што сакаш да кажеш со декларираат? 780 00:59:53,000 --> 00:59:57,000 [Шарлот] Ние никогаш не им кажа она што јас или линија средства. 781 00:59:57,000 --> 01:00:01,000 [Нејт Х] Ние никогаш не кажа на компјутерот што јас или линија значи во однос на- 782 01:00:01,000 --> 01:00:05,000 [Шарлот] дека тие се индексирани или дека they're- 783 01:00:05,000 --> 01:00:09,000 [Нејт Х] Ние никогаш не го кажа дека ова би требало да биде индекс или клуч и вредност, 784 01:00:09,000 --> 01:00:13,000 а тоа е затоа што тоа е PHP преведувач. 785 01:00:13,000 --> 01:00:17,000 Ова служи како декларација и вели во ред, клучот ќе биде 786 01:00:17,000 --> 01:00:20,000 променлива наречена јас се чуваат во променлива наречена i. 787 01:00:20,000 --> 01:00:24,000 Вредноста ќе се чуваат во променлива наречена линија, 788 01:00:24,000 --> 01:00:28,000 па ова служи како декларација на овие променливи 789 01:00:28,000 --> 01:00:35,000 и вели дека $ i е клучна, и $ линија е вредност. 790 01:00:35,000 --> 01:00:37,000 Да, Ела. 791 01:00:37,000 --> 01:00:41,000 [Ела] Ако клучеви не се направи бројно 792 01:00:41,000 --> 01:00:44,000 како тоа да одлучи што да се случува да се печати сè? 793 01:00:44,000 --> 01:00:47,000 Дали е тоа исто како да тоа е внесен во? 794 01:00:47,000 --> 01:00:51,000 [Нејт Х] Ајде да пробвам. 795 01:00:51,000 --> 01:00:57,000 Да се ​​создаде променлива наречена ТП, 796 01:00:57,000 --> 01:01:06,000 и можеме да направиме оди до 7. 797 01:01:06,000 --> 01:01:19,000 Да речеме 0 оди во друга низа со 1, 2 или јаболко. 798 01:01:19,000 --> 01:01:30,000 Да речеме 7 оди на 1, б оди 2, 799 01:01:30,000 --> 01:01:39,000 и 3 оди на 4. 800 01:01:39,000 --> 01:01:44,000 Ова е вид на луди потрага пример, бидејќи ние сме мешање 801 01:01:44,000 --> 01:01:47,000 жици и цели броеви насекаде. 802 01:01:47,000 --> 01:01:50,000 Нема вистинска цел на оваа низа. 803 01:01:50,000 --> 01:01:55,000 Мислам, ние би можеле да нарачате се по азбучен ред од страна на клучеви. 804 01:01:55,000 --> 01:01:57,000 Би можеле да порачаме се по азбучен ред од вредност. 805 01:01:57,000 --> 01:02:00,000 >> Ние би можеле да се обиде и да ги земе предвид дека некои се стрингови, некои се ints, 806 01:02:00,000 --> 01:02:03,000 и ние би можеле да се обидат и да ги конвертирате сите на ист тип и да видиме што се случува, 807 01:02:03,000 --> 01:02:09,000 или би можеле да ги разгледа во вредност во кои веќе ги внесе 808 01:02:09,000 --> 01:02:14,000 каде што ќе стави овој човек во прв, овој човек во секунда, овој човек во третата, 809 01:02:14,000 --> 01:02:19,000 овој човек во четвртата, итн. 810 01:02:19,000 --> 01:02:23,000 Ајде да видиме што ќе се случи кога ќе ја извршите оваа код. 811 01:02:23,000 --> 01:02:29,000 Ако ние движете се надолу и го стори истото вид на работа, 812 01:02:29,000 --> 01:02:31,000 и тука не е печатење на нови линии. 813 01:02:31,000 --> 01:02:35,000 Кога го прочита работи надвор на датотеката е вклучувајќи го и новиот линии во вредности, 814 01:02:35,000 --> 01:02:38,000 кој е зошто тоа отпечатени убаво, а тука не, 815 01:02:38,000 --> 01:02:40,000 па затоа сè е smushed заедно. 816 01:02:40,000 --> 01:02:44,000 Да додадете во таа нова линија само за да се направат работите убаво. 817 01:02:44,000 --> 01:02:51,000 Да го повторување, и така тука 818 01:02:51,000 --> 01:02:54,000 погледнете што се случи. 819 01:02:54,000 --> 01:03:00,000 Тоа печатени се во редоследот по кој ние го стави во низа. 820 01:03:00,000 --> 01:03:10,000 Тоа не зачува редот во таа смисла. 821 01:03:10,000 --> 01:03:15,000 >> Да се ​​вратам на овој проблем на uniques 822 01:03:15,000 --> 01:03:20,000 каде што сакате да бидат во можност да iterate во текот на еден фајл, 823 01:03:20,000 --> 01:03:24,000 и ние ќе го даде some_file.txt, 824 01:03:24,000 --> 01:03:27,000 и ние ќе iterate над неа се допаѓа ова. 825 01:03:27,000 --> 01:03:31,000 Рековме дека сакаме да се користи низа да бидете сигурни дека ние би добиле сите 826 01:03:31,000 --> 01:03:36,000 уникатен линии од таму, а ние може да го направи тоа навистина лесно 827 01:03:36,000 --> 01:03:49,000 само со чување во низа што ние секако прогласи надвор од опсегот на еден циклус, 828 01:03:49,000 --> 01:03:55,000 и рековме дека ако ние се користи на линии во датотеката како клучеви во нашата низа 829 01:03:55,000 --> 01:03:59,000 ако влезе во дупликат линија ќе ни биде највисок претходната вредност. 830 01:03:59,000 --> 01:04:08,000 Тоа не е секогаш можно да има 2 копчиња кои се идентични во истата низа. 831 01:04:08,000 --> 01:04:13,000 Ние можеме да го прават токму тоа. 832 01:04:13,000 --> 01:04:17,000 Ние ќе се ослободи од овој ехо изјава токму тука. 833 01:04:17,000 --> 01:04:24,000 Тука ние сме чување на линија во датотеката во нашата низа 834 01:04:24,000 --> 01:04:28,000 користење на себеси како клуч. 835 01:04:28,000 --> 01:04:32,000 Ништо на него, и излегува дека ние дури и не треба овој клуч. 836 01:04:32,000 --> 01:04:38,000 Ние не треба дека јас променлива. 837 01:04:38,000 --> 01:04:43,000 Во овој момент, ако ние требаше да се направи уште еден foreach циклусот 838 01:04:43,000 --> 01:04:48,000 и бевме да јамки низ секоја ТП 839 01:04:48,000 --> 01:04:56,000 и линија сега ако ние ехо-Упс, жал. 840 01:04:56,000 --> 01:05:00,000 Ние не можеме да го користите запирка. Ние треба да го користи ова како клучен збор. 841 01:05:00,000 --> 01:05:05,000 Сега ако ние ехо линија треба да ги добиете сите на уникатен зборови во датотека. 842 01:05:05,000 --> 01:05:10,000 Ако одиме до some_file.txt, 843 01:05:10,000 --> 01:05:19,000 и да речеме правиме јаболко, банана, јаболко, јаболко, банана, 844 01:05:19,000 --> 01:05:22,000 ако сте печатење од сите на уникатен зборови во оваа датотека ние само треба да добие 845 01:05:22,000 --> 01:05:30,000 јаболко и банана за печатење. 846 01:05:30,000 --> 01:05:36,000 Ако ние го спаси ова, сега тука ќе зумирате назад во, 847 01:05:36,000 --> 01:05:44,000 PHP unique.php и TA-da. 848 01:05:44,000 --> 01:05:51,000 Ние успешно uniqued на датотеката. 849 01:05:51,000 --> 01:05:55,000 >> Завршниот дел на овој проблем бара да се најде оваа низа пред да го испечати 850 01:05:55,000 --> 01:05:58,000 бидејќи во овој едноставен пример дека ние сме само направено 851 01:05:58,000 --> 01:06:04,000 Имавме среќа, во смисла дека на датотеки 852 01:06:04,000 --> 01:06:06,000 Ние го сторивме тоа смислена пример со јаболка и банани. 853 01:06:06,000 --> 01:06:08,000 Веќе беше подредени. 854 01:06:08,000 --> 01:06:19,000 Но со користење на едноставни вид функција можете да ги подредите низа, што е прилично Вешта. 855 01:06:19,000 --> 01:06:24,000 Конечниот нешто што сакав да разговарам со вас момци за навистина брзо 856 01:06:24,000 --> 01:06:31,000 е дека овој вид на PHP е добро и добро, и тоа е супер корисна 857 01:06:31,000 --> 01:06:43,000 да знаете како да направите ако некогаш треба да направите малку, брзо работи програмски. 858 01:06:43,000 --> 01:06:48,000 На пример, ако ми треба да се напише програма која, да речеме, 859 01:06:48,000 --> 01:06:53,000 става сите во секции Јас не одам за да одат и да пишува тоа во C. 860 01:06:53,000 --> 01:06:55,000 Тоа ќе биде долг. 861 01:06:55,000 --> 01:06:57,000 Тоа се случува да биде еден вид на болка, особено ако постојат датотеки кои се вклучени, 862 01:06:57,000 --> 01:07:00,000 исто како вие момци го виделе. 863 01:07:00,000 --> 01:07:05,000 Тоа е толку убаво тоа што со само ова многу код овде 864 01:07:05,000 --> 01:07:08,000 бевме во можност да дупат датотека, повлечат сите уникатни вредности 865 01:07:08,000 --> 01:07:11,000 и ги печати назад. 866 01:07:11,000 --> 01:07:16,000 >> Сепак, за вашите задачи, за вашите проекти, 867 01:07:16,000 --> 01:07:20,000 ако сте градење на веб-сајтови со PHP моќ е во тоа што 868 01:07:20,000 --> 01:07:25,000 ние сме водење на PHP датотеки преку овој преведувач, 869 01:07:25,000 --> 01:07:29,000 и преведувач е преработка се во рамките на PHP тагови, 870 01:07:29,000 --> 01:07:34,000 оставајќи сè друго недопрена и плукање од резултатите. 871 01:07:34,000 --> 01:07:40,000 Ние можеме да го направите ова да се изгради HTML програмски. 872 01:07:40,000 --> 01:07:46,000 Сега, ако ние одиме назад до спецификации, последниот проблем во спец 873 01:07:46,000 --> 01:07:56,000 зборува за оваа идеја на концентрации 874 01:07:56,000 --> 01:08:01,000 и создавање на опаѓачкото мени, 875 01:08:01,000 --> 01:08:06,000 кои може или не може да сакате да направите, во зависност од она што ти го финалниот проект што прави, 876 01:08:06,000 --> 01:08:13,000 која му овозможува на корисникот да избере од листата на сите можни концентрации 877 01:08:13,000 --> 01:08:15,000 нивниот една концентрација. 878 01:08:15,000 --> 01:08:21,000 Сега, ова е вид на болка да напишеш ова 879 01:08:21,000 --> 01:08:25,000 и треба да го направите сето ова рачно, особено кога сте морале да бидете сигурни дека 880 01:08:25,000 --> 01:08:28,000 дека ги имате сите аглести загради во право место и сите цитати на право место, 881 01:08:28,000 --> 01:08:34,000 па со PHP можете да го направите ова програмски, и можете да го направите ова навистина брзо. 882 01:08:34,000 --> 01:08:36,000 >> Ајде да видиме како да го направите тоа. 883 01:08:36,000 --> 01:08:42,000 Ние ќе се отвори нова датотека. 884 01:08:42,000 --> 01:08:46,000 Ние ќе се стави во нашите PHP тагови. 885 01:08:46,000 --> 01:08:53,000 Ние ќе го наречеме concentrations.php, 886 01:08:53,000 --> 01:08:58,000 и сега кога го правиш ова, вид на добра работа да се размислува за 887 01:08:58,000 --> 01:09:02,000 кога ќе се обидуваш да се меша и натпревар на вашиот PHP и HTML- 888 01:09:02,000 --> 01:09:08,000 се пронајдат, во ред, што е дел кој сакам да програмски генерира? 889 01:09:08,000 --> 01:09:11,000 Што е делот кој јас програмски може да генерира? 890 01:09:11,000 --> 01:09:17,000 Точно е дека можете да направите сите од вашиот HTML 891 01:09:17,000 --> 01:09:19,000 внатрешноста на PHP блокови. 892 01:09:19,000 --> 01:09:24,000 Можете да ехо сите на HTML како жици. 893 01:09:24,000 --> 01:09:30,000 На пример, ако сакам да започне да го изберете тагови внатрешноста на PHP 894 01:09:30,000 --> 01:09:46,000 Можам да кажам ехо, велат изберете име = концентрација, 895 01:09:46,000 --> 01:09:49,000 а потоа долу би можел да има уште еден ехо таг 896 01:09:49,000 --> 01:09:57,000 или друг ехо наречен затвори изберете. 897 01:09:57,000 --> 01:10:00,000 Ова е еден начин да го направи тоа затоа што тоа е буквално ќе направи 898 01:10:00,000 --> 01:10:09,000 се печати од овој стринг кога е извршена преку преведувач PHP, 899 01:10:09,000 --> 01:10:12,000 па резултатот ќе биде HTML. 900 01:10:12,000 --> 01:10:18,000 Ако јас ја зачувате оваа датотека како што е сега 901 01:10:18,000 --> 01:10:24,000 и јас се кандидира PHP concentrations.php 902 01:10:24,000 --> 01:10:26,000 погледне во она што го добив. 903 01:10:26,000 --> 01:10:30,000 Добив овој отворен во близина изберете таг. 904 01:10:30,000 --> 01:10:36,000 >> Ако јас да го направи ова и јас да се спаси овој резултат во датотека, 905 01:10:36,000 --> 01:10:45,000 да речеме, concentrations.html-чекај, тоа изгледа како л помина во текот на другата страна 906 01:10:45,000 --> 01:11:02,000 сега ако не ми се отвори тука concentrations.html гледате Јас имам една валидна HTML датотека. 907 01:11:02,000 --> 01:11:05,000 Е дека вид на чудно? 908 01:11:05,000 --> 01:11:09,000 Ние сме користење на PHP да се создаде HTML, создаде валидна HTML. 909 01:11:09,000 --> 01:11:13,000 Начинот на кој ние си го прави тоа е ние сме само има печати PHP 910 01:11:13,000 --> 01:11:16,000 на HTML дека ние сакаме да се печати. 911 01:11:16,000 --> 01:11:20,000 Ова е буквално како PHP веб-сајтови се работи. 912 01:11:20,000 --> 01:11:24,000 Кога ќе ја посетите веб-сајт кој ви праќа на нешто како 913 01:11:24,000 --> 01:11:30,000 нешто, нешто, нешто dot com коса црта index.php 914 01:11:30,000 --> 01:11:33,000 компјутерот е буквално повикување index.php, 915 01:11:33,000 --> 01:11:38,000 трчање преку преведувач PHP, и она ѓубре излегува 916 01:11:38,000 --> 01:11:49,000 тоа е испраќање назад на прелистувачот и велејќи еј, интернет пребарувач, интерпретираат тоа како HTML. 917 01:11:49,000 --> 01:11:54,000 На убаво нешто е дека тоа може да биде болка постојано да пишуваат ехо, ехо, ехо, ехо 918 01:11:54,000 --> 01:11:59,000 и приложете се што е во наводници, како таков, па ако сакате да напишете 919 01:11:59,000 --> 01:12:04,000 HTML кодот кој нема да бидат статични себе може да го направи тоа како оваа, 920 01:12:04,000 --> 01:12:16,000 стави надвор, затворете го, 921 01:12:16,000 --> 01:12:21,000 а потоа тука можете само стави во внатрешноста на PHP тагови она што го знаете 922 01:12:21,000 --> 01:12:26,000 дека сакате да го програмски произведуваат, а во овој случај тоа е оние опција тагови 923 01:12:26,000 --> 01:12:31,000 кои се болка да произведуваат. 924 01:12:31,000 --> 01:12:37,000 >> На пример, ние би можеле да генерираат илјади опција тагови 925 01:12:37,000 --> 01:12:48,000 правејќи нешто како ова, $ i <1000, i + + 926 01:12:48,000 --> 01:13:00,000 и велејќи ехо опција вредност = $-Whoops, не можам да го направите тоа. 927 01:13:00,000 --> 01:13:03,000 Па, ајде да го даде се обиде и да видиме што се случува. 928 01:13:03,000 --> 01:13:22,000 $ I, а потоа велејќи $ i 01:13:27,000 Наместо да напишеш дека опцијата таг илјада различни времиња 930 01:13:27,000 --> 01:13:33,000 Јас сум со користење на PHP код да го генерира автоматски, програмски. 931 01:13:33,000 --> 01:13:38,000 Вид на Вешта. Да. 932 01:13:38,000 --> 01:13:41,000 Се сеќавам ова е спомната ниту во предавање или Walkthrough, 933 01:13:41,000 --> 01:13:43,000 но она што е разликата помеѓу наводници, 934 01:13:43,000 --> 01:13:45,000 нормално оние кои и овие единствено работите? 935 01:13:45,000 --> 01:13:49,000 Тоа е всушност нешто што го направив погрешно тука дека ќе одам да ви покаже. 936 01:13:49,000 --> 01:13:52,000 На единечен наводник не дозволуваат некои посебни знаци, 937 01:13:52,000 --> 01:13:57,000 така што во еден Цитираниот текст се толкува буквално. 938 01:13:57,000 --> 01:14:02,000 Ако имав \ n внатрешноста на единечен наводник и јас го спаси ова, на пример, 939 01:14:02,000 --> 01:14:07,000 а сега одам долу тука и да ја стартувате- 940 01:14:07,000 --> 01:14:12,000 Упс, каде одам? 941 01:14:12,000 --> 01:14:19,000 Ох, тоа е затоа што сум заборавил долари. 942 01:14:19,000 --> 01:14:25,000 >> Сега, ако јас се отворат-всушност, тука, ние ќе се ослободи од него пишување во датотека. 943 01:14:25,000 --> 01:14:27,000 Ние само ќе го прочита. 944 01:14:27,000 --> 01:14:34,000 Тука ќе видите дека имам овој буквален \ n во низа, како не е вистински нова линија, 945 01:14:34,000 --> 01:14:38,000 и, исто така, наместо всушност interpolating вредноста на оваа променлива 946 01:14:38,000 --> 01:14:42,000 тоа ми даде $ i себе, што е еден вид на болка. 947 01:14:42,000 --> 01:14:46,000 На начин околу ова е да се користи двојни наводници, 948 01:14:46,000 --> 01:14:52,000 а потоа кога користите двојни наводници тоа всушност ќе 949 01:14:52,000 --> 01:14:56,000 правилно интерполирам вредностите на сите овие променливи тука 950 01:14:56,000 --> 01:14:59,000 и исто така, признава овој \ n да биде нова линија дека тоа е 951 01:14:59,000 --> 01:15:02,000 а не \ n. 952 01:15:02,000 --> 01:15:07,000 Со користење на еден од нив е убаво кога имате 953 01:15:07,000 --> 01:15:10,000 карактери кои може да се толкува како специјални карактери бидејќи тогаш не треба да се 954 01:15:10,000 --> 01:15:15,000 избега нив постојано. 955 01:15:15,000 --> 01:15:18,000 Работите може да се добие неуредна, и често начинот на кој јас го направи тоа, 956 01:15:18,000 --> 01:15:24,000 само да се направат нештата лесно, е дека ако јас ќе одам да имаат ништо 957 01:15:24,000 --> 01:15:31,000 HTML како во мојот код ќе се уреди во рамките единечен наводник 958 01:15:31,000 --> 01:15:36,000 и потоа користете го овој сплет оператор 959 01:15:36,000 --> 01:15:43,000 да concatenate променливи внатре 960 01:15:43,000 --> 01:15:47,000 Ова е уште еден начин да се направи тоа 961 01:15:47,000 --> 01:15:52,000 каде што ние го добивме точка што се случува да се поврзете овој е стринг 962 01:15:52,000 --> 01:15:56,000 со овој со овој со ова, 963 01:15:56,000 --> 01:15:59,000 и сега не мора да се избега овие двојни наводници. 964 01:15:59,000 --> 01:16:02,000 Јас не мора да го користите овој човек да избега. 965 01:16:02,000 --> 01:16:08,000 Тие буквално ќе бидат испечатени како двојни наводници, а потоа овој човек овде. 966 01:16:08,000 --> 01:16:11,000 Ова е уште еден начин на мешање сето заедно. 967 01:16:11,000 --> 01:16:14,000 >> [Студентски] Исто така, кога ќе се повтори gettype немаше наводници на сите. 968 01:16:14,000 --> 01:16:22,000 Право, па ехо е вид на специјални, во смисла дека не треба загради. 969 01:16:22,000 --> 01:16:29,000 Вие не треба да имаат наводници значи околу варијабли, 970 01:16:29,000 --> 01:16:37,000 како што е валидна да се каже echo $ i, а тоа ќе интерпретираат тоа како стринг. 971 01:16:37,000 --> 01:16:44,000 Тоа се случува да се направи за кастингот, па ние би можеле да го направите ова, и тоа е валиден исто така, но ние не треба. 972 01:16:44,000 --> 01:16:48,000 Тоа е задолжително. 973 01:16:48,000 --> 01:16:53,000 Во проблем сет оваа недела внимавате многу на овој вид на работи 974 01:16:53,000 --> 01:16:58,000 каде си мешање и за појавување на HTML со PHP 975 01:16:58,000 --> 01:17:08,000 исто како и оваа, и сега ако ние дојдете назад и ние ја извршите оваа 976 01:17:08,000 --> 01:17:13,000 можеме да видиме дека имаме еден куп на опција вредности 977 01:17:13,000 --> 01:17:15,000 дека само што влегов печатени надвор. 978 01:17:15,000 --> 01:17:20,000 Имаме сето ова HTML кој доби генерирана навистина брзо за нас. 979 01:17:20,000 --> 01:17:22,000 Ќе го оставиме тоа како вежба. 980 01:17:22,000 --> 01:17:24,000 Тоа е многу сличен на датотека за читање како да сме направиле порано. 981 01:17:24,000 --> 01:17:31,000 >> Постои concentrations.txt датотека што можете да ги повлечат надолу од CDN, 982 01:17:31,000 --> 01:17:34,000 и можете да го отворите со користење на истите foreach трик што го правевме претходно, 983 01:17:34,000 --> 01:17:39,000 и foreach едноставно мора да ехо опција и приклучок во 984 01:17:39,000 --> 01:17:44,000 соодветните вредности, соодветни клучеви и индекси, 985 01:17:44,000 --> 01:17:49,000 а потоа ќе добиете паѓачкото кои буквално создава 986 01:17:49,000 --> 01:17:54,000 програмски за вас сите на различни концентрации на Харвард. 987 01:17:54,000 --> 01:17:57,000 А корисна работа да се има. 988 01:17:57,000 --> 01:18:02,000 Има многу на конфигурација нешта за оваа задача. 989 01:18:02,000 --> 01:18:07,000 Ако не сте го направиле тоа веќе го направи следниот половина час, час, 990 01:18:07,000 --> 01:18:10,000 некое време вечерва дефинитивно сигурно, 991 01:18:10,000 --> 01:18:14,000 прошетка низ проблем сет спецификации, 992 01:18:14,000 --> 01:18:20,000 да видиме што се случува со поставување на vhosts, локалната домаќин, сите нешта. 993 01:18:20,000 --> 01:18:24,000 Една работа е да се истакне во моментов е дека 994 01:18:24,000 --> 01:18:30,000 во повеќето проблем поставува ние се случува во вашиот Dropbox папка 995 01:18:30,000 --> 01:18:34,000 а потоа симнување на проблемот сет zip датотека и unzipping тоа. 996 01:18:34,000 --> 01:18:36,000 За овој проблем сет не сакате да. 997 01:18:36,000 --> 01:18:40,000 Сакате да одат во овој vhosts директориум. 998 01:18:40,000 --> 01:18:45,000 Ќе сакаат да одат во vhosts и да одат во локалната домаќин директориум во него, 999 01:18:45,000 --> 01:18:50,000 и ова е местото каде што ќе сакаат да ги повлечат надолу на zip датотека, 1000 01:18:50,000 --> 01:18:55,000 отпакувате, и се подготвени да одат. 1001 01:18:55,000 --> 01:18:57,000 Ќе мора да ги следат чекорите тесно. 1002 01:18:57,000 --> 01:19:02,000 >> Ако имате било какви прашања, испратете e-mail, пост на Дискутирај, дојде до работното време. 1003 01:19:02,000 --> 01:19:08,000 Благодарение момци. Следната недела ние ќе имаат преглед сесија за квиз. 1004 01:19:08,000 --> 01:19:12,000 Уживајте во вашиот последен проблем во собата. Се надевам дека сето тоа оди навистина добро. 1005 01:19:12,000 --> 01:19:14,000 [CS50.TV]