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 или Python или Ruby преди, 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 това ще бъде едно цяло число променлива, или това ще бъде знак * променлива, 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 Вие декларирате, че това е променлива, като го поставим с $ знак, 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 Boom. 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 разделяне на две думи, да получите и вид, само една дума като цяло. 55 00:03:42,000 --> 00:03:46,000 Но това, което ще направите, е ако минавам с променлива gettype 56 00:03:46,000 --> 00:03:51,000 да кажем $ Var или $ х, 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, и след това имаме това ФОРМАТ линия 64 00:04:21,000 --> 00:04:25,000 , който казва, хей, ФОРМАТ VAR е празен. 65 00:04:25,000 --> 00:04:29,000 ФОРМАТ е един от многото начини, по които можем да отпечатвате неща в PHP. 66 00:04:29,000 --> 00:04:33,000 Често ще видите ехо функция се използва вместо ФОРМАТ 67 00:04:33,000 --> 00:04:40,000 но ФОРМАТ всички сме запознати са били кодиране в 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 >> [Student] Дали това не е добър стил да го раздела? 75 00:05:11,000 --> 00:05:13,000 Моля? 76 00:05:13,000 --> 00:05:15,000 [Student] конвенционално да го раздела? 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 Опа, къде съм я сложила? 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 Имахме цели числа в C. 104 00:07:22,000 --> 00:07:26,000 Ние някак имаше низове в C, 105 00:07:26,000 --> 00:07:31,000 така че низовете не са напълно легитимни, в смисъл, че 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 [Missy] Char *. 109 00:07:41,000 --> 00:07:43,000 Да, това беше този Чар *. 110 00:07:43,000 --> 00:07:47,000 В самото начало на семестъра са използвали низ тип, 111 00:07:47,000 --> 00:07:52,000 но тя беше наистина Чар * под капака. 112 00:07:52,000 --> 00:07:58,000 Ние просто въведете го определя, като има предвид, че в PHP тези струни са действителния тип. 113 00:07:58,000 --> 00:08:07,000 Има не повече от тази Чар * тип неща. 114 00:08:07,000 --> 00:08:10,000 >> Ще видите, че ние можем да направим много повече неща със струни 115 00:08:10,000 --> 00:08:14,000 много по-лесно в PHP, отколкото бихме могли в C, 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 и булев, 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 различни тези, които ще забележите малки странности, като този 122 00:08:40,000 --> 00:08:44,000 , където C призовава числа цели числа. 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 Big Int видяхме днес в SQL. 126 00:08:55,000 --> 00:08:59,000 Има също са номер и след това булев, булев, 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 Да, и какво ще бъде типа на променливата, че ще възложи това? File >> звезда. 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 Run. Вижте какво се случва, когато така, че в gettype. 144 00:10:12,000 --> 00:10:19,000 И след това да се провери какво нула, какво може да е в 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 >> [Student] Аз имам един въпрос. << Да. 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 но често ЮЕсАр / хамбар / 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 е наистина псевдонимите двоичен файл 169 00:12:06,000 --> 00:12:13,000 , която се съхранява в ЮЕсАр / хамбар, който е мястото, където много от системните бинарни файлове са инсталирани. 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 Най-лесният начин да го направите с командата коригира, 183 00:13:22,000 --> 00:13:28,000 коригирате + X казва, добавете малко изпълним 184 00:13:28,000 --> 00:13:31,000 защото там прочети малко, пиша малко и малко изпълним 185 00:13:31,000 --> 00:13:35,000 R, w и X, 186 00:13:35,000 --> 00:13:39,000 и каза коригирате + X ще се превърне върху изпълнимия малко 187 00:13:39,000 --> 00:13:46,000 защото тогава файл, който ние определяме, което в този случай ще бъде dynamic.php. 188 00:13:46,000 --> 00:13:49,000 >> [Student] е, че се превърна за всички? 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 Тогава следните три бита точно тук 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 >> [Student] е 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 Обратно на това, което ние бяхме на път да направи с този коригирате + 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-л, 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 Някакви идеи? >> A + X? 244 00:17:13,000 --> 00:17:15,000 Да, точно така. 245 00:17:15,000 --> 00:17:23,000 Шарлот каза, че можем да направим коригира A + X на dynamic.php 246 00:17:23,000 --> 00:17:26,000 и сега, ако бягаме ли-л виждаме, че изпълними бита 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 / ЮЕсАр / хамбар / 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 >> [Student] Как можем да го изпълним с dynamic.php 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 и така това, което правите, е буквално показно в цялото съдържание 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 Вярвам, че Facebook е свършил доста работа с 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 , което е един вид на интерпретатор на JavaScript 288 00:20:40,000 --> 00:20:44,000 да бъде в състояние да тече JavaScript извън браузъра, извън вашия уеб браузър, 289 00:20:44,000 --> 00:20:47,000 защото традиционно JavaScript просто ще тече вътре на Firefox или Chrome, 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 Масив, страхотно, и Джаред, какво е fopen? 310 00:22:09,000 --> 00:22:11,000 Джаред Това е ресурс. >> Това е ресурс. 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 Null, как се изписва на 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 Отивам да вдигне Chrome, че инча 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 един от ръчните връзки поп обикновено можете да се позове на това 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 [Student ресурси. Видяхме ресурс с fopen повикване. 347 00:24:44,000 --> 00:24:48,000 [Студентски] предметите. >> Обекти, не сме виждали със сигурност. 348 00:24:48,000 --> 00:24:51,000 Обратни извиквания не сме виждали. 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 и след това голям вътр. 356 00:25:23,000 --> 00:25:25,000 Cool. 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 , когато имате две различни видове взаимодействат един с друг. 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 [Student] Просто използвайте печат не ФОРМАТ? 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-подобни останки. 389 00:28:21,000 --> 00:28:28,000 [Student] Когато сложих във всички шест от тези неща, които получавате само едно число като резултат. 390 00:28:28,000 --> 00:28:36,000 [Нейт H.] Когато сте поставени в 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 [Student Добре, как мога да се уверете, че 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 [Student] Ехото е същото като ФОРМАТ? 402 00:29:16,000 --> 00:29:21,000 >> ФОРМАТ е като C ФОРМАТ 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 Аз обикновено не се използва ФОРМАТ 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 вид трябва да направите това хек нещо, за да го накарам да отпечатате правилно. 412 00:30:08,000 --> 00:30:16,000 Всъщност можете да поставите променливите директно в низове в PHP. 413 00:30:16,000 --> 00:30:22,000 ФОРМАТ е нещо прекалено дълго за това, което обикновено се прави. Да, Ела. 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 в много от браузърите ще постави точка и запетая за вас 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 [Missy 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 [Missy] номер. >> Това е число. 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 ние не се получи низ от него, точно като Missy каза. 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 [Нейт H.] 50. Това прави ли смисъл? 454 00:33:02,000 --> 00:33:04,000 [Кевин] Да. 455 00:33:04,000 --> 00:33:06,000 [Нейт H.] Защо? Защо има ли смисъл с теб? 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 [Stella 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 О, не. Добре, нека да видим, ние ще направим същото нещо 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 [Сам] Ако беше написал девет в писма 476 00:34:21,000 --> 00:34:23,000 тогава ще са 90, нали? 477 00:34:23,000 --> 00:34:26,000 [Нейт H.] Да. 478 00:34:26,000 --> 00:34:30,000 Въпросът е, ако бяхме писмено 9 N-I-N-E 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 >> [Student] Има ли такова нещо като типаж в 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 [Нейт H.] Да, така че това, което може да бъде изненадващо за това? 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 Често не, така че отново, в зависимост от това как сте го типаж 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 Student [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 но исторически булев тип в 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 всичко, което идва в пощата или да получите свръхглобални 531 00:37:57,000 --> 00:38:01,000 уверете се, че винаги ще я валидира и да я конвертирате и да го амплоа. 532 00:38:01,000 --> 00:38:04,000 И точно като ние говорим за един миг преди това типаж 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 се използват, е цяло число, различно. 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 това е вътр 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 Cool. 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 са малко по-различни, отколкото те са в C. 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 съхраняват, последователно и Последователно в паметта, 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 където имаме ключове а, б, и в 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 , които ще обявят инициализира $ ARR да бъде този масив. 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 , когато имате, Б ​​и В, ключовете 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 и след това един форум и индекс 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 Ако искате тя да бъде едно цяло число, можете да го зададете с вътр искате да използвате. 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 Ако сега знам, че, например, ако ехо $ ARR [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 ако съхранявате нещо от $ ARR [0], да речем, 615 00:45:11,000 --> 00:45:16,000 Знам кога ехо $ ARR [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 Така че това е основно казват, че не мога да имам $ ARR [0] съхраняване на две различни стойности. 619 00:45:30,000 --> 00:45:34,000 Тя не може да се съхранява 0, както и низ с, като тази буквално замества 620 00:45:34,000 --> 00:45:38,000 какъв е бил $ ARR [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 Ключове $ ARR са уникални линии 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 Мяу, мяу, 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 и след това ви дава възможност да превъртате над него, което е доста готин. 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 ($ аз = 0; <10; + +), 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 >> Може би сте прави, че тон на моменти, когато сте правили C неща 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 , както и стойността, и сега имате достъп до две променливи. 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 можем да го направим точно като този, "Line $ на файла е $ линия" 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 че ние трябваше да се справят с C, а вместо това съм отишъл направо 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 Виж, три реда код, за да отворите файл. 751 00:58:03,000 --> 00:58:08,000 Е, четири реда код. Не може да разчита днес, ясно. 752 00:58:08,000 --> 00:58:13,000 Но наистина само два интересни реда код, тъй като другите две са фигурни скоби, 753 00:58:13,000 --> 00:58:17,000 но в тази много код успяхме да отворите файл, обхождане през него, 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 [Нейт H.] Какво можете да направите тук въпросът беше 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 >> Шарлот Аз също осъзнах, че никога не обявява I или линия. 778 00:59:48,000 --> 00:59:51,000 Как действа тя дори да знае какви са те? 779 00:59:51,000 --> 00:59:53,000 [Нейт H.] Какво искаш да кажеш с обяви? 780 00:59:53,000 --> 00:59:57,000 [Шарлот Ние никога не им казах какво или линия средства. 781 00:59:57,000 --> 01:00:01,000 [Нейт H. Ние никога не сме пред компютъра, което аз или линия означава, по отношение на 782 01:00:01,000 --> 01:00:05,000 [Charlotte, че те са индексирани или че ñ това са 783 01:00:05,000 --> 01:00:09,000 [Нейт H. Ние никога не каза, че това е трябвало да бъде индекс или ключ и стойност, 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 променлива наречена съхранява в променлива наречена аз. 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 и казва $ и е ключов, и $ линия е на стойност. 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 [Нейт H.] Нека да го пробвам. 795 01:00:51,000 --> 01:00:57,000 Нека създадем променлива наречена ARR, 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 Да речем, седем отива до 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 >> Можем да се опитаме и да се вземе предвид, че някои от тях са струни, някои са цели числа, 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 >> Връщайки се към този проблем на уникати 822 01:03:15,000 --> 01:03:20,000 там, където искаме да бъде в състояние за обхождане на файл, 823 01:03:20,000 --> 01:03:24,000 и ние ще го дам some_file.txt, 824 01:03:24,000 --> 01:03:27,000 и отиваме за обхождане като този. 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 Това не е някога е възможно да има две ключове, които са идентични по един и същ масив. 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 и ние бяхме да отскача над всяка ARR 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, и та-да. 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 нещо, нещо, нещо дот ком наклонена черта 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 + + 926 01:12:48,000 --> 01:13:00,000 и каза ехо опция стойност = $-Опа, аз не може да направи това. 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 Спомням си, това се споменава в лекция или помагалото, 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 и също така, вместо действително интерполиране на стойността на тази променлива 946 01:14:38,000 --> 01:14:42,000 тя ми даде $ и себе си, което е вид болка. 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 да се слеят променливи. 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 >> [Student] Също така, когато отекна 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 , като това е валидно да се каже, ехо $ аз, и той ще да се тълкува това като низ. 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 вижте какво става със създаването на хостове, на локалния хост, всички тези неща. 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 и след това да изтеглите файл набор проблем цип и го разархивирате. 996 01:18:34,000 --> 01:18:36,000 За този проблем, не искате. 997 01:18:36,000 --> 01:18:40,000 Искате да отидете в тази директория хостове. 998 01:18:40,000 --> 01:18:45,000 Вие ще искате да отидете в хостове и отиде в локалната директория домакин в него, 999 01:18:45,000 --> 01:18:50,000 и това е мястото, където вие ще искате да дръпнете надолу архивирания файл, 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 >> Ако имате някакви въпроси, да изпращате имейли и да го качи обсъжда работно време. 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]