[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