[Powered by Google Translate] [Раздел 8] [по-малко удобни]
[Нейт Hardison] [Харвардския университет]
[Това е CS50. [CS50.TV]
>> Добре дошли на втория ни към последната част.
През тази седмица започваш да се говори за PHP, и след това следващата седмица
ние ще направим малко мнение за тест 1.
Отиваме да започне на страница 3 на проблема, опаковката,
и ние ще работим чрез секцията на въпроси доста бързо.
На страница 3, ние започнем да говорим за тази разлика между C и PHP
в смисъл, че PHP е динамично печатен език,
като има предвид, че C е статично въвели,
и някой наистина бързо кодиране в нещо като PHP
или Python или Ruby преди, JavaScript?
Напълно ново? Добре.
>> Всички от тези езици, които току-що споменах
са много различни от езици като C и C + + и Java
в смисъл, че когато Вие декларирате променлива не трябва да декларират
какъв вид променлива, така и в C бяхме остана като винаги казвам
това ще бъде едно цяло число променлива, или това ще бъде знак * променлива,
като има предвид, че с PHP, Python, Ruby,
с много от тези по-съвременни езици, не е нужно да се направи, че при всички.
Ти просто декларира променлива, и в случай на PHP
Вие декларирате, че това е променлива, като го поставим с $ знак,
и след това се определя от типа на променливата независимо от стойността, която тя държи,
което е готино.
Да си поиграете с това малко, имаме проба PHP код тук
между начални и крайни тагове.
Ние използваме този вид като HTML в смисъл, че
ние имаме тези ъглови скоби тук, за да се отварят и затварят.
Ще видите това с HTML.
Ще видите същия синтаксис, с XML.
>> Това показва, че началото на блок PHP.
? PHP е специфична за PHP.
Завършваме всичко с> както и
Нека отворим файл в нашия уред, използвайки каквото искате.
В този пакет се казва да се обадя dynamic.php.
В интерес на истината, можете да го наречете каквото искате, но ще излезе името на файла
и да бъде важно по-късно, така че просто не забравяйте, каквото и да го наричат.
Отивам да преминат към уреда,
и аз отивам да се направи директория за
раздел 9 Вярвам, че ние сме сега.
И ние ще отидем в раздел 9,
и аз ще използвам Gedit.
Да видим, Gedit, и аз ще се обадя на моя dynamic.php.
Boom.
В рамките на dynamic.php, тъй като това е PHP файл
Искам да изпълня това чрез PHP интерпретатора
Трябва да започна всичко с тези отворени тагове,
така че аз отивам да започнем тези веднага,
дайте си малко място между таговете,
и след това точка на това упражнение е да си поиграете с
тази функция, наречена gettype, така gettype, тази функция точно тук.
>> Забележете, че има не долно тире или интервал или тире или нещо подобно
разделяне на две думи, да получите и вид, само една дума като цяло.
Но това, което ще направите, е ако минавам с променлива gettype
да кажем $ Var или $ х,
това ще ми кажете в отстраняване на грешки формат
какво е името на този вид.
Отиваме да експериментирате тук.
По-специално, ако погледнем назад в pset спец.
имаме няколко реда код.
В първия ред на кода инициализирате този променливата $ VAR
да бъде равен на 7, и след това имаме това ФОРМАТ линия
, който казва, хей, ФОРМАТ VAR е празен.
ФОРМАТ е един от многото начини, по които можем да отпечатвате неща в PHP.
Често ще видите ехо функция се използва вместо ФОРМАТ
но ФОРМАТ всички сме запознати са били кодиране в C за известно време.
Това, което можете да правите е да видим, ако копирате и поставяте работи.
Отивам да се даде тази опитам.
Ние ще се върнем на уреда.
Добре, и там да отидем.
И разстоянието между тях е малко по-фънки, но тук отиваме.
Имаме този код тук.
>> [Student] Дали това не е добър стил да го раздела?
Моля?
[Student] конвенционално да го раздела?
Надясно, така че Сам пита дали това е конвенция за раздела или не.
Обикновено да.
В този случай аз избрах да не се.
Честно казано, ще видите различни неща между различните програмисти.
PHP обикновено се използва често в комбинация с HTML
и други езици, така че понякога печат ще изглежда малко по-фънки
ако тире в началото PHP и крайни тагове.
Това наистина зависи.
В този случай за копиране и поставяне не поставите разделите за мен,
но определено не, както ти каза, да го направи по-ясна.
Добре, ако ви спести този код в dynamic.php
тогава какво можете да направите, е слязъл към вашия терминален прозорец, където съм чак тук
в Gedit и да направи еквивалент на компилация
използвате правят и след това се изпълняват код в C
всичко, което трябва да се направи с PHP файла е започнат интерпретатора PHP,
, която е малка програма, наречена PHP,
и аргументът ви даде на преводача е файла, който искате да се тълкува.
В този случай dynamic.php.
Опа, къде съм я сложила?
О, аз го в точка 9, и аз съм тук. Ето защо.
>> Сега, ако аз тичам, че отново
виждаме, че в първия ми разговор gettype функция
VaR е цяло число.
В следващия VAR е низ, а след това в третия VAR е булев.
Това, което е интересно за това е, ако ние превъртете отново виждаме, че
Това са видове, подобни на тези, които имахме в C.
Имахме цели числа в C.
Ние някак имаше низове в C,
така че низовете не са напълно легитимни, в смисъл, че
CS50 нашия низ беше наистина това?
Моля? Миси?
[Missy] Char *.
Да, това беше този Чар *.
В самото начало на семестъра са използвали низ тип,
но тя беше наистина Чар * под капака.
Ние просто въведете го определя, като има предвид, че в PHP тези струни са действителния тип.
Има не повече от тази Чар * тип неща.
>> Ще видите, че ние можем да направим много повече неща със струни
много по-лесно в PHP, отколкото бихме могли в C,
и накрая, имаме този булев тип, както и Голямата разлика тук е, че
ако превъртете надолу виждаме, че името на тези видове
цяло число, низ, и булев вместо INT и булев,
и като вдигнете различни езици за програмиране,
се предположи, че в някакъв момент в живота си ще влезе в контакт с
различни тези, които ще забележите малки странности, като този
, където C призовава числа цели числа.
Някои го наричат ​​числа.
Има и други условия, които ще се вливат в.
Big Int видяхме днес в SQL.
Има също са номер и след това булев, булев,
всички видове различия там.
>> Това не е страшно интересна, но сега отивам да ви даде малко време
ако ние я увеличите обратно да работят чрез това упражнение в долната част на страницата 3
, когато той пита какви видове съответстват на тези ценности в долната част.
Имаме 3.50.
Ние имаме това нещо тук, което е интересно.
Не сме виждали това и преди, макар че ако сте били след заедно в лекцията
вероятно вече знаете какво е това.
Тогава ние имаме това, което този вид фънки.
Вие признае това.
Какво е това в C?
Сам? Какво ще ви даде това в C?
Тя ще отвори файл, наречен dynamic.php и да се чете.
Да, и какво ще бъде типа на променливата, че ще възложи това? File >> звезда.
Точно така, щяхме да зададете този файл звезда.
Това е законно, PHP.
Run. Вижте какво се случва, когато така, че в gettype.
И след това да се провери какво нула, какво може да е в PHP.
Ще ви дам няколко минути.
Можете буквално да копирате и поставите тези стойности в
и след това ние ще направим малко случаен разговор
и да видим това, което имаш.
>> [Student] Аз имам един въпрос. << Да.
В една от лекциите Дейвид каза, че има нещо, което може да постави в горната част на файла
така че да не е необходимо да въвеждате в PHP всеки път.
Какво беше това?
Той вероятно е бил говорим за килограм взрив, хеш взрив.
Това е директива, която ако маркирате файла като изпълним
тогава това, което той прави, е, когато стартирате файла
тя ще каже на шел програма
да се използва PHP интерпретатор, който да тълкува съдържанието на файла.
Въпросът е каква е била тази специална линия
че бихме могли да включва най-горната част на нашите PHP файлове, за да не трябва да включва
тази линия PHP или тази команда PHP, когато искаме да се изпълни файла?
И всъщност можете да направите това с един куп на различни файлове.
Вярвам, че това зависи от това къде се съхранява на двоичен PHP,
но често ЮЕсАр / хамбар / PHP е добро място да започнете.
Можете да разберете това точно като се върнете на вашия уред
и пишете кои PHP.
Която команда разбира, когато сте изпълнение на двоичен
или команда, където е съответния файл.
Това ми казва, че PHP е наистина псевдонимите двоичен файл
, която се съхранява в ЮЕсАр / хамбар, който е мястото, където много от системните бинарни файлове са инсталирани.
Например, ако аз се придвижите нагоре към върха, сега, че съм сложил тази #! тук
Да превъртите надолу, и мога да се опитате да стартирате
dynamic.php, но не получавам тази грешка за разрешение се отказва
и какво означава това е, че този файл не е момента изпълними разрешения.
Това не е маркирана като файл, че някой може да работи.
>> Когато сте стартирали правят или звъня и имаш изпълним файл от него
компилаторът е достатъчно умен, за да знае, че хей, аз съм изграждането на изпълним.
Може би искате да я изпълнява, така че автоматично да конфигурира
разрешенията за вас.
Това не е така, все пак, когато се създаде нормална файл от нулата,
причината обикновено не искат да имат всеки файл на вашата система да бъде изпълним,
така че всъщност трябва да отида и ръчно да го направя.
Най-лесният начин да го направите с командата коригира,
коригирате + X казва, добавете малко изпълним
защото там прочети малко, пиша малко и малко изпълним
R, w и X,
и каза коригирате + X ще се превърне върху изпълнимия малко
защото тогава файл, който ние определяме, което в този случай ще бъде dynamic.php.
>> [Student] е, че се превърна за всички?
Нека да проверим това, така че как бих проверете разрешенията?
Знаете ли как бих проверете разрешенията на даден файл?
[Чува студент отговор]
Моля? >> Студентски XSD.
XSD ни дава файла в хакове.
Изброяването на всички файлове, L, ще ми покаже всички файлове в моя указател
нещо в дългия си, Обява многословен, така че тук виждаме, че
това dynamic.php файл
Последна промяна ноември 5-то 16:21.
Собственикът на този файл се jharvard.
Това е потребител, който се регистрира.
Това е потребител Аз работя като,
и ако сте също в уреда си работи като потребител jharvard.
Вие сте в групата на студентите,
и това са неща, които ще видите достатъчно често.
>> Можем да отидем в много подробности тук,
но за по-голямата си част това, което искате да погледнете, когато търсите да видите
дали не е изпълним файл е предимно
на потребителя, който е собственик на файла, на собственика,
така че това jharvard, и след това имаме
Разрешения бита тук от ляво,
и начина, по който да прочетете тази е, че последната част
обикновено се използва за маркиране дали или не, най-малко в този случай
често ще се определя тази последна малко реклама, за да се посочи
, че файлът е директория, а не просто обикновен файл.
Тогава следните три бита точно тук
определяне на разрешенията, че собственикът на файла,
така в този случай jharvard, като собственик на файла, може да чете и пише този файл,
но има тире, че,, че jharvard не може да изпълни този файл.
Следващите 3 бита са за групата, така че това е групата на студентите,
така че ако имаше множество потребители на моя уред,
и имахме много потребители като част от групата на студентите,
тогава те могат да четат този файл, но те не могат да го напиша,
така и всеки друг в света
може само да чете този файл, както добре.
Има добро, writeup за това,
така че можете да прочетете онлайн.
В спец. проблем в стаята отидем в това по-подробно.
>> [Student] е 218 на света?
218 е на разстояние от върха на главата ми аз забравям,
но не.
Да видим. Съм нулиране, че точно сега.
Обратно на това, което ние бяхме на път да направи с този коригирате + X
, където искахме да дадем dynamic.php разрешения изпълними,
и въпросът е дали това ще даде изпълними разрешения за всеки
или просто да jharvard, и можем да видим това, като
провеждане на командите и пишете LS-л,
и сега виждаме, че тя е маркирана като изпълним.
Вие виждате, че е налице промяна в цвета.
Сега dynamic.php е включен в зелено,
и тя изглежда като отговор на въпроса е какво, Шарлот?
Шарлот] Само jharvard. >> Само jharvard, да.
>> Ако искахме да се превърне изпълнимия малко за всеки
как бихме могли да направим това?
Някакви идеи? >> A + X?
Да, точно така.
Шарлот каза, че можем да направим коригира A + X на dynamic.php
и сега, ако бягаме ли-л виждаме, че изпълними бита
наистина се обърна за всеки.
И всъщност можете да направите обратната страна на този, така че можете да го изключите за всеки
използване на минус.
Сега е изключен, и сега можем да я включите отново, за jharvard
така че да можем действително може да го стартирате,
и сега виждате, когато ще свършим тази специална # код! линия в горната част,
#! линия, каза черупката,
пред нашия терминал хей, когато това се стартира файла,
/ ЮЕсАр / хамбар / PHP да се тълкува този файл
и след това да отпечатате резултата.
[Чува студент въпрос]
Разбира се, нека превъртете нагоре. Само по този начин.
Ще видите всички тези директиви започват с този паунда, а след това и удивителен знак,
понякога се нарича вертеп, хеш взрив.
>> [Student] Как можем да го изпълним с dynamic.php PHP, преди да можем да изпълним?
Въпросът е как можем да поддържаме това чрез двоичен PHP
докато dynamic.php не е изпълним?
Това е супер важно, защото това е как точно
, че ще работи, когато пишете проблем набор 7.
Повечето от време на PHP файлове не са пряко изпълним.
Начинът, по който работи е така, защото това е PHP двоичен формат, който е изпълним.
Преводачът е нещо, което се изпълнява,
и така това, което правите, е буквално показно в цялото съдържание
на нашата dynamic.php файл и ред по ред
и изпълнение на тези команди, така че използва нашия PHP файл
като списък от инструкции.
Това не е директно да го изпълнява.
Това е мястото, където ние казваме, че тези файлове се тълкува по време на изпълнение.
Това е план език, а не на нещо, което се определя по време на компилация,
не е компилиран език като C.
>> Има ли начин да се език на работно време да се действа така, сякаш е език, по време на компилиране,
хареса, ако имате управлението на сървъра
, а не знаеш какво искам да кажа?
Да, така че въпросът е
има ли начин да се движат езици времето да се действа по-скоро компилация видове езици?
И там, искам да кажа, че е активен областта на научните изследвания за много от тези компании.
Вярвам, че Facebook е свършил доста работа с PHP
и съставяне, което го прави по-бързо, оптимизиране
тъй като техния сайт е изграден на PHP.
Ако сте били след node.js на всички,
, което е един вид на интерпретатор на JavaScript
да бъде в състояние да тече JavaScript извън браузъра, извън вашия уеб браузър,
защото традиционно JavaScript просто ще тече вътре на Firefox или Chrome,
и тя ще се използва, за да се случват готини анимации в уеб страница
и да направи вашата уеб страница, динамичен.
, Който е бил построен върху много работа, че Google е направил
за да се JavaScript и C + +
свързват заедно, така че има много активна изследователска дейност, да
тези езици, за да си взаимодействат и да се оптимизира тях,
на първо място, защото толкова много хора да пишете в PHP и JavaScript
, защото това е много по-лесно.
Това е много по-хубав. Вие нямате указатели.
Вие нямате видове плаващ наоколо.
Те искаха да получат ползите от тези компилация езици
с всички проверки на типа и скоростта и по-ниско използване на паметта и всичко това
докато все още поддържа гъвкавост и лекота на използване на тези нови такива.
>> Обратно към първоначалния план за нападение.
Имаме някои от тези въпроси тук, в нашата спец. проблем в стаята.
Нека да минем през тях наистина бързо, и ние ще отидем из стаята.
Шарлот, какъв тип е 3.50?
Шарлот] Това е двойно. >> Това е двойно.
Джими, какво е това следващия? >> Масив.
Масив, страхотно, и Джаред, какво е fopen?
Джаред Това е ресурс. >> Това е ресурс.
Това е вид нова файл звезда, а не файл.
Това е ресурс е тип в PHP,
и аз съжалявам, Ела, последната нула е какво?
Null.
Null, как се изписва на PHP? >> По същия начин.
По същия начин, столицата? >> Да.
Да, всичко е наред.
Ето, имаме двойно, имаме масив,
имаме ресурс, и след това ние имаме нула.
Да видим сега Виждали ли сте
нека да видим, така че сега аз предполагам, това, което искам да направя е издърпайте нагоре
тази уеб страница, точно тук, това php.net / ръчно,
така че, ако вие копирате и отворете уеб браузър.
Отивам да вдигне Chrome, че инча
Искам да ви покажа това не само защото
можем да говорим цял ден за видовете и всички тези неща забавно
, а по-скоро, защото това е ръководството на PHP,
и има много PHP програмисти там.
Има много на PHP уеб сайтове от там,
и в резултат на това има много документация за PHP,
и употреба, това php.net, е наистина добро място да отидете
, когато имате въпроси за това какво е най-добрият начин да направите Х в PHP
или това, което е функция изглежда?
Просто вид запознаване с как изглежда това, защото
ще идват тук често, малко за проблема, 7.
>> Ако в крайна сметка прави окончателен проект, който използва PHP
това ще е мястото, което ще стане много добре запознати с.
Често начина, по който хората правят това, е, че те използват Google за търсене на сайта,
и те не използвайте полето за търсене, която е тук в горния десен ъгъл, което е вид малка.
Ако сте Googling около нещо общо с PHP и ще видите
един от ръчните връзки поп обикновено можете да се позове на това
като доста добър ресурс.
Страхотно, толкова далеч от тези видове, просто от любопитство,
кои не сме виждали?
Всичко, което не съм виждал тук?
[Student ресурси. Видяхме ресурс с fopen повикване.
[Студентски] предметите. >> Обекти, не сме виждали със сигурност.
Обратни извиквания не сме виждали.
Има някои от тези псевдо-типове.
Определено видях само цяло число и двойно.
Ние не видях някои от другите, така че ако кликнете върху числа
можем да видим има ли други числа, които те имат тук?
Всички ли са толкова цяло число, число, число.
Някои езици имат по-големи целочислени типове,
както видяхме на MySQL днес имаше INT и след това голям вътр.
Cool.
>> Така че, PHP ръководство.
Да се ​​върна нашата спец. проблем в стаята, и сега ние ще превъртете надолу на страница 4.
Едно от нещата, които се случват, когато можете да получите на следните езици
, които нямат това статично пишете, така че тези езици, където ще трябва да се декларира
вида на предната променлива до
ви се случаите, когато може да започне като променливи от различни типове
взаимодействат един с друг,
и PHP прави това нещо, когато той се опитва да направи
това, което тя смята за най-разумното нещо, което трябва да се направи
, когато имате две различни видове взаимодействат един с друг.
Например, ако се вгледаме в тези редове код тук
ще видите, че ние имаме това, което се случва, когато
ние се опитваме и добавете низ от 1 до цяло число 2.
Какво се случва, ако се опитаме и добавете низ, който не е числова стойност
но по-скоро реалните герои, CS числото 50?
Тогава ще видим има ли нещо по-различно, което се случва, когато
вместо добавяне на низ към броя сме добавяне на номера в низ,
и така нататък и така нататък до точката, където ние сме
някакъв вид странни неща точно тук, където имаме 7 + вярно.
Какво, по дяволите, означава това?
>> Ако вие отидете напред и да поставите част от този код във вашия уред.
Можете да запазите в dynamic.php.
Ще видим какво ще се случи.
[Student] Просто използвайте печат не ФОРМАТ?
Да, така ще откриете, че печат също е валиден функция за печат в PHP.
Има много различни начини да го направите.
Ще видим с няколко от примерите по-късно, след като ние започнем да говорим
за уникалния проблем, който отива да пише
и след това концентрации на проблем, който отива да пише
че въпреки че имаме fopen и неуспешно
че често не е най-простият начин да се прочете в съдържанието на даден файл.
PHP има много от тези C-подобни останки.
[Student] Когато сложих във всички шест от тези неща, които получавате само едно число като резултат.
[Нейт H.] Когато сте поставени в 6 от тези неща.
Да видим то е, защото е възможно
едно нещо е, че тези печатните повиквания не се прекратява в края с нови линии.
Няма начин нова линия, разделяща всяка от тези печатните разговори,
така че може би сте един голям брой,
и това е наистина просто амалгама от символите за нов ред.
[Student Добре, как мога да се уверете, че
Е, има един куп различни начини.
Вие може ръчно да се постави в разпечатка на нов герой линия,
ехото на нов герой линия,
Печат на нов ред.
[Student] Ехото е същото като ФОРМАТ?
>> ФОРМАТ е като C ФОРМАТ
, където печата форматиран низ.
Можете да го доставя формат низ и след това всички променливи на контейнерите.
Това е често нещо, което не се използва
нека да видим, като уточнение,
Аз съм по-малко запознати с PHP, отколкото съм с други уеб езици,
и когато съм програмиран в PHP Аз обикновено не се използва ФОРМАТ
защото ми е по-бързо да се използват възможностите на струните интерполация, че има,
които ние ще отидем и аз ще ви покажа само една секунда,
като има предвид, че в C вид трябва да направите това хек нещо, за да го накарам да отпечатате правилно.
Всъщност можете да поставите променливите директно в низове в PHP.
ФОРМАТ е нещо прекалено дълго за това, което обикновено се прави. Да, Ела.
[Ела] Като цяло, ако получите синтактична грешка означава това
като на C не ви кажа къде точно е грешката и какво е то,
така, значи това погледнете през целия си код и да го разбера?
Това е обикновено по-целенасочен от това.
Мисля, че в този случай това е малко разстояние,
така че аз мисля, че в този случай липсва запетая.
Тя се опитва да има смисъл от всичко,
като тези тълкува езици, преводачът ще се опита
и направи всичко възможно, за да направи работата всичко по подходящ начин.
>> Ще видите, например, в JavaScript
Ще отчети често завършват с точка и запетая, точно както го правят в PHP,
точно както правят в C.
В JavaScript някои от преводачите JavaScript
в много от браузърите ще постави точка и запетая за вас
ако ти се случи да им липсва.
Те ще се опитат и да се настанят за някои повърхностното отношение от ваша страна.
Това е, където може да се опитва и се опитва и се опитват да направим нещата по работа,
и накрая ще стигнем до точката, където се казва, добре,
Не мога да направя нещата да се работи по спасяването, и това е мястото, където ще получите номер на ред
че може да изглежда малко встрани от точното място.
Добре, така че нека да мине през това много бързо.
Тръгнахме с Ella, така че нека преминем към Missy,
и Миси, какво печат на низ 1 плюс броя 2 ви даде?
[Missy 3]. >> 3.
Това прави ли смисъл? Нещо?
Ли ви дам един номер? Ли ви дам един низ?
[Missy] номер. >> Това е число.
Но това е печат, така че ще ви дам някакъв низ.
>> Едно нещо, което можем да направим, за да проверите това
е, ако ние не направим $ VAR = 1 + 2
и след това казваме ехо от gettype
така че ние сме един трети вид печат тук.
Сега можем да видим какво се случва тук.
Ето какво имаме имаме цяло число от това.
Въпреки че бяхме добавянето на този низ в число,
ние не се получи низ от него, точно като Missy каза.
Ние се цяло число.
Добре, така че нека да видим, в непосредствена близост, Кевин.
CS + 50? >> Кевин] 50.
[Нейт H.] 50. Това прави ли смисъл?
[Кевин] Да.
[Нейт H.] Защо? Защо има ли смисъл с теб?
Кевин] защото това е просто като низ, като нула номер стойност.
Да, чудесно.
Вид на двусмислени ситуации, но това е добре да се знае какво ще се случи.
Стела, какво се случва след това с номер 1 + стринг 2?
[Stella 3]. >> 3.
И в този случай, ще стигнем низ или число?
>> Нека да опитам.
Някой по-бързо от мен да получиш отговор? Шарлот?
О, не. Добре, нека да видим, ние ще направим същото нещо
където сме номер плюс низ, и отива да е отглас от вида,
видим какво ще получите.
Ние също така да получите цяло число.
Няма значение кой е низ, който е номер.
Ние все пак ще получи цяло число.
Тя все още ще правим това, което може да се очаква.
Добре, Сам, какво да кажем за 90 + 9 бутилки бира на стената?
[Сам] 99 >> 99.
Не бутилки бира на стената, все пак.
Това ни дава малко повече информация за това какво се случва.
[Сам] Ако беше написал девет в писма
тогава ще са 90, нали?
[Нейт H.] Да.
Въпросът е, ако бяхме писмено 9 N-I-N-E
ще сме слезли 99 или 90?
Ние ще получа 90.
Това е буквално за цифрени знаци.
Това не е достатъчно умен, за да признае брой думи и тези неща. Да.
>> [Student] Има ли такова нещо като типаж в PHP?
Има, и това е точно начина, по който ще го направя в C.
Какво ще кажете за 10/7, Шарлот?
[Шарлот] 1,4285.
[Нейт H.] Да, така че това, което може да бъде изненадващо за това?
Какво би станало, ако направи това същото нещо в C,
ако си направил 10/7 в C?
[Шарлот] само ще ви дам в зависимост от начина, по който typecasted предполагам
тя ще ви даде само ограничен брой цифри след десетичната.
Да, така ограничен брой цифри след десетичния знак.
Какво друго може да бъде, ще го ви даде всички цифри след десетичната?
Често не, така че отново, в зависимост от това как сте го типаж
той може или не може да го превърнат в число с плаваща запетая.
Ето това е хубаво, че го е направил.
Ако бяхме показали това назад, когато започнах да се занимавам с този вид неща в C
той вероятно щеше да направи малко повече смисъл
, че той не само се върнем към 1.
И накрая, Джейми, какво да кажем за 7 + вярно?
[Джейми 8]. >> 8.
Какво означава това?
Предполагам, че просто дава истинската стойност на 1.
Да. Какво се случва, ако искаме промяна, която да лъжа?
Student [7].
Да, така че не забравяйте, когато говорим за тези двоични стойности,
1 е, 0 е на разстояние?
Сега имаме, вярно е 1, 0 е невярна,
и може да не са видели това в примерите C, които сме правили миналия семестър,
но исторически булев тип в C не е истински вид,
така че хората са използвали 0 и 1 в мястото на истина и лъжа.
Това е проява на това.
>> Добре, така че една важна част за всичко това
е, че имаме тези различни видове.
Те могат да си взаимодействат един с друг.
Те често могат да взаимодействат помежду си по начини, които са приятни, както сме виждали тук.
Това е хубаво да бъде в състояние да имат низ 1 и номер 2, да ги съберем и да получите 3.
Това има смисъл.
Въпреки това, когато пишете уебсайтове, и особено когато сте обработка
въвеждане от потребителя, за да кажем, че сте написал уеб формуляр
, който събира информация от потребителя и след това отива да го обработим
в задния край, от страна на сървъра във вашия код PHP
Ако очаквате, че стойността, която потребителят написали и представи
към вашия формуляр, за да бъде цяло число или да е число с плаваща запетая или нещо подобно
трябва изрично да го хвърли
и след това направете някои проверки тип.
>> Вие не искате да се разчита само на тази система тип жонглиране, за да направим нещата работят,
особено от съображения за сигурност и за стабилността на вашия сайт.
Просто нещо, което трябва да имате предвид, че когато сте обработка на данни от формуляри,
всичко, което идва в пощата или да получите свръхглобални
уверете се, че винаги ще я валидира и да я конвертирате и да го амплоа.
И точно като ние говорим за един миг преди това типаж
в PHP е точно същото като в C, където имате скобите
и след това този тип.
Имайте това предвид.
Една функция, която ще дойде по-удобно, когато правиш това
е, че ние сме използвали и това е нещо като освен
ние сме били използването на този gettype функция тук
да разбера типа на дадена променлива,
и докато това е удобен за отстраняване на грешки и да се види какъв е типа на променливата
не искате да използвате този, например, в състояние, когато
сте проверка, за да видите дали gettype от $ Var = цяло число направи нещо.
Това е лошо, много лошо.
Вместо това има тези функции, наречени е цяло число, е низ,
е масив, който искате да използвате, вместо, така че в този случай
това, което бих искал да направя, вместо на този човек точно тук
се използват, е цяло число, различно.
И те често се нарича е is_ * в смисъл, че можете да замените * с число,
низ, и така нататък, и само за да се уверете, че наистина бързо
това е вътр PHP.
Изглежда, че можете да направите е INT или е цяло число, както и?
Да, псевдоним, толкова INT целочислени псевдоними.
Cool.
>> Как се справяме?
Нека вдигне темпото малко.
Сега отиваме да се говори за масиви, така че можете да видите
в следващата част на спец. говорим за това как масиви в PHP
са малко по-различни, отколкото те са в C.
В интерес на истината, те са вид амалгама от
масиви, които сте дошли да познават и обичат в C
където всичко е от същия тип
съхраняват, последователно и Последователно в паметта,
и имате тези числови индекси.
Имате индекс 0, индекс 1, индекс 2,
и съхраняване на стойности на тези показатели.
Можете също така в C, когато е написал правопис, много от вас
хеш подход масата и си видял, че там имахме
различен вид на съхранение, където бяхме картографиране
ключът към стойност, така че когато се опита да се съхранява нещо в хеш таблица
трябваше да се уточни, че искаш да го съхранява с определен клавиш,
и този ключ определя местоположението на стойността и къде ще бъдат съхранявани.
Вие сте вид на тези понятия се случва в същото време в масив PHP,
и като резултат на това, ние често наричаме тези асоциативни масиви
, където се асоциира ключ в стойност.
В тази следваща част говорим за обикновен масив PHP
където имаме ключове а, б, и в
всички низове, картографиране числа 1, 2, и 3.
И вие може да имат ключове от различни видове.
>> Можете да имате някои ключове, които са низове, някои клавиши, които са цели числа.
Вие може да има стойности от различни типове.
Може да има стойност, която е низ, стойност, която е цяло число,
стойност, която е обект или друг масив, например,
всички в един и същ обект масив, което е малко странно.
Вие не трябва да имате масив, който просто има един тип елемент в него.
Можете да имате много и различни неща, става там.
Другото нещо, което трябва да се отбележи, е, че когато виждате нещо подобно в кода си,
, който е валиден PHP да декларира масив точно като този, 0, 1, 2, 3, 4, 5,
, които ще обявят инициализира $ ARR да бъде този масив.
Но това, което наистина се под капака е този вид косвена
генериране на ключове, където сме получили 0-0 от 1 до 1, от 2 до 2, 3 на 3.
И се оказва, че дори ако имате масив като този човек тук
, когато имате, Б ​​и В, ключовете
и след това да започнете да използвате метода масив тласък, за да започнете да използвате този масив като комин,
така че можете да видите, че този масив обект, този масив е наистина стават претоварена.
Можем да го използваме като масив. Можем да го използваме като хеш таблица.
Можем да го използвате като комин.
Когато започне напъването неща на този масив
ще бъде първото нещо, което натиснете върху този индекс 0 и след това един форум и индекс 2.
Можете да получите този вид негласно генериране на ключове
освен ако не ги определя изрично.
Начин да зададете клавиши изрично, разбира се, е с помощта на тази скоба нотация,
, който е подобен на масиви освен вместо само позволява
целочислените индекси тук, сега ние позволяваме нищо.
Ако искате вашия ключ да бъде низ, щеше да го определят по този начин.
Ако искате тя да бъде едно цяло число, можете да го зададете с вътр искате да използвате.
>> Въпроси че досега?
Едно от хубавите неща около тази идея
е, че можете само да имат една стойност, съхранявана с определен ключ.
Ако се върнем в нашия уред позволете ми да изтриете някои от тези неща.
И нека да кажа, че се инициализира масив да бъде 0, 1, 2, съставено.
Ако сега знам, че, например, ако ехо $ ARR [0]
Отивам да се получи стойност 0 отпечатани,
и тъй като не може да има само една стойност, съхранявана за даден ключ
ако съхранявате нещо от $ ARR [0], да речем,
Знам кога ехо $ ARR [0] отново
Аз не съм да получите 0 отпечатани като преди.
Аз само ще се получи.
Така че това е основно казват, че не мога да имам $ ARR [0] съхраняване на две различни стойности.
Тя не може да се съхранява 0, както и низ с, като тази буквално замества
какъв е бил $ ARR [0] преди.
Причината докарам нещата е да го стартирате, вижте какво се случва.
Вижте тук, че имам 0 отпечатва и след това тук.
Не е нов ред там, защото е мързелив и не сложи това инча
Какво е готино за това е, можем да използваме това като начин
да улови тази идея на набор
, където не можем да имаме множество ключове в масива.
Не можем да имаме еднакви ключа в рамките на масива.
Не мога да имам ключ 0 и стойност 1 и въведете 0 и стойността на
или ключ 0 и стойността вярно.
Ключовете са има само 1 ключ в масива.
Въпреки че можете да имат една и съща съхранена стойност
няколко пъти в масива под различни ключове
не е възможно да има еднакви ключа няколко пъти в PHP масив.
>> Ако погледнем към следващия проблем, unique.php
там, където искаме да отвори PHP файл
съдържащ списък от низове, един низ на ред,
и ние искаме да намерите всички на уникалните струни в този файл
всичко, което трябва да направите, е да използвате един от тези PHP масиви
и използването на струните във файла като ключовете за този масив
и да актуализира нашия масив, тъй като ние съхраняваме тези нови ключове.
Както четем всеки ред от файла можем да го съхранява в масива,
и в края ще имаме като ключовете ни в нашия масив
всички от уникалните струни във файла.
Това прави ли смисъл?
Нека да видим как работи това.
Отиваме да се отвори, според спецификацията, нов файл, наречен unique.php.
Отвори. Опа, съжалявам, нов файл.
Ние ще започнем с една и съща начални и крайни тагове.
Отиваме да го запишете в точка 9, и отиваме да го наричат ​​unique.php.
Добре, сега я увеличите инча
Идеята тук е да отворите файл,
прочетете във файла линия по ред.
За всеки ред във файл
ще имаме масив, където имаме
реда, както е нашата основна.
И тогава, когато ние стигнем до края тук
Ключове $ ARR са уникални линии
от преписката по делото, тъй като ние знаем, че ако сложа ред в този масив
няколко пъти, тя просто ще първостепенен старата стойност,
и ние действително може да сложи ред масив в себе си точно като това.
>> Това е доста странно.
Ние сме съхранение на една и съща двойка ключове стойност отново и отново и отново,
но тъй като ние се гарантира, че ще има само 1 ключ, наречен линия
така че ако имаме файл, който казва-файл на животински звуци и има вътъка, вътъка,
Мяу, мяу, Moo, мучене, и всеки път, когато четем животно шума от
като вътъка и ние го съхранява в нашата масив стигнем вътъка, и след това за втори път
ние съхраняваме вътъка ще презапише първо време, че сме го съхранява.
В крайна сметка ще има само един запис в масива
за всеки от животински звуци в нашия файл с животински звуци.
Ли момчета се чувстват уверени, че могат да се справят отваряне на файл в PHP?
Един от начините да го направя да премине бързо един начин да го направя
е с fopen, както видяхме по-рано.
Можете да fopen some_file.txt.
Можете да го отворите в режим на четене, като в C.
Това е един перфектно добър начин да го направя.
Можете също така след това за четене във файла линия по ред
имат същите функции, много от тях, които си направил в C.
Имате fgets.
Имате feof, въпреки че не ми харесва при използване на тази
защото, не забравяйте, че не е голям в C.
Можете да го направите по същия начин,
но тук е наистина готино нещо.
За съжаление, аз не искам да правя $ файл, но има функция, наречена файл в PHP,
и тази функция тук е готино, защото се чете цялото съдържание
на файла, който сте задали, така some_file.txt,
чете цялото съдържание на този файл в масив
и след това ви дава възможност да превъртате над него, което е доста готин.
>> Ако отидем, например, в нашия уеб браузър
и ние с нетърпение в Google за файла PHP
можете да видите тук, че нашето ръководство казва, че файла прочете целия файл в масив,
и ние можем да file_get_contents да се върне съдържанието на файл в низ
но обикновено просто го като масив е много хубаво, защото това, което го прави
е то се разпада, така че всеки елемент
в масива е ред на файла,
така че ако погледнем в архива 0, това е на първа линия на файла.
Файл 1, втора линия, файл 2, трети ред, и така нататък и така нататък.
Не би ли било хубаво, ако това е всичко, което трябваше да се направи в C?
Доста готин.
Дейвид показа това в лекцията и идиом, той показа
че в допълнение към нашия стандарт за контур в PHP имахме, че
($ аз = 0; <10; + +),
и можете да направите това в PHP също, едно и също нещо
ние също имаме този страхотен конструкция, наречена foreach.
Foreach е много удобен, когато итерации върху масиви или тези структури от данни
тъй като ви позволява да се изтеглят всеки елемент на масива
, без да се налага ръчно да направите сами индексирането,
, без да се налага ръчно да се създаде променлива индекс, увеличи го,
извадя стойност в масива в този момент, защото това е много често срещано нещо да направя.
>> Може би сте прави, че тон на моменти, когато сте правили C неща
през семестъра, така че с този foreach
могат да се повтарят през този файл масив,
и синтаксис е, че искаме да контур над този масив
и уточни, че променливата отиваме да се използва за съхраняване на
елемент на този масив локално, местно, така и обхвата на този цикъл foreach,
е, че ние отиваме да го наречем линия.
Ако това е файл на само на думи и има една дума в една линия
бихме могли да го наречем дума, както и, наистина просто да ви дам това име,
каквото и да искате да го наречете,
и след това вътре в контура, можете да правите каквото си искате с тази променлива линия.
Ако това не е достатъчно, за да се получи стойността на масива и вие също искате да получите
индекса заедно с него можете да укажете името на индекса
, както и стойността, и сега имате достъп до две променливи.
Имате $ I и ред
където $ I е индексът в масива,
и линия е линията, която възстановен от файла.
Например, ако искаме да отпечатате ехо линия 0 на файла, тъй като това,
можем да го направим точно като този, "Line $ на файла е $ линия"
и тук е нещо, което още не сте видели или
къде съм просто напълно прескачат цялата тази% S% г бизнес
че ние трябваше да се справят с C, а вместо това съм отишъл направо
писмено променливи в съответствие в моя низ.
>> Това се нарича променлива интерполация, низ интерполация
, когато сте плънка променливите право и PHP интерпретатора
е достатъчно умен, когато чете низ, който започва с двойни кавички
не единични кавички, с единични кавичките не може да направи това
но с двойни кавичките, тъй като четем е търсил за променливи.
Ги преследва, и ако тя вижда променливи ще отчита стойността на променливата
и да го върнем в низ, ако може да го превърне в низ представителство,
което е доста готин.
За сега, нека коментар останалата част от всичко,
освен това, и това, което можем да направим сега, е, че ние може да отвори файл
че можем да наречем some_file.txt нека създадем нов файл
и можем да сложим в един куп глупости неща тук само за да изпробват всичко,
го спаси, го наричат ​​some_file.txt, както аз правя тук на върха,
и сега, ако ми я увеличите само за да се уверя, че всичко е в същата директория
изглежда като имам unique.php и some_file.txt в същата директория.
Ако стартирате PHP unique.php
да видим как се отпечатва всеки ред в моето досие и какво линията е?
>> Това е доста мощен, нали?
Виж, три реда код, за да отворите файл.
Е, четири реда код. Не може да разчита днес, ясно.
Но наистина само два интересни реда код, тъй като другите две са фигурни скоби,
но в тази много код успяхме да отворите файл, обхождане през него,
извади номера на реда и самата линия
и да го отпечатате.
Готини неща. Шарлот.
Шарлот] Аз имам един въпрос за синтаксиса.
Така че foreach се занимава с всеки един ред от файла, който отваряте,
и след това, когато искате да направите нещата с всеки един ред, просто го направете
и след това да се сдружават стойност.
[Нейт H.] Какво можете да направите тук въпросът беше
foreach трябва да се направи с масив, така че foreach синтаксис
наистина е foreach и забележете, че няма пространство
или нещо между и всеки.
Те трябва да отидат в непосредствена близост един до друг,
и след това го взема в масив,
и след това имате други ключови думи, тъй като това трябва да е там,
и след това, след като може да сложи едно име на променлива,
в случай, че започваш да се извади стойности на масива,
не индекси, или ако го направя, както съм писал по-долу
можете да получите на ключове и стойности.
Имате foreach елемент на масива или двойка на масива, като изнервящ стойност
или просто като стойност.
В зависимост от това, от което имате нужда, ако нямате нужда от ключовете,
тогава можете да отидете със стойност.
Ако искате ключовете можете да отидете с тях.
>> Шарлот Аз също осъзнах, че никога не обявява I или линия.
Как действа тя дори да знае какви са те?
[Нейт H.] Какво искаш да кажеш с обяви?
[Шарлот Ние никога не им казах какво или линия средства.
[Нейт H. Ние никога не сме пред компютъра, което аз или линия означава, по отношение на
[Charlotte, че те са индексирани или че ñ това са
[Нейт H. Ние никога не каза, че това е трябвало да бъде индекс или ключ и стойност,
и това е така, защото това е PHP преводач.
Това служи като декларацията и казва, добре, ключът ще бъде
променлива наречена съхранява в променлива наречена аз.
Стойност ще се съхранява в променлива наречена линия,
така че това служи като обявяването на тези променливи
и казва $ и е ключов, и $ линия е на стойност.
Да, Ела.
[Ела] Ако ключовете не са направили числено
как го реши какъв ред ще да отпечатате всичко?
Е точно като за това е вписано в?
[Нейт H.] Нека да го пробвам.
Нека създадем променлива наречена ARR,
и ние можем да направим отива до 7.
Да кажем, 0 отива в друг масив с 1, 2 или ябълка.
Да речем, седем отива до 1, б отива до 2,
и 3 отива до 4.
Това е вид на луд пример, защото ние сме смесване
низове и числа целия.
Няма по-реален за този масив.
Искам да кажа, ние да поръчате всичко по азбучен ред от клавиши.
Бихме могли да си поръчате всичко Азбучен от стойността.
>> Можем да се опитаме и да се вземе предвид, че някои от тях са струни, някои са цели числа,
и ние може да се опита и да ги конвертирате всички до един и същи тип и да видим какво ще се случи,
или можем да ги разглеждаме в стойността, в които ние вече ги е въвела
, където ще се постави този човек в първия, този човек, на второ място, този човек в третата,
този човек в четвърто и т.н..
Нека видим какво се случва, когато стартирате този код.
Ако ние превъртете надолу и направи същото нещо,
и тук не е отпечатване на нови линии.
Когато го прочетох нещата на файла, включително нови линии в стойностите,
която е защо отпечатан добре, докато тук той не е,
така че защо всичко е smushed заедно.
Нека добавим в тази нова линия, само за да направим нещата по-хубаво.
Нека си го повторение, и така тук
погледнете какво се е случило.
Тя изпечата всичко в реда, в който ние го сложи в масива.
Тя не поддържа реда в този смисъл.
>> Връщайки се към този проблем на уникати
там, където искаме да бъде в състояние за обхождане на файл,
и ние ще го дам some_file.txt,
и отиваме за обхождане като този.
Ние казахме, че ние искахме да използваме масив, за да се уверите, че щеше да има всички
уникални линии от там, и бихме могли да направим, че наистина лесно
чрез съхранение в масив, който ние, разбира се декларират извън обхвата на цикъла,
и каза, че ако ние използвахме редовете във файла като ключовете в нашия масив
ако сме влезли дубликат на линия щяхме да императивни предходната стойност.
Това не е някога е възможно да има две ключове, които са идентични по един и същ масив.
Ние можем да направим точно това.
Ще се отървете от този ехо изявление точно тук.
Тук сме съхранение на ред във файла в нашия масив
използва като ключ.
Нищо към него, и се оказва, че дори не е необходимо на този бутон.
Ние не се нуждаем че аз променлива.
В този момент, ако бяхме да направя друг foreach линия
и ние бяхме да отскача над всяка ARR
и ред сега, ако ехо-Опа, съжалявам.
Не можем да използваме запетая. Ние трябва да използваме това като ключова дума.
Сега, ако ние ехо линия ние трябва да получите всички уникални думи във файла.
Ако отидем до some_file.txt
и да кажем, че правим ябълка, банан, ябълка, ябълка, банан,
ако сме отпечатване на всички уникални думи в този файл трябва да получават само
ябълка и банан, за да отпечатате.
Ако ние освен това, сега тук ще увеличите обратно,
PHP unique.php, и та-да.
Успешно uniqued файла.
>> В заключителната част на този проблем, който иска да сортирате този масив, преди да го отпечата
защото в този прост пример, че ние току-що направихте
бяхме щастливи в смисъл, че на файлове
направихме този измислен пример с ябълки и банани.
Както вече бе сортирани.
Но с помощта на проста функция на сортиране можете да сортирате масив, което е доста готин.
Крайният нещо, което исках да говоря с вас за наистина бързо
е, че този вид на PHP е много добре, и това е супер удобен
да знам как да направя, ако някога ви се наложи да направите малки, бързи неща програмно.
Например, ако аз трябва да се напише програма, че, да речем,
поставя всички на секции, аз няма да отида и да го напиша в C.
Това ще бъде дълъг.
Това ще бъде вид болка, особено ако са налице използваните файлове,
точно както вас са виждали.
Това е толкова хубаво, че само с толкова много код тук
ние бяхме в състояние да се откъснете чрез файл, извадете всички уникални стойности
и да ги отпечатате обратно.
>> Въпреки това, за вашите задачи, за вашите проекти,
ако сте изграждане на уеб сайтове с PHP властта е, че
ние сме нашите PHP файлове чрез този преводач,
и преводач обработва всичко в рамките на PHP таговете,
като всичко останало недокоснато и плюе резултатите.
Ние можем да направим това, за да се изгради HTML програмно.
Сега, ако се върнем на спецификацията, последният проблем в спец.
говори за тази идея на концентрациите
и създаване на падащото меню,
които вие може или не може да искате да направите, в зависимост от това какво прави своя окончателен проект,
, която позволява на потребителя да избере от списък на всички възможни концентрации
си една концентрация.
Сега, това е вид болка, за да въведете това
и трябва да направим всичко това ръчно, особено когато се налага да се уверите,
че имате всички ъглови скоби на правилното място и всички котировки на правилното място,
с PHP можете да направите това програмно, и можете да направите това много бързо.
>> Нека видим как да направите това.
Отиваме да се отвори нов файл.
Отиваме да се сложи в нашите PHP тагове.
Отиваме да го наричат ​​concentrations.php,
и сега, когато правиш това, вид на нещо добро да се мисли за
, когато се опитвате да се смесват и мач PHP и HTML
разберете, добре, това, което е частта, която искам да програмно генерира?
Каква е ролята, че мога да генерират програмно?
Вярно е, че можете да направите всичко на вашия HTML
вътре в PHP блокове.
Можете да ехо на HTML като низове.
Например, ако искам да започнем да правим изберете Етикети вътре в PHP
Мога да кажа, ехо, изберете име = концентрация
и след това по-долу може да има друг маркер за ехо
или друг ехо, наречена близо изберете.
Това е един начин да го направя, защото това, което е буквално ще направя
е да отпечатате тази струна, когато тя преминава през интерпретатора PHP,
така че резултатът ще бъде HTML.
Ако запазите този файл, тъй като тя е точно сега
и аз тичам PHP concentrations.php
погледнете това, което имам.
Имам тази открита близо изберете етикет.
>> Ако аз трябваше да направи това и аз за да запазите този линк към файл,
да речем,-чакането на concentrations.html, тя изглежда като л е преминал от другата страна
сега, ако ми се отвори тук concentrations.html виждаш ли, че имат валиден HTML файл.
Е ли малко странно?
Ние използваме PHP за създаване на HTML, създаване на валиден HTML.
Начинът, по който го правят е, че ние просто да има печат PHP
HTML че искаме да печатате.
Това е буквално как работят PHP сайтове.
Когато посетите уеб сайт, който ви изпраща за нещо подобно
нещо, нещо, нещо дот ком наклонена черта index.php
компютърът е буквално се обажда index.php,
минава през интерпретатора PHP, и каквото и боклуци излиза
изпраща обратно към браузъра и каза хей, браузър, тълкува това като HTML.
Най-хубавото е, че тя може да бъде болка постоянно да напишете Ехо, ехо, ехо, ехо
и да приложат всичко в кавички, като тази, така че ако искате да напишете
HTML, че ще бъде статичен себе си, можете да го направите по този начин,
постави извън него, го затворите,
и след това тук само вътре в PHP таговете това, което знаете, че
искате да програмно генериране, и в този случай това е тези опции тагове
, които са болка да генерира.
>> Например, ние може да генерира хиляди тагове опция
, като направите нещо подобно, I <1000 + +
и каза ехо опция стойност = $-Опа, аз не може да направи това.
Е, нека да го пробвам и да видим какво ще се случи.
$ I и след това казва I </ опция.
Вместо да въведете този етикет опция хиляда различни времена
Аз съм с PHP код, за да се генерират автоматично, програмно.
Вид на готин. Да.
Спомням си, това се споменава в лекция или помагалото,
но каква е разликата между кавичките,
нормалните и тези единични неща?
Това всъщност е нещо, което съм направил неправилно тук, че щях да ви покажа.
Единични кавички не допускат никакви специални символи,
така всичко вътре в апострофи низ се тълкува буквално.
Ако имах \ N вътрешността на единични кавички и да запазя това, например,
и сега слизат тук и го пуснете
Опа, къде отивам?
О, това е, защото съм забравил $.
>> Сега, ако отворя - всъщност, тук, ние ще се отървете го пишете във файл.
Ние просто ще го прочете.
Тук можете да видите, че аз имам този буквален \ N в низа, като не е действително нов ред,
и също така, вместо действително интерполиране на стойността на тази променлива
тя ми даде $ и себе си, което е вид болка.
Начин около това е да се използват двойните кавички,
и тогава, когато използвате двойни кавички, то действително ще
правилно интерполира стойностите на всички тези променливи тук
и също така да признаят тази \ N да бъде новата линия, че е
и не \ N.
Използването на самотните е хубаво, когато имате
символи, които могат да се тълкуват като специални символи, защото тогава не трябва да
избяга тях постоянно.
Нещата могат да се разхвърлян, и често начина, по който го правят,
само за да направи нещата по-лесни, е, че ако аз отивам да имам нищо
HTML харесва в моя код ще включва промяна в единични кавички
и след това използвайте този оператор за конкатенация
да се слеят променливи.
Това е друг начин да го направите
където ние имаме точка, която ще свързва това е низ
с това с това с това,
и сега не е нужно да избягат тези двойни кавички.
Не е нужно да използвате този човек да избяга.
Те буквално ще бъдат отпечатани като двойни кавички и след това този човек тук.
Това е друг начин на смесване на всичко заедно.
>> [Student] Също така, когато отекна gettype е имало кавички на всички.
Надясно, така че ехото е нещо специално в смисъл, че не е нужно скоби.
Вие не трябва да има кавички непременно около променливи,
, като това е валидно да се каже, ехо $ аз, и той ще да се тълкува това като низ.
Ще гласове, така че можем да направим това и това е валидно, но ние не се нуждаят.
Това е задължително.
Проблем набор тази седмица изглежда за много от този вид неща
къде сте смесване и съвпадение на HTML с PHP
точно като това, и сега, ако превъртате назад и ние стартирате тази
можем да видим, че имаме цял куп стойности на вариант
че просто се отпечатва.
Ние имаме всичко това HTML, който се е генерирана наистина бързо за нас.
Аз ще го оставя като упражнение.
Това е много подобно на четене на файл, че ние направихме по-рано.
>> Има concentrations.txt файл, който можете да дръпнете надолу от CDN,
и можете да го отворите с помощта на един и същ foreach трик, който ние направихме по-рано,
и foreach просто трябва да ехо опция и включете
съответните стойности, съответните ключове и индекси,
и след това да получите капка, че буквално създава
програмно за всички вас на различни концентрации в Харвард.
Удобно нещо да има.
Има много неща за конфигурацията тази задача.
Ако не сте го направили вече следващия половин час, час,
известно време тази вечер определено за сигурност,
ходи чрез спец. проблем в стаята,
вижте какво става със създаването на хостове, на локалния хост, всички тези неща.
Едно нещо е да се отбележи, е, че
в повечето комплекти проблемни ние сме били във вашата папка Dropbox
и след това да изтеглите файл набор проблем цип и го разархивирате.
За този проблем, не искате.
Искате да отидете в тази директория хостове.
Вие ще искате да отидете в хостове и отиде в локалната директория домакин в него,
и това е мястото, където вие ще искате да дръпнете надолу архивирания файл,
разархивирайте го и си готов да отида.
Ще трябва да следвате стъпките в тясно сътрудничество.
>> Ако имате някакви въпроси, да изпращате имейли и да го качи обсъжда работно време.
Благодаря, момчета. Следващата седмица ще има заседание мнение за теста.
Насладете се на последния набор проблем. Надявам се, че всичко върви много добре.
[CS50.TV]