[Powered by Google Translate] [Bölmə 8] [Less Rahat]
[Nate Hardison] [Harvard Universiteti]
[Bu CS50 edir.] [CS50.TV]
>> Son hissədə bizim ikinci xoş gəlmisiniz.
Bu həftə biz gələn həftə sonra PHP haqqında danışacağıq və edirik
biz Quiz 1 üçün bir az nəzərdən edəcəyik.
Biz paketi edir problemin səhifə 3-də başlamaq olacaq,
və biz kifayət qədər tez suallar bölməsi vasitəsilə işləmək lazımdır.
Səhifə 3-də biz C və PHP arasında bu fərq haqqında söhbət başlayır
PHP dinamik tipli dil o mənada ki,
C statik tipli halbuki,
və heç həqiqətən tez PHP kimi bir şey, heç bir kodlaşdırma görmüşdür
və ya JavaScript əvvəl Python və ya Ruby?
Ümumiyyətlə, yeni? Okay.
>> Mən yalnız qeyd edir ki, bu dil bütün
C və C + + və Java dillərində kimi çox fərqli
mənada ki, siz bir dəyişən elan zaman bəyan yoxdur
nə cür değişken, belə ki, C, biz həmişə demək olan vurulmuş edilmişdir
, bu int dəyişən olacaq, və ya bu char * dəyişkən olacaq
Ruby ilə Python ilə PHP ilə isə
bu daha müasir dillərin bir çox siz bütün bunu yoxdur.
Siz yalnız dəyişən bəyan və PHP halda
Bir $ işarəsi ilə prefixing ilə dəyişən olduğunu bəyan
və sonra dəyişən növü, o Holding nə dəyəri ilə müəyyən edilir
hansı növ sərindir.
Bu bir az ilə ətrafında oynamaq üçün, biz burada nümunə PHP kod
başlanğıc və son tags arasında.
Biz mənada HTML kimi bu cür istifadə etdiyiniz
biz açmaq və bağlamaq üçün burada bu bucaq mötərizədə var.
HTML ilə bu görəcəksiniz.
Siz də XML syntax eyni cür görəcəksiniz.
>> Bu PHP blokunun əvvəlində göstərir.
Bu? Php PHP üçün xarakterikdir.
Biz?> Həmçinin hər şeyi yaxın.
Nin istədiyiniz hər hansı istifadə edərək cihaz bir fayl açmaq edək.
Bu paket bu dynamic.php zəng deyir.
Əslində, siz istədiyiniz hər hansı zəng edə bilər, lakin fayl adı gələcək
və belə yalnız siz zəng nə xatırlayıram, sonra vacibdir.
Mən cihaz üzərində işə gedirəm
və mən bir kataloq üçün gedirəm
bölmə 9 edirəm ki, biz indi istəyirik inanıram.
Və biz, bölmə 9 getmək lazımdır
və mən gedit istifadə gedirəm.
Gəlin, gedit görmək və mən mina dynamic.php zəng etmək üçün gedirəm.
Boom.
Dynamic.php çərçivəsində ildən bu bir PHP fayl
və mən PHP tərcüməçi vasitəsilə çalıştırmak istiyorum
Mən o açıq tags hər şeyi başlamaq lazımdır
mən üz o sağ başlamaq üçün gedirəm
özüm yazıları arasında bir az yer vermək
və sonra bu həyata nöqtəsində ilə ətrafında oynamaq idi
bu funksiya burada belə gettype, bu funksiya, gettype çağırıb.
>> Heç kimi və ya yer və ya tire və ya bir şey var vurğulamaq ki bildirək
2 sözləri ayıran, almaq və ümumiyyətlə, yalnız bir söz yazın.
Mən gettype bir dəyişən keçmək Lakin nə edəcəyik ki,
$ var ya $ x, demək
Bu mənə bir hata formatında cür izah edəcək
nə növü adı.
Biz burada sınaq olacaq.
Xüsusilə, siz pset spec geri baxmaq əgər
Burada kodu bir neçə müxtəlif xətləri var.
Kodu ilk olaraq biz bu dəyişən, $ var, başlamaq
7-bərabər olacaq və biz bu printf xətt var
hey deyir ki, printf var boş.
Printf biz PHP şeyi çap edə bilərsiniz bir çox yollarından biridir.
Tez-tez yerinə printf istifadə əks-sədası funksiyasını görəcəksiniz
lakin printf biz bütün bir müddət C kodlaşdırma edilmiş tanış edirik.
Ne həqiqətən edə bilərsiniz əgər surəti və yapışdırıb işləri görmək edək edilir.
Mən bu keçir gedirəm.
Biz cihaz üzərində geri getmək lazımdır.
OK, orada getmək.
Və spacing bir az funky, lakin biz burada gedin.
Biz burada bu kodu var.
>> [Tələbə] nişanı üçün yaxşı deyil stil mı?
Bağışlayın?
[Tələbə] Əgər nişanı bu şərti mı?
Bu nişanı və ya deyil konvensiya əgər sağ, belə ki, Sam soruşur.
Adətən bəli.
Bu halda mən seçtiniz.
Dürüst, müxtəlif proqramçılar arasında müxtəlif şeyi görəcəksiniz.
PHP adətən HTML ile tez-tez istifadə olunur
və digər dillərdə, və bəzən çap bir az funky baxmaq
siz PHP başlanğıc və son tags ərzində indent əgər.
Bu, həqiqətən asılıdır.
Bu halda surəti və yapışdırıb, mənim üçün də Nişanlar yapışdırıb etməyib
ancaq, siz bildirib kimi, bu, aydın edir.
Bütün hüquqları, siz dynamic.php Bu kodu qazanc əgər
Mən sağ aşağı buradayam daha sonra nə siz edə bilərsiniz terminal pəncərə enmək edilir
gedit və tərtib bərabər etmək
etmək istifadə və sonra C sizin kodu çalışan
siz PHP fayl ilə bütün, PHP tərcüməçi başlamaq deyil
PHP adlı kiçik proqram olan
və tərcüməçi vermək mübahisə siz şərh istədiyiniz fayl.
Bu halda, dynamic.php.
Whoops, mən yerləşir qoymaq idi?
Oh, mən bölmə 9 qoydu və burada mən. Ona görə də var.
>> Hesab edirəm ki, yeniden çalıştırmak İndi əgər
biz ilk gettype funksiyası zəng görürük
var bir tamsayı edir.
Növbəti bir var bir string, sonra üçüncü bir var bir boolean edir.
Biz geri hərəkət əgər biz bax Bu barədə maraqlı olduğunu
Bu biz C. idi olanları oxşar növləri
Biz C. ints idi
Biz növ, C strings idi
belə strings mənada tamamilə legit növü deyil ki,
bizim CS50 string həqiqətən nə idi?
Bağışlayın? Missy?
[Missy] Char *.
Bəli, biz istifadə bu char * idi.
Dövr çox əvvəlində biz simli növü istifadə
lakin bu, həqiqətən başlıq altında bir char * idi.
PHP bu strings faktiki növü var halbuki Biz yalnız müəyyən yazın.
Bu char * növü məhsullarının çox var.
>> Biz strings ilə daha çox şeylər edə bilərsiniz ki, görürsünüz
daha asanlıqla PHP biz C bilər çox,
və sonra nəhayət, biz bu boolean növü var və burada böyük fərq ondan ibarətdir ki,
biz geri aşağı diyirləyin əgər biz görürük ki, bu cür adı
əvəzinə indi tam, simli və boolean var int və bool,
və müxtəlif proqramlaşdırma dilləri seçin kimi,
Sizin həyatında bir nöqtədə siz təmasda olacaq fərz
müxtəlif olanları bu kimi az quirks görəcəksiniz
C integers ints çağırır yerləşir.
Bəziləri integers çağırırıq.
Siz daxil lazımdır ki, digər şərtlər var.
Big int biz SQL bu gün gördüm.
Sayı və sonra boolean, bool də var
orada fərqlər bütün növ.
>> Bu olduqca maraqlı deyil, indi siz bir az vermək gedirəm zaman-
biz geri zoom əgər out-səhifə 3 altındakı bu həyata vasitəsilə iş
bu növ alt burada bu dəyərlərə uyğun nə xahiş yerləşir.
Biz 3.50 var.
Biz maraqlı olan, burada bu şey var.
Siz mühazirə boyunca aşağıdakı olduğunuz əgər baxmayaraq, biz əvvəl görmədim
yəqin ki, artıq olduğunu bilirik.
Sonra biz bu funky növü olan bu var.
Bu tanımalıdır.
C Bu nədir?
Sam? Bu C nə verəcək?
Bu dynamic.php adlı bir fayl açmaq və oxunaqlı olardı.
Bəli, biz? >> Faylın ulduz bu təyin ki, dəyişən növü ola bilər nə.
Məhz, biz bir fayl ulduz bu təyin edərdi.
Bu da qanuni PHP edir.
Ki, Run. Əgər gettype keçir zaman nə olur baxın.
Və sonra da ki, PHP ola bilər nə, null nə oldu.
Mən sizə bir neçə dəqiqə verəcəyik.
Siz sözün seçin və bu dəyərlər yapışdırıb
və biz sizə bir az təsadüfi zəng edəcəyik
və siz var nə oldu.
>> [Tələbə] Mən bir sual var. << Bəli.
Mühazirələr biri David sizin fayl üst bilər bir şey var deyib
ki, siz PHP hər zaman yazın yoxdur.
Nə idi?
O, yəqin ki, funt-bang ki, hash bang bəhs edirdi.
Bu direktiv ki, sizin fayl çalıştırılabilir kimi qeyd əgər
Dosyayı icra zaman nə edir ki,
bu shell proqram izah edəcək
fayl məzmunu şərh PHP tərcüməçi istifadə etmək.
Bu xüsusi xətt nə olan sual
biz daxil deyil bizim PHP faylları üst ola bilər ki,
biz fayl icra istədiyiniz zaman bu PHP line və ya bu PHP skript?
Və həqiqətən müxtəlif faylları bir dəstə ilə bunu edə bilərsiniz.
Mən bu PHP ikili saxlanılır yerləşir asılıdır iman
lakin tez-tez usr / bin / php başlamaq üçün yaxşı bir yerdir.
Siz cihaz aşağı geri gedərək məhz bu anlamaq bilər
və yazmaq olan php.
Siz ikili icra etdiyiniz zaman hansı komanda həyata tutulur
və ya müvafiq faylı bir komanda.
Bu PHP bu ikili fayl həqiqətən aliasing ki, mənə deyir
ki, sistem binaries bir çox qoyulmuş olan usr / bin, saxlanılan var.
Məsələn, mən indi # Bu gətirdik ki, üst diyirləyin əgər! Burada line
Mən aşağı diyirləyin bilər, və mən çalıştırmak üçün cəhd edə bilərsiniz
dynamic.php, amma icazə rədd edilir, bu səhv almaq,
və nə o deməkdir ki, bu fayl hazırda çalıştırılabilir icazələrin verilməsi deyil ki.
Bu kimsə çalıştırabilirsiniz bir fayl kimi qeyd deyil.
>> Siz və ya cingilti qaçdı və onu bir proqram var zaman
derleyiciyi hey, mən bir yürütülebilir tikinti edirəm ki, bilmək kifayət qədər ağıllı idi.
Siz yəqin ki, bunu icra etmək istəyirəm, belə ki, avtomatik konfiqurasiya ki,
sizin üçün icazələri.
Sıfırdan bir normal fayl yaratmaq zaman, baxmayaraq ki, belə deyil
səbəbi adətən sizin sistem hər hansı fayl etmək istəmirəm olan çalıştırılabilir
belə ki, həqiqətən getmək və özünüz var.
Bunu en asan yol, chmod əmri ilə
və chmod + x yürütülebilir bit əlavə deyir
də oxu bit, yazma bit və yürütülebilir bit var, çünki
r, w və x,
və chmod + x deyərək yürütülebilir bit yandırmaq edəcək
biz bu halda dynamic.php olacaq, belirttiğiniz sonra fayl üçün.
>> [Tələbə] ki, hər kəs üçün açıq mı?
Gəlin belə necə izinleri kontrol ki, bu göz?
Mən bir fayl permissions kontrol istədiyiniz necə bilirsinizmi?
[Işitilemez tələbə cavab]
Bağışlayın? >> [Tələbə] XSD.
XSD Bookmark hacks olan fayl verir.
Bütün faylları, l, siyahıya mənim kataloq mənə bütün faylları göstərəcək
cür uzun, verbose siyahısında, və belə ki, burada biz görürük
bu dynamic.php fayl
ötən 4:21 PM 5 noyabr tarixində redaktə edilib.
Bu fayl sahibi jharvard olunur.
Bu daxil olan istifadəçi var
Yəni, mən çalışıram istifadəçi var
Siz cihaz da edirsinizsə və siz də istifadəçi jharvard kimi çalışırıq.
Siz tələbələr qrup etdiyiniz
və bu tez-tez kifayət qədər görürsünüz ki, şey.
>> Biz burada detallı bir çox daxil edə bilərsiniz
lakin çox hissəsi üçün siz görmək istəyirsinizsə zaman baxmaq istəyirəm nə
bir fayl və ya çalıştırılabilir ilk növbədə
fayl sahibi olan istifadəçi, sahibi,
Biz sonra bu jharvard və
sol burada izinleri bit,
və bu oxumaq üçün yol ki, son bit
adətən ən və ya-Bu halda markalanması üçün istifadə olunur
Bu son bit tez-tez qeyd etmək üçün reklam olacaq
faylı bir kataloq və yalnız bir normal fayl deyil.
Burada Sonra aşağıdakı 3 bit
fayl sahibi olan icazələri müəyyən
bu halda jharvard olaraq, fayl sahibi kimi, bu fayl oxumaq və yazmaq bilər
lakin jharvard bu fayl icra edə ki, bir tire var.
, Növbəti 3 bit qrup üçün, bu tələbə qrupu
mənim cihaz çox istifadəçi var idi əgər
və biz, tələbələr qrup hissəsi kimi birdən çox istifadəçi var
sonra, onlar bütün bu faylı oxuya bilərsiniz, lakin onu yaza bilməz
və beləcə hər kəsdən, dünya
yalnız bu fayl oxuya bilərsiniz.
Bu barədə yaxşı, Uzunmüddətli writeup var
siz online oxuya bilərsiniz.
Problem set spec biz daha ətraflı daxil.
>> [Tələbə] Bu 218 Dünyanın istinad mı?
Bu 218-off olunur başım üst mən unutmadan deyiləm,
lakin heç.
Bakalým. İndi ki, sağ blanking edirəm.
Geri biz bu chmod + x ilə nə etmək
biz dynamic.php çalıştırılabilir icazə vermək istədi, harada
və məsələ bu hər kəs üçün yürütülebilir icazələrin verəcək ya yox idi
və ya yalnız jharvard və biz bunu görürük
əmrləri çalışan və ls-l yazaraq,
və indi biz bu çalıştırılabilir kimi qeyd edir ki, görürük.
Siz bir rəng dəyişikliyi olduğunu görürük.
İndi dynamic.php, yaşıl listelenen
və nə Charlotte olan suala cavab kimi görünür?
[Charlotte] Yalnız jharvard. >> Yalnız jharvard, evet.
>> Biz hamı üçün yürütülebilir bit çevirmək istəyirdi
necə ki, biz nə ola bilər?
Hər hansı bir fikir? >> A + x?
Bəli, dəqiq.
Charlotte, biz dynamic.php bir + x chmod edə bilər
biz ls-l run əgər indi biz görürük ki, yürütülebilir bit
həqiqətən hər kəs üçün açıq edir.
Və əslində bu əks etmək, belə ki, hər kəs üçün söndürmək bilər
minus istifadə edərək.
İndi söndürüldükdə olub, indi biz jharvard üçün geri çevrilə bilər
ki, biz, həqiqətən, indi çalıştırabilirsiniz
biz # Bu xüsusi kodu çalıştırdığınızda və indi oldu! üst xətti,
#! line, shell bildirib
Bu fayl run zaman hey bizim terminal verilən məlumata görə,
Bu fayl şərh / usr / bin / php istifadə
və sonra çıxış çap.
[Işitilemez tələbə sual]
Əlbəttə, məni geri hərəkət edək. Məhz bu kimi.
Siz bu direktivləri bütün ünlem bu funt başlamaq və görürsünüz
bəzən bir shebang, hash bang çağırıb.
>> [Tələbə] biz bu çalıştırılabilir etmək əvvəl necə php dynamic.php ilə çalıştırabilirsiniz?
Sualına necə bu PHP ikili istifadə çalıştırabilirsiniz idi
dynamic.php çalıştırılabilir deyil isə?
Bu dəqiq nə çünki bu super vacibdir
Əgər problem set 7 yazmaq zaman iş olacaq.
Vaxt PHP faylları çoxu birbaşa yürütülebilir deyil.
Bu proqram olan PHP ikili çünki çalışır ki yoldur.
Tərcüməçi, icra olan şey
və belə nə bunu edir sanki bütün məzmunu slurping olunur
bizim dynamic.php fayl və xətti ilə gedən xətti
və bu əmrləri yerinə, belə ki, bizim PHP faylı istifadə edir
təlimat siyahısı kimi.
Bu birbaşa həyata deyil.
Biz bu faylları run vaxt şərh olunur ki, harada.
Bu əvəzinə tərtib vaxt müəyyən olan bir şey bir run zaman dil var
C. kimi bir tərtib dili
>> Bir tərtib vaxt dil var kimi hərəkət etmək run zaman dil almaq üçün bir yol var,
Siz server görülən bütün çalışan varsa istəyirəm
çox-siz nə demək bilirsinizmi?
Bəli, belə bir sual
daha Dil tərtib dəfə növləri kimi çıxış etmək run zaman languages ​​almaq üçün bir yol varmı?
Və mən demək, tədqiqat fəal sahə bu şirkətlərin bir çox üçün var ki.
Mən Facebook PHP ilə bir çox iş görüb iman
və onu tərtib daha sürətli edilməsi, bu optimize
onların site PHP inşa çünki.
Siz bütün node.js aşağıdakı olduğunuz halda,
bir JavaScript tərcüməçi növü
web browser kənarda, brauzerinizin kənarda JavaScript run etmək,
ənənəvi JavaScript yalnız Firefox və ya Chrome daxilində run, çünki
və sərin animasiyalar bir web page baş etmək üçün istifadə olunacaq
və web səhifə dinamik edir.
Google etmişdir ki, bir çox iş inşa edilmişdir
JavaScript və C üçün + +
birlikdə məcburidir, fəal tədqiqat bir çox var belə
bu languages ​​onlara qarşılıqlı və optimize almaq
bir çox insanlar PHP və JavaScript kod bilərsiniz əsasən, çünki
bir çox asandır, çünki.
Bu çox gözəl var. Siz göstəricilərinə yoxdur.
Siz ətrafında üzən növ yoxdur.
Onlar bu tərtib vaxt languages ​​faydaları əldə etmək istəyirdi
növü yoxlanılması və sürət və aşağı yaddaş istifadə və bütün bütün
hələ də rahatlıq və bu yeni olanları istifadə rahatlığı təmin edir.
>> Geri hücum bizim orijinal planı.
Biz problem set spec burada bu suallara bir neçə var.
Nin həqiqətən tez keçir və biz otaq ətrafında gedəcəyəm edək.
Charlotte, nə növü 3.50 edir?
[Charlotte] Bu bir cüt var. >> Bu ikiqat var.
Jimmy, bu növbəti bir nədir? Bir sıra >>.
Bir dizi, zəhmli, və Jared bu fopen nədir?
[Jared] Bu resurs var. >> Bu resurs var.
Bu yeni bir deyil, bir fayl ulduz deyil, bir fayl növü var.
Bu resurs PHP növü var
və Pardon, Ella, son null nədir?
Null.
Null, necə PHP yazıldığına? ​​Eyni şəkildə >>.
Eyni şəkildə, paytaxt? >> Bəli.
Bəli, bütün hüququ.
Burada getmək, biz ikiqat var, biz bir sıra var
biz bir resurs var və biz null var.
Görmək Gəlin indi göründüyü-var
nin görək, indi mən də istəyirəm nə tahmin qoparmaq edir
Burada bu web page, bu php.net / manual,
uşaqlar ki, surəti və bir web browser açmaq. əgər
Mən Chrome qoparmaq gedirəm, da ki qoymaq
Mən sizə bu sadəcə göstərmək istəyirəm, çünki
biz növləri haqqında bütün gün danışmaq və bütün fun stuff bilər
lakin bu PHP dərslik, çünki
və PHP proqramçılar bir çox orada var.
Orada PHP web bir çox var,
və bir nəticə kimi, PHP sənədləri bir çox var,
və manual, bu php.net, getmək üçün həqiqətən yaxşı yer
nə PHP X bunu ən yaxşı yolu haqqında suallar qarşılaşdıqda zaman
və ya hansı bir funksiyası kimi baxmaq edir?
Bu, çünki kimi görünür nə ilə tanış Məhz cür
Əgər tez-tez buraya gələn olacaq, problem üçün bir az 7 seçin.
>> Siz PHP istifadə edir ki, son layihə bunu başa edin
bu çox yaxşı tanış olmaq lazımdır bir yer olacaq.
Tez-tez insanlar bu yolu onlar Google site axtarmaq üçün istifadə edir,
və onlar kiçik növ olan sağ, burada qədər ki, axtarış qutusu istifadə etməyin.
Siz PHP ilə bir şey ətrafında Googling edirik və görürsünüzsə
əl links biri genellikle ki, etibar edə bilərsiniz açılır
olduqca yaxşı resurs kimi.
Awesome, belə ki, həyata bu cür, yalnız həyata maraq,
olan isə biz görməmişik?
Biz burada görməmişik bir şey?
[Tələbə] Resurs. >> Biz fopen zəngə resurs gördüm.
[Tələbə] obyektləri. >> Obyektləri biz əmin üçün görmədim.
Callbacks biz görməmişik.
Bu yalançı növləri var.
Biz mütləq yalnız tam və ikiqat gördüm.
Biz digər bəzi görmədim, biz integers basın əgər
biz orada burada hər hansı digər integers görə bilərsiniz?
Onlar tam, tam, bütün belə tam edilmişdir.
Bəzi dillər, daha tam növləri var
biz bu gün MySQL gördüm kimi int və sonra böyük int var idi.
Cool.
>> Belə ki, PHP dərslik.
Bizim problem set spec geri və biz indi səhifə 4 aşağı diyirləyin bilərsiniz edək.
Bu dildə almaq olur ki, biri
Bu statik yazaraq yoxdur ki, siz bəyan olduğu bu dillərdə
dəyişən qədər ön növü
siz müxtəlif dəyişənlərin olan başlamaq bilər harada hallarda əldə edilir
bir-biri ilə qarşılıqlı,
və PHP bunu çalışır bu şey yoxdur
bunu ən həssas şey hesab nə
siz 2 müxtəlif növ bir-biri ilə qarşılıqlı zaman.
Məsələn, biz burada kodu bu xətlər baxsaq
biz ne olur var ki
biz cəhd və tam 2 simli 1 əlavə edin.
Biz bir rəqəmli dəyəri olmayan bir string cəhd və əlavə ne olur
lakin faktiki simvol sayı 50-CS?
Sonra görəcəksiniz yerləşir olur ki, fərqli bir şey var
əvəzinə biz bir simli üçün bir sıra əlavə etdiyiniz bir sıra simli əlavə,
və s və s biz əldə edirik nöqtəyə
biz 7 + gerçək var Ü burada qəribə şeylər bir növ.
Ki, heck nə deməkdir?
>> Uşaqlar irəlidə getmək və sizin cihaz bu kodu bəzi yapışdırıb edin.
Siz dynamic.php saxlaya bilərsiniz.
Biz nə görürsünüz.
[Tələbə] Just çap deyil, printf istifadə?
Bəli, belə ki, çap da PHP çap üçün etibarlı funksiyası tapa bilərsiniz.
Bunu çox müxtəlif yolları vardır.
Biz sonra danışmağa başlayın dəfə dair nümunələr bir neçə görürsünüz
biz yazmaq olacaq edən yeganə problem haqqında
biz yazmaq olacaq və sonra konsentrasiyaları problem
ki fopen və fclose olsa
tez-tez bir fayl məzmunu oxumaq üçün sadə yol deyil.
PHP bu C-kimi holdovers bir çox var.
[Tələbə] Mən yalnız bir çıxış kimi bir sıra almaq o şeyi 6 qoymaq zaman.
[Nate H.] Bu şeyi 6 qoymaq zaman.
O bəlkə-çünki Baxaq bu
bir şey bu çap zənglər yeni xətləri ilə sonunda xitam deyil ki.
Yeni xətt, bu çap zənglər hər var ayıran oldu
belə bəlkə, bir sayda alıyorsanız
və həqiqətən yeni simvol yalnız amalgam var.
[Tələbə] OK, mən necə edə bilərəm əmin-
Bəli, müxtəlif yollarla bir dəstə var.
Siz özünüz yeni bir xətt xarakter bir çap qoymaq bilər
yeni xətt xarakter əks-səda,
yeni xəttin çap.
[Tələbə] Belə echo printf eyni şeydir?
>> Printf printf kimi C
burada bir biçimlendirilmiş string çap edirik.
Siz bu format string və sonra bütün tutucu dəyişənlərin təchiz edirik.
Bu tez-tez istifadə deyil ki, bir şey var
bir disclaimer kimi, gəlin görək
Mən digər web dillərdə am çox PHP ilə az tanış am
və mən PHP proqramlaşdırılmış zaman mən adətən printf istifadə etməyin
Mən bunu var string interpolation imkanları ki, istifadə etmək daha sürətli tapmaq, çünki
biz getmək lazımdır və mən, yalnız ikinci sizə göstərmək bilərsiniz
C biz cür düzgün çap almaq üçün bu hacky şey vardır.
Siz, həqiqətən, PHP strings birbaşa dəyişənlərin bilər.
Printf mən adətən nə üçün çox uzun növüdür. Bəli, Ella.
[Ella] Siz parse error almaq Ümumiyyətlə, bu yoxdur demək-
səhv və nə tam olaraq harada C kimi, siz demək deyil
belə ki, bütün kod vasitəsilə baxmaq demək və bunu həyata rəqəm deyil?
Bu adətən daha targeted var.
Mən, bu halda bir az off idi
Mən bu halda biz bir nöqtəli vergül itkin düşüb edirəm.
O, hər şeyi hissi etmək üçün çalışır
Belə ki, bu təfsir languages ​​kimi, tərcüməçi cəhd edir
və müvafiq hər şey iş üçün əlindən gələni.
>> Siz JavaScript Məsələn, görürsünüz
will tez-line hesabatlarının onlar PHP nə kimi bir nöqtəli vergül ilə sonunda,
onlar C. nə kimi
JavaScript JavaScript tərcüməçilərin bəzi
tarayıcıları bir çox sizin üçün semicolons qoymaq olacaq
Əgər siz onları itkin üçün baş əgər.
Onlar sizin bəzi sloppiness üçün cəhd yerləşdirmək lazımdır.
O çalışır və çalışırıq və hər şeyi iş üçün çalışırıq bilər harada var
tamam deyir yerləşir və sonra nəhayət ki, bir nöqtə olacaq
Mən şeyi tahliyeli iş edə bilməz, bir xətt nömrəsi almaq lazımdır ki
tam yerdən bir az off görünə bilər.
OK, belə nin həqiqətən tez bu yolu gedək.
Biz Ella ilə off sol, belə nin Missy üzərində gedək,
və Missy, simli 1 plus sayı çap 2 verə bilər?
[Missy] 3. >> 3.
Bu mənada edirmi? Növ?
Bir sıra varmı? Bu bir string vermək varmı?
[Missy] Bir sıra. >> Bu bir sıra var.
Amma onu çap edir, belə ki, bu simli bir növ vermək olacaq.
>> Biz bu kontrol edə bilərsiniz bir şey
biz əgər $ var = 1 + 2
və sonra biz gettype və echo demək
biz burada çap üçüncü bir cür istifadə edirik.
İndi biz burada nə görə bilərsiniz.
Burada nə var ki, bu bir tam çıxdı edir.
Biz bir sıra bu string əlavə edildi baxmayaraq
biz Missy dediyi kimi, bu, bir simli almaq etməyib.
Biz tam əldə edilmişdir.
OK, belə ki, növbəti isə görmək Kevin qədər edək.
CS + 50? >> [Kevin] 50.
[Nate H.] 50. Bu mənada edirmi?
[Kevin] Bəli.
[Nate H.] Niyə? Nə üçün siz mənada edir?
[Kevin] yalnız sayı dəyərinin sıfır olan simli olan var idi.
Bəli, böyük.
Birmənalı hallarda şərti, lakin nə bilmək yaxşı.
Sayı 1 + simli 2 Növbəti nə Stella?
[Stella] 3. Yenə >> 3.
Və bu halda, biz bir simli və ya bir sıra alıram?
>> Bu bir cəhd nin verim.
Mənə cavab almaq daha sürətli heç? Charlotte?
Oh, mən didn't-tamam-nin görək, biz şey eyni cür etmək olacaq
yerləşir, biz bir sıra plus bir simli var və biz növü echo olacaq
biz almaq nə.
Biz də tam almaq.
Bu bir sıra olan simli, olan məsələ deyil.
Biz hələ bir tam almaq olacaq.
Bu hələ biz gözləyirik bilər nə olacaq.
Bütün hüquqlar, belə ki, Sam, nə 90 + divar pivə 9 şüşə?
[Sam] 99. >> 99.
Baxmayaraq divar pivə şişeler.
Bu, bizim nə haqqında bir az daha ətraflı məlumat verir.
Siz məktubları 9 yazmışdır [Sam] Əgər
sonra sağ, 90 olacaq?
[Nate H.] Bəli.
Biz N-I-N-E kimi 9 yazılı istədiyiniz halda sual
biz 99 və ya 90 kazanılmış olardı?
90 almaq istiyorum.
Bu sözün yalnız rəqəmli Sandıqı üçün axtarır.
Bu sayı sözlə və məhsulları tanımaq üçün kifayət qədər ağıllı deyil. Bəli.
>> [Tələbə] orada PHP typecasting kimi bir şey mi?
Var və bu, məhz siz C. bunu olardı yolu
Nə Charlotte, 10/7 haqqında?
[Charlotte] 1,4285.
[Nate H.] Bəli, bu barədə təəccüblü ola bilər nə qədər?
Siz C şey bu cür əgər nə olur
siz C 10/7 əgər?
[Charlotte] Bu yalnız hərhalda typecasted necə siz asılı verəcək
siz decimal sonra rəqəm yalnız məhdud sayda verəcək.
Bəli, decimal sonra rəqəm belə məhdud sayda.
Başqa nə ola-ki bu decimal sonra hər hansı bir rəqəm vermək bilər?
Tez-tez, belə ki, yenidən, bu typecasting etdiyiniz asılı olmayaraq,
və ya üzən point nömrəsinə çevirmək bilər.
Burada bunu etdi ki, gözəl cür idi.
Biz C məhsullarının bu cür etməklə başladı bu geri göstərmişdir
yəqin ki, bir az daha məntiqli edərdi
yalnız 1 getmək deyil.
Və sonra nəhayət, Jamie, nə + 7 haqqında doğru?
[Jamie] 8. >> 8.
Ki, nə deməkdir?
Mən yalnız 1 dəyəri doğru verir danışarlar.
Bəli. Biz saxta olduğunu dəyişdirmək ne olur?
[Tələbə] 7.
Bəli, biz bu ikili dəyərləri haqqında danışmaq Ü belə xatırlayıram,
1, olan 0 off olan?
İndi biz doğru 1 var, 0, yalan
və biz bu keçmiş dövr etdik ki, C nümunələri bu görmüşəm bilər
lakin tarixən C bool növü, bir real növü deyil
belə insanların həqiqi və saxta yerində 0 və 1 istifadə.
Bu bir təzahürüdür.
>> OK, belə ki, bütün bu barədə bir mühüm hissəsidir
bu müxtəlif növləri var.
Onlar bir-biri ilə qarşılıqlı bilər.
Onlar tez-tez biz burada gördük kimi, gözəl ki, yolları bir-biri ilə qarşılıqlı bilər.
Bu, simli 1 və 2 saylı onlara birlikdə əlavə və 3 əldə etmək güzel.
Bu mənada edir.
Lakin, web yazılı və xüsusilə etdiyiniz zaman emal edirik
istifadəçi daxil, belə ki, bir web formunu yazdıq demək
istifadəçi məlumat toplayır və sonra emal gedir
arxa sonunda, sizin PHP kodu server tərəfində
Siz istifadəçi tipli və təqdim ki, dəyər gözləyirik əgər
Sizin forma bir tamsayı və ya üzən point sayı və ya kimi bir şey olacaq
siz açıq-aydın o salmaq lazımdır
və sonra bir növü yoxlanılması edin.
>> Siz yalnız şeyi işləmək üçün bu növü Juggling sistemi etibar etmək istəmirəm
xüsusilə təhlükəsizlik səbəbləri üçün və yalnız Sizin veb sağlamlığına üçün.
Unutmayın yalnız bir şey ki, forma data idarə etdiyiniz zaman,
poçt və ya Al superglobals gəlir ki, bir şey
siz həmişə doğrulamak və çevirmək və typecast əmin olun.
Və yalnız biz typecasting bir an əvvəl haqqında söhbət kimi
Siz parantez olduğu PHP məhz C eyni
və sonra növü.
Mind ki tutun.
Bu yapýyorsun zaman lazımlı olacaq bir funksiyası
kimi biz istifadə və olduğunuz bu cür edir kənara-
biz burada bu gettype funksiyası istifadə etdik
, dəyişən növü anlamağa
və bu ayıklama üçün lazımlı və dəyişən növü nə görmək isə
bir şəraitdə, məsələn, bu, istifadə etmək istədiyiniz olmayan
siz $ var = tam və gettype şey görmek üçün kontrol edirik.
Bu, pis pis pis.
Əvəzində orada tam adlanan bu funksiyalar var simli olduğunu,
yerine istifadə etmək istədiyiniz array bu halda belə ki,
Mən burada bu oğlan yerine etmək istəyirəm ki, nə
bu tam var istifadə olunur.
Onlar tez-tez, siz tam ilə * əvəz edə bilər, o mənada ki is_ * edir istinad edirik
simli, Et Cetera, və yalnız həqiqətən sürətli əmin
Bu int php edir.
Edə bilərsiniz kimi görünür ya int və ya həmçinin tam mövcuddur?
Bəli, alias, belə int tam takma.
Cool.
>> Necə edirlər?
Nin sürətini bir az ala edək.
Gördüyünüz kimi İndi ki, diziler haqqında danışmaq olacaq
spec növbəti hissəsində biz PHP necə Diziler haqqında danışmaq
onlar C. daha az fərqli
Əslində, onlar bir amalgam cür etdiyiniz
siz C bilirik və sevgi gəlmişəm etdiyiniz Diziler
hər şey eyni tipli olduğu
yaddaşında ardıcıl və contiguously saxlanılır
və bu rəqəmli göstəriciləri var.
Siz index 0, index 1, 2 index var
və bu göstəriciləri ilə dəyərlər saxlamayın.
Siz Speller yazarkən C, siz bir çox həmçinin Siz
bu hash table yanaşma idi, və biz orada olduğunu gördüm
biz təsvir olunduğu storage müxtəlif cür
bir dəyəri əsas, belə ki, hash table bir şey saxlamaq üçün cəhd zaman
Siz xüsusi açar ilə saxlamaq istəyirdi ki, müəyyən idi
və əsas dəyər yeri və harada saxlanılır ki, müəyyən.
Siz növ bu anlayışları həm PHP sıra eyni zamanda baş var
və bir nəticə kimi, biz tez-tez bu assosiativ serialların zəng
biz bir dəyəri əsas şərik edir.
Bu sonrakı hissədə biz bir sadə PHP array haqqında danışmaq
biz a, b və c, düymələri var
bütün strings olan integers 1, 2 Xəritəçəkmə, 3.
Və müxtəlif düymələri ola bilər.
>> Siz strings, integers bəzi açarları bəzi düymələri ola bilər.
Siz müxtəlif dəyərlər ola bilər.
Siz simli ki, bir dəyər, bir tamsayı ki, bir dəyər ola bilər
bir obyekt və ya başqa bir sıra ki, bir dəyər, misal üçün,
eyni array obyektinin, o qəribə növ edir.
Siz yalnız bu element bir növü var ki, bir sıra var yoxdur.
Siz bir çox farklı şey var davam edə bilər.
Qeyd etmək başqa şey sizin kodu bu kimi bir şey görmək nə zaman ki,
olan yalnız bu kimi bir sıra, 0, 1, 2, 3, 4, 5, elan etibarlı PHP edir
Bu array olmaq başlatılmış $ Varış elan edəcək.
Amma nə həqiqətən başlıq altında əldə etdiyiniz dolayı bu cür
3-biz 1-0-0, 1 var Ü düymələri, 2, 2, 3 nəsil.
Və siz hətta əgər burada bu oğlan kimi bir sıra var çıxır ki,
Siz düymələri kimi a, b və c var
və sonra siz bir yığın kimi bu array istifadə başlamaq üçün array təkan üsulu istifadə
belə ki, bu sıra obyekt, bu array həqiqətən yüklənmir olmaq olduğunu görə bilərsiniz.
Biz bir sıra kimi istifadə edə bilərsiniz. Biz bir hash masa kimi istifadə edə bilərsiniz.
Biz bir yığın kimi istifadə edə bilərsiniz.
Bu array daxil şeylər basmaqla başlattığınızda
Bu üzərinə basmaq ilk şey index 0 və sonra index 1 və index 2 olacaq.
Siz düymələrin gizli nəsil bu cür əldə edə bilərsiniz
siz açıq-aydın onlara müəyyən halda.
Siz aşkar düymələri daxil yolu, əlbəttə, bu bracket notation istifadə edir
hansı əvəzinə yalnız imkan başqa seriallarda kimi
Burada tam göstəriciləri, indi biz bir şey imkan verir.
Siz əsas bir simli olmaq istəyirsinizsə, bu kimi müəyyən ediyorum.
Siz bir int olmaq istəyirsinizsə, siz istifadə etmək istədiyiniz int ilə daxil.
>> Ki, bu günə qədər haqqında suallar?
Bu ideya haqqında gözəl şeylərdən biri
Siz yalnız heç bir xüsusi açar ilə saxlanılır bir dəyər ola bilər ki.
Biz artıq geri varsa mənə bu məhsulları silin ləvazımatlı-edək.
Və edək mən görülən 0, 1, 2, olmaq bir sıra başlamaq deyirlər.
Mən indi bilirəm ki, məsələn, I $ Varış [0] echo əgər
Mən, dəyəri 0 çap almaq üçün gidiyorum
və yalnız heç bir xüsusi düyməsi üçün saxlanılan bir dəyər ola bilər-ci ildən
Mən Varış $ bir şey saxlamaq əgər [0], bir demək
I [0] yenidən Varış $ echo zaman mən bilirəm
Mən əvvəlki kimi çap 0 almaq niyyətində deyiləm.
Mən yalnız almaq üçün gedirəm.
Belə ki, bu əsasən I $ Varış [0] saxlama 2 müxtəlif dəyərlər ola bilməz ki, edir.
Bu əvəz sanki bu kimi, 0 və simli bir də saxlaya bilməz
nə [0] əvvəl Varış $ idi.
Mən bu qədər onu idarə olunur gətirmək səbəb nə oldu.
I 0 çap və sonra aşağı burada var ki, burada baxın.
Burada mən tənbəl idi, çünki heç bir yeni xətt var və o da qoymadı
Bu barədə sərin var, biz bir yol kimi istifadə edə bilərsiniz
bir sıra bu fikri tutmaq
biz bir sıra ərzində neçə düymələri ola bilməz.
Biz bir sıra ərzində eyni düymələri ola bilməz.
Mən əsas 0 və dəyəri 1 və əsas 0 və dəyəri ola bilməz
və ya əsas 0 və dəyər doğru.
Düymələri bütün var array yalnız 1 əsas var var.
Siz saxlanılan eyni dəyər ola bilər baxmayaraq,
müxtəlif düymələri altında sıra neçə dəfə
Sizin PHP sıra eyni düymələri neçə dəfə etmək mümkün deyil.
>> Biz bu növbəti problem baxsaq, unique.php,
biz bir PHP fayl açmaq istədiyiniz
strings bir siyahısı, satır başına bir ip olan
və biz bu fayl unikal strings bütün tapmaq istəyirəm
biz bütün bu PHP Diziler biri istifadə olunur
və bu array düymələri kimi fayl strings istifadə
və bu yeni açarları saxlamaq kimi array yenilənmə saxlayın.
Biz fayl hər oxuyub kimi biz, serialın bu saxlaya bilərsiniz
və sonunda biz array bizim düymələri kimi olacaq
fayl ərzində unikal strings bütün.
Bu mənada edirmi?
Nin necə bu işləri görmək edək.
Biz spec görə açmaq olacaq, yeni bir fayl unique.php çağırıb.
Açın. Bağışlayın, üzr, yeni fayl.
Biz eyni başlanğıc və son tags ilə başlamaq olacaq.
Biz bölmə 9 saxlamaq olacaq və biz bunu unique.php zəng olacaq.
OK, indi daxil zoom
Burada fikir, bir fayl açıq
xətti ilə fayl line oxuyun.
Fayl hər xətti
biz biz bir sıra olacaq
bizim əsas kimi xətti.
Və sonra biz burada sonuna zaman
$ Varış nin düymələri unikal xətləri var
fayl biz bilirik bəri mən bu massivinə line qoymaq əgər
neçə dəfə yalnız, köhnə dəyər əsas davam edəcək
özü yalnız istədiyiniz kimi və biz, həqiqətən də array line qoymaq bilər.
>> Bu qəribə növ edir.
Biz, yenidən və üzərində eyni əsas dəyər cüt saxlanılması edirik
lakin biz line adlanan yalnız 1 əsas olacaq ki, zəmanət ildən
biz deyir-a bir fayl heyvan noises fayl və bu hürmə, hürmə var, əgər
miyavlamak, miyavlamak, moo, moo və hər dəfə biz bir heyvan səs oxumaq
hürmə kimi və biz sonra ikinci dəfə hürmə almaq bizim array onu saxlamaq və
biz biz bu saxlanılır ki, ilk dəfə üzerine yazılır hürmə saxlamayın.
Sonda yalnız array bir giriş olacaq
bizim heyvan noises fayl heyvan noises hər biri üçün.
Uşaqlar siz PHP bir fayl açılış həll edə bilər ki, inamlı hiss edirsiniz?
Etmək üçün bir yolu-Gəlin bunu bu tez bir yol üzərində getmək
biz əvvəllər gördüm kimi, fopen ilə.
Siz fopen some_file.txt bilər.
Siz yalnız C. kimi, oxumaq rejimində bu aça bilər
Yəni bunu bir mükəmməl yaxşı yoludur.
Siz həmçinin sonra xətti ilə fayl line oxumaq üçün
C. Siz ki onların çoxu eyni funksiyaları var
Siz fgets var.
Biz ki, istifadə sevmirəm baxmayaraq Siz feof var
çünki ki, C. böyük idi, xatırlayıram
Siz, eyni şəkildə edə bilərsiniz
lakin burada həqiqətən sərin şey.
Bağışlayın, mən fayl $ etmək istəmirəm, amma PHP fayl deyilən bir funksiyası var
o bütün içeriğini deyilir, çünki bu funksiya burada sərin
Siz, belə some_file.txt belirttiğiniz fayl,
bir sıra bu fayl bütün içeriğini oxuyur
və sonra olduqca uykusuz olan artıq təkrarlamaq imkanı verir.
>> Bizim web browser, məsələn, getmək edin
və biz PHP fayl üçün Google baxmaq
Siz, bizim dərslik fayl bir sıra daxil bütün fayl deyilir deyir ki, burada görə bilərsiniz
və biz simli kimi bir fayl məzmunu qayıtmaq file_get_contents bilər
lakin adətən yalnız bir sıra kimi əldə o nə çünki həqiqətən gözəl
belə onu pozur ki, hər element
serialın olan fayl bir xətt deyil,
biz fayl 0 baxmaq əgər ki, fayl ilk xətt var.
Fayl 1, ikinci xətti, fayl 2, üçüncü xətt və s və s.
Ki, siz C nə idi bütün, əgər bu gözəl olmazdı?
Pretty uykusuz.
David mühazirə bu göstərdi və o, göstərdi idiom idi
loop-in PHP üçün standart əlavə biz idi ki,
üçün ($ i = 0; i <10; i + +),
və çox PHP bunu edə bilər, eyni şey-
biz də foreach adlanan bu sərin tikinti var.
Seriallarda və ya bu data strukturları üzərində iterating zaman Foreach həqiqətən lazımlı
bu serialın hər element çıxarmaq üçün imkan verir, çünki
əl endeksleme özünüz etmək olmadan,
əl indeksi dəyişən yaratmaq olmadan, bu arttırmayı
bunu bir çox şey var, çünki o nöqtədə sıra dəyəri çıxarmaq.
>> Siz yəqin etdik ki, siz C stuff etdiyiniz zaman ton
dövr ərzində, bu foreach ilə
biz bu fayl array üzərində loop bilər
və sintaksis biz bu sıra artıq indi loop etmək istəyirəm ki,
və biz olacaq dəyişən saxlamaq üçün istifadə ki, müəyyən
bu foreach loop çərçivəsində yerli yerli bu serialın element,
biz bu xəttinə zəng olacaq edir.
Yalnız sözlə bir fayl və bir line bir söz varsa
biz də bu söz zəng edə bilər, həqiqətən, yalnız bu adı vermək
siz zəng etmək istəyirəm nə olursa olsun,
və sonra loop daxilində bu dəyişən xətti ilə istədiyiniz hər hansı edə bilərsiniz.
Bu serialın dəyəri almaq üçün kifayət deyil və siz də almaq istəyirsinizsə
bununla yanaşı indeksi siz index üçün ad daxil edə bilərsiniz
habelə dəyəri və indi 2 dəyişənlərin girmə imkanı vardır.
Siz i və xətt $ var
Ü i sıra indeksi dollar,
və line Dosyayı alınan ki xəttidir.
Məsələn, biz bu kimi fayl echo line 0 çap etmək istəyirdi, əgər
Biz yalnız bu kimi ola bilər, "Line $ fayl i, line $ deyil"
və burada biz də ya hələ görməmişik bir şeydir
Mən tamamilə bu bütün% s% d iş üzərində atlandı etdik yerləşir
biz C ilə məşğul idi, əvəzinə mən düz getdi etdiyiniz
mənim simli ilə uyğun dəyişənlərin yazılı.
>> Bu dəyişən interpolation, simli interpolation adlanır
burada sağ dəyişənlərin doldurulması və PHP tərcüməçi edirik
o ikiqat ilə başlayan bir simli ilə oxu zamanı kifayət qədər Ağıllı quotes-
heç bir quotes, bir sitat strings ilə bu-edə bilməz
bu dəyişənlərin axtaran vasitəsilə lakin ikiqat sitat strings ilə deyilir kimi.
Onlara aşağı ov edir, bu dəyişənlərin görür əgər dəyişən dəyəri olacaq
bir string təmsil çevirmək bilər və simli daxil mövzusu,
olan pretty uykusuz edir.
İndi isə, hər şeyi qalan Şərh qoy
bu saxlamaq və nə biz nə edə bilər bir fayl açmaq bilər
biz some_file.txt-qoy 's yaratmaq zəng edə bilərsiniz ki, yeni bir fayl
və biz yalnız, hər test üçün burada cəfəngiyatdır məhsullarının bir dəstə də qoya bilər
Mən üst burada yapýyorum kimi, some_file.txt zəng saxlamaq,
Mən etmək yalnız kiçiltmək əgər indi əmin hər şey eyni deyil kataloq-
Mən eyni dizinde unique.php və some_file.txt var kimi görünür.
Mən php unique.php çalıştırıyorsanız
mənim fayl hər bir çap və xətt nə necə?
>> Bu doğru, olduqca güclü?
Baxın, bir fayl açmaq üçün kodu 3 xətt etdi.
Yaxşı, kodu 4 satır. Mən aydın, bu gün saymaq mümkün deyil.
Amma həqiqətən digər 2, qıvrım aşırma kodu yalnız 2 maraqlı xətləri, çünki
lakin bu çox kodu biz onun vasitəsilə təkrarlamaq, bir fayl açmaq edə
line nömrəsi və xətt özü çıxarmaq
və çap.
Cool stuff. Charlotte.
[Charlotte] Mən sintaksis haqqında bir sual var.
Belə ki, açıq olan fayl hər bir xətt ilə məşğul foreach
və sonra hər bir xətt ilə şeylər istədiyiniz zaman yalnız bunu
və sonra dəyəri şərik.
[Nate H.] Nə sağ edə burada sual idi
bu foreach serialın nə var, belə ki, foreach sintaksis
həqiqətən foreach, və heç bir yer yoxdur ki, xəbərdarlıq edir
ya üçün və hər arasında bir şey.
Onlar bir-birinə yanında doğru getmək
və sonra o, bir sıra edir
və sonra orada olmalıdır ki, deyilən bu digər söz
və sonra kimi sonra da bir dəyişən adı qoya bilər
siz serialın dəyərləri çəkərək etmək olacaq olan halda,
deyil indeksləri, və ya biz aşağıda yazdıq kimi siz bunu əgər
Siz düymələri və dəyərlər almaq.
Dəyəri klavişli kimi serialın serialın və ya cüt foreach element var
və ya yalnız dəyəri.
Siz düymələri ehtiyac yoxdur, əgər sizə lazım nə asılı olaraq,
sonra dəyəri bilərsiniz.
Siz düymələri istəyirsinizsə siz də onlarla bilərsiniz.
>> [Charlotte] Mən də biz i və ya line elan heç həyata keçirilir.
Necə hətta onlar nə bilir?
[Nate H.] Siz bəyan nə deməkdir?
[Charlotte] Biz onlara heç nə i və ya line vasitədir.
[Nate H.] Biz i və ya line baxımından nə deməkdir kompüter bildirib heç of-
[Charlotte] Onlar dizine və ya they're-edirik ki,
[Nate H.] Biz, bu indeks və ya əsas və dəyəri ehtimal olunur ki, bildirib heç
ki, PHP tərcüməçi, çünki ki, var.
Bu bəyannamə kimi xidmət edir və tamam deyir, əsas olacaq
dəyişən i adlı dəyişən saxlanılır çağırıb.
Dəyəri dəyişən adlı line saxlanılır olacaq
bu bu dəyişənlərin bəyannamə kimi xidmət edir
və $ i əsas deyir, və $ xətti dəyəri.
Bəli, Ella.
Düymələri sayı işlər deyil [Ella] Əgər
necə hər şeyi çap neler üçün karar verir?
Yalnız bu daxil olub əmri belədir?
[Nate H.] Agentliyi keçir edək.
Nin Varış adlı dəyişən yaratmaq edək
və biz 7 gedir edə bilərsiniz.
1, 2, və ya alma ilə 0 başqa array gedir demək edək.
Gəlin 7 1 gedir deyə, b, 2 gedir
və 3 4 gedir.
Biz qarışdırmaqla edirik, çünki bu bir crazy axtarır Məsələn növü
bütün yer üzərində strings və integers.
Bu array heç real sifariş var.
Mən demək, biz düymələri ilə əlifba sırası ilə hər şey sifariş edə bilər.
Biz dəyəri ilə əlifba sırası ilə hər şey sifariş edə bilər.
>> Biz çalışırıq və bəzi strings ki, nəzərə almaq bilər, bəzi ints var
və biz cəhd və eyni tipli onlara bütün çevirmək və nə oldu
və ya biz artıq onlara daxil olan dəyəri onları nəzərdən keçirə bilər
ikinci, biz ilk bu oğlan qoymaq yerləşir, bu adam, üçüncü bu adam,
dördüncü, Et Cetera bu oğlan.
Biz bu kodu çalıştırdığınızda nə olur bax edək.
Biz aşağı diyirləyin və şey eyni cür Əgər
və burada yeni xətlər həyata çap deyil.
Bu fayl şeyi oxumaq zaman dəyərlər yeni xətləri daxil olmaqla,
burada yox idi, halbuki bu, qəşəng çap nə
belə ki, hər şey birlikdə smushed nə var.
Yalnız şeyi gözəl etmək üçün yeni əlavə edək.
İT təkrar edək, və burada
nə oldu.
Bu serialın onu qoymaq olan üçün hər şey çap.
Bu mənada asayişi qorumaq deyil.
>> Farklı bu problem geri Going
biz bir fayl üzərində təkrarlamaq etmək istədiyiniz
və biz, bu some_file.txt verəcəyik
və biz bu kimi artıq təkrarlamaq olacaq.
Biz biz bütün var istədiyiniz ki, əmin bir sıra istifadə etmək istədiklərini bildirib
unikal orada xətləri həyata, və biz, həqiqətən, asanlıqla edə
yalnız biz əlbəttə bir loop kənarda bəyan edir ki, bir sıra saxlamaqla,
və dedik ki, biz sıra açarları kimi fayl xətləri istifadə əgər
biz bir cüt xətti daxil olduqda biz əvvəlki dəyər əsas olarıq.
Bu eyni sıra eyni olan 2 açarları üçün heç mümkün deyil.
Biz yalnız bunu edə bilərsiniz.
Biz burada bu echo bəyanat qurtarmaq lazımdır.
Burada bizim sıra fayl xətti saxlanılması edirik
əsas kimi özü istifadə edir.
Ona heç bir şey, və biz hətta bu əsas ehtiyac yoxdur çıxır.
Biz i dəyişən ehtiyac yoxdur.
Bu nöqtədə biz başqa foreach loop etmək olsaydı
və biz hər Varış üzərində loop idi
və line indi biz oops echo əgər, sorry.
Biz vergül istifadə edə bilməz. Biz söz kimi istifadə etmək lazımdır.
Biz line echo əgər İndi fayl unikal sözləri bütün almaq lazımdır.
Biz some_file.txt qədər getmək varsa,
və Gəlin biz alma, banan, alma, alma, banan, nə demək
biz bu fayl unikal sözləri bütün çap əgər biz yalnız almaq lazımdır
alma və banan çap.
Biz bu edirsiniz, indi burada biz geri zoom olacaq
php unique.php və ta-da.
Biz uğurla fayl uniqued etdik.
>> Siz çap əvvəl bu problemin yekun hissəsi bu array sort isteyen edilir
Bu sadə misal biz yalnız etdik ki,
biz mənada şanslı olan fayl
biz alma və banan bu göstərdi Məsələn etdi.
Artıq sıralanır edilib.
Amma sadə cür funksiyası istifadə edərək olduqca uykusuz olan bir sıra, sıralayabilirsiniz.
Mən, həqiqətən, tez sizə uşaqlar ilə danışmaq istədim son şey
PHP bu cür bütün yaxşı və yaxşı ki, bu lazımlı super deyil
Əgər program az, tez şeyə ehtiyac varsa, bunu necə.
Məsələn, demək ki, bir proqram yazmaq istəyirsinizsə,
Mən C. getmək və yazmaq fikrində deyiləm hissəyə hamı qoyur
Bu uzun olacaq.
Bu, cəlb faylları var, xüsusilə də əgər, bir ağrı növü olacaq
uşaqlar gördük kimi.
Bu gözəl ki, burada yalnız bu qədər kodu ilə
biz bir fayl vasitəsilə rip edə, bütün unikal dəyərlər çıxarmaq
və onları geri çap.
>> Lakin, tapşırıqlar, sizin layihələri üçün,
siz PHP ilə web tikinti edirsinizsə güc olduğunu
biz, bu tərcüməçi vasitəsilə PHP faylları yayınlıyorsanız
və tərcüməçi, PHP tags ərzində hər şey emal edilir
başqa hər şey bakir tərk və nəticələrini spitting.
Biz program HTML yaratmaq üçün bunu edə bilərsiniz.
Spec, indi biz spec geri əgər, son problem
konsentrasiyası bu ideya haqqında danışıqlar
və açılan menyu yaratmaq
siz bilər və ya yekun layihə nə asılı olaraq, istədiyiniz bilər,
ki, istifadəçi bütün mümkün konsentrasiyaları bir siyahıdan seçin imkan verir
onların bir konsentrasiya.
İndi bu, həyata yazın bir ağrı növü
və siz əmin qarşılaşdıqda xüsusilə, əl bütün bunu
Əgər doğru yerdə bütün bucaq mötərizədə və doğru yerdə bütün quotes var
belə PHP ilə program bunu edə bilərsiniz, siz həqiqətən tez bunu edə bilərsiniz.
>> Bunu necə edək.
Yeni fayl açmaq olacaq.
Biz PHP tags qoymaq olacaq.
Biz bunu concentrations.php zəng olacaq
və indi bunu etdiyiniz zaman, yaxşı bir şey cür düşünmək
Əgər PHP və HTML mix və uyğun çalışdığınız zaman
həyata figuring edir, tamam, mən program yaratmaq istədiyiniz hissəsi nədir?
Mən program yaratmaq olar ki, iştirak nədir?
Bu sizin HTML bütün edə bilərsiniz ki doğru
PHP blok daxilində.
Siz strings kimi HTML bütün echo bilər.
Məsələn, mən PHP daxilində seçin tags bunu başlamaq istəyirsinizsə,
Mən echo demək olar, name = konsentrasiyası seçin demək
və sonra aşağı aşağıda başqa bir echo tag ola bilər
və ya başqa echo yaxın seçin çağırıb.
Nə bu sözün nə edir, çünki bu bunu bir yoludur
bu PHP tərcüməçi axır zamanı bu simli çap olunur,
belə nəticə HTML olacaq.
Sağ İndi mən bu faylı varsa,
və mən php concentrations.php run
mən var nə oldu.
Mən bu açıq yaxın seçin tag var.
>> Bunu idi və mən bir fayl üçün bu nəticə saxlamaq olsaydı
concentrations.html-wait, demək, bu, l kimi digər artıq keçmişdir görünür yan-
Mən burada açmaq əgər indi mən cari HTML fayl görmək concentrations.html.
Qəribə bu cür mı?
Biz, HTML yaratmaq etibarlı HTML yaratmaq üçün PHP istifadə edirik.
Biz bunu edirik yolu biz yalnız PHP çap qarşılaşdıqda edir
biz bunu çap etmək istəyirəm ki, HTML.
Bu PHP web iş necə sözün edir.
Sizin kimi bir şey sizə göndərir ki, bir web saytına girə zaman
bir şey, bir şey bir şey dot com çizgi index.php
kompüter, sanki index.php qədər zəng
PHP tərcüməçi vasitəsilə çalışan və hər hansı junk çıxır
bu brauzer geri göndərilməsi və hey deyərək, browser, HTML kimi şərh edir.
Gözəl şey daim echo, echo, echo, echo yazmaq bir ağrı ola bilər ki,
və yazmaq istəyirəm, bu kimi quotes hər şeyi əlavə
, bu kimi bunu özünüz statik olacaq ki, HTML
, kənarda qoymaq bağlayın,
və sonra burada yalnız Bilirsiniz ki, PHP tags daxilində qoymaq
program yaratmaq istəyirik, və bu halda bu seçimi tags var
ki, yaratmaq üçün bir ağrı var.
>> Məsələn, bir min seçimi tags yaratmaq bilər
bu kimi bir şey, $ i <1000 etməklə, i + +
və echo seçimi dəyər deyərək = $-whoops, mən bunu edə bilməz.
Yaxşı, gəlin bir cəhd və nə görmək verək.
$ I və sonra $ i deyərək </ seçin.
Əksinə bu seçimi tag həyata yazın olan min müxtəlif dəfə
Mən program, avtomatik olaraq yaratmaq üçün PHP kodu istifadə edirəm.
Uykusuz şərti. Bəli.
Mən bu mühazirə və ya gözden geçirmek ya qeyd olunur, xatırlayıram
ancaq dırnaq arasında fərq nə
normal olanlar və bu tək şey?
Bu, həqiqətən, Mən sizə göstərmək davam yanlış burada etdik ki, bir şey deyil.
Vahid quotes, hər hansı xüsusi simvollar imkan vermir
belə bir sitat string içərisində hər şey sanki şərh olunur.
Mən \ n vahid quotes içərisində idi və mən, məsələn, bu qənaət edin
və indi burada enmək və run it-
oops, mən hara gedirəm?
Mən $ unuttum çünki Oh, bu.
>> Mən-həqiqətən açmaq əgər İndi, burada, biz bir fayl üçün yazaraq xilas edəcəyik.
Biz yalnız oxumaq lazımdır.
Burada, mən faktiki yeni xətt kimi, simli bu hərfi \ n var ki
və həmçinin, əvəzinə faktiki olaraq bu dəyişən dəyəri interpolating
mənə bir ağrı növü olan $ i özü verdi.
Bu ətrafında yol, ikiqat quotes istifadə edir
və sonra faktiki olacaq ikiqat quotes istifadə
Burada düzgün interpolate bu dəyişənlərin bütün dəyərləri
həm də ki, yeni xətt üçün bu \ n tanımaq
və \ n.
Siz zaman tək olanları istifadə edərək gözəl
xüsusi simvol kimi təfsir edilə biləcək simvol çünki sonra siz yoxdur
daim onları xilas.
Things, tez-tez mən bunu yol messy almaq olar
yalnız şeyi asan edir ki, bir şey üçün gidiyorum əgər
HTML mən tək quotes ərzində edit daxil olacaq mənim kodu xoşlayıram
və sonra bu concatenation operator istifadə
daxil dəyişənlərin concatenate üçün
Bu bunu başqa bir yolu
biz qoşulmaq niyyətində olan nöqtə var bu simli deyil
bu bu bu ilə
və indi mən bu ikiqat quotes xilas yoxdur.
Mən qaçmağa bu oğlan istifadə etmək yoxdur.
Onlar sanki burada ikiqat quotes və daha sonra bu oğlan kimi çap olacaq.
Bu birlikdə hər şey qarışması başqa yoludur.
>> [Tələbə] Ayrıca, gettype yankılanacağını zaman heç dırnaq var idi.
Sağ, belə ki, echo cür siz parantez ehtiyac yoxdur mənada xüsusi edir.
Siz kotirovka dəyişənlərin ətrafında mütləq qeyd etmək lazım deyil
bu $ i echo demək düzgün deyil və bu, bir string kimi bu şərh olacaq kimi.
Bu tökmə nə olacaq, biz bunu edə bilər ki, çox etibarlı, lakin biz buna ehtiyac yoxdur.
Bu isteğe var.
Bu həftə problem müəyyən məhsullarının bu cür bir çox üçün baxmaq
siz PHP ilə HTML karıştırma ve uyğun olduğunuz
biz geri gedin və əgər bu kimi, indi biz bu run
biz seçim dəyərlərin bütün dəstə var ki, görmək olar
yalnız çap oldu.
Biz həqiqətən tez əmələ oldu ki, bütün bu HTML var.
Mən bir həyata kimi tərk edəcəyik.
Biz əvvəllər ki fayl oxu çox oxşar deyil.
>> Siz CDN aşağı çəkmək olar ki, bir concentrations.txt fayl var
və biz əvvəllər ki, eyni foreach oyun istifadə edərək aça bilər
və yalnız bir seçim və plug echo var foreach
müvafiq dəyərləri, müvafiq düymələri və indeksləri,
və sonra hərfi yaradır aşağı açılan almaq
program Harvard müxtəlif konsentrasiyaları bütün üçün.
Üçün lazımlı şey.
Bu tapşırıq üçün konfiqurasiya məhsullarının çox var.
Siz yapmadıysanız artıq növbəti yarım saat, saat, almaq
axşam mütləq əmin, bəzi vaxt
, problem set spec vasitəsilə gəzmək
bu vhosts, yerli host, bütün məhsullarının yaradılması ilə neler oldu.
İndi qeyd etmək Bir şey ki,
ən problem dəstləri sizin Dropbox qovluğunda davam etdik
və sonra problem set zip fayl indirirken və unzipping.
Bu problem set üçün istəmirəm.
Bu vhosts dizine getmək istəyirəm.
Siz vhosts getmək və daxilində yerli host dizine getmək lazımdır
Siz zip fayl açılan lazımdır yerləşir və bu ki,
bu açın, və getmək üçün hazır olun.
Siz yaxından adımları lazımdır.
>> Əgər hər hansı bir sualınız varsa, e-poçt göndərmək, ofis saat gəlib müzakirə onu göndərin.
Thanks uşaqlar. Gələn həftə biz viktorina üçün icmal sessiya var olacaq.
Son problem set həzz alın. Mən bütün həqiqətən yaxşı gedir ümid edirik.
[CS50.TV]