1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Sezzjoni 8 - aktar komdi] 2 00:00:02,610 --> 00:00:04,910 [Rob Bowden - Università ta 'Harvard] 3 00:00:04,910 --> 00:00:07,070 [Dan huwa CS50. - CS50.TV] 4 00:00:11,520 --> 00:00:14,160 >> Dawn in-noti taqsima ġimgħa ser ikunu pjuttost qasir, 5 00:00:14,160 --> 00:00:19,070 hekk jien biss ser iżommu jitkellem, inti guys huma ser iżommu tistaqsi mistoqsijiet, 6 00:00:19,070 --> 00:00:22,720 u aħna ser nippruvaw biex jimlew l-ħin kemm jista 'jkun. 7 00:00:22,720 --> 00:00:31,950 Ħafna nies jaħsbu li dan pset mhuwiex neċessarjament diffiċli, iżda huwa twil ħafna. 8 00:00:31,950 --> 00:00:37,070 Il spec pset innifsu jieħu siegħa biex jinqara. 9 00:00:40,530 --> 00:00:45,730 Aħna jagħtik ħafna ta 'l-SQL inti tista' possibilment bżonn tuża. 10 00:00:45,730 --> 00:00:50,520 Aħna jimxu miegħek permezz ta 'lott ta' dan, u għalhekk m'għandhiex tkun wisq ħżiena. 11 00:00:50,520 --> 00:00:54,560 Has ħadd beda jew lesti? 12 00:00:55,380 --> 00:00:59,710 Hu l-pset aħħar. Oh, Alla tiegħi. 13 00:00:59,710 --> 00:01:05,400 Normalment hemm JavaScript wieħed wara dan, imma affarijiet bidla kalendarji 14 00:01:05,400 --> 00:01:09,560 jagħmel kollox 1 ġimgħa iqsar, u aħna m'għadx għandhom pset JavaScript. 15 00:01:09,560 --> 00:01:12,310 I do not know kif dan jaffettwa kemm jekk JavaScript huwa se jidhru fuq l-eżami 16 00:01:12,310 --> 00:01:15,510 jew Quiz 1. 17 00:01:15,510 --> 00:01:22,260 Nimmaġina li se jkun xi ħaġa bħal għandek bżonn tkun taf livell għoli affarijiet dwar JavaScript, 18 00:01:22,260 --> 00:01:26,460 imma niddubita aħna'd biss jagħtuk straight JavaScript kodiċi 19 00:01:26,460 --> 00:01:28,720 peress li inti ma kellhomx pset fiha. 20 00:01:28,720 --> 00:01:33,000 Iżda dan se jkun Jittieħed għal reviżjoni kwizz ġimgħa d-dieħla. 21 00:01:33,000 --> 00:01:36,320 >> Sezzjoni ta 'mistoqsijiet. 22 00:01:36,320 --> 00:01:43,870 A lott ta 'dan il-għalf huwa kemmxejn ħażin fformulat, imma aħna ser jiddiskuti għaliex. 23 00:01:43,870 --> 00:01:50,220 B'differenza C, PHP huwa "dinamikament ttajpjata" lingwa. Xi jfisser dan, inti ssaqsi? 24 00:01:50,220 --> 00:01:53,830 Ukoll, jgħidu addiju għal dawk kollha char, float, int, u keywords oħra li għandek bżonn tuża 25 00:01:53,830 --> 00:01:56,190 meta tiddikjara varjabbli u l-funzjonijiet C. 26 00:01:56,190 --> 00:02:00,420 Fl PHP, it-tip ta 'varjabbli huwa ddeterminat mill-valur li huwa bħalissa azjenda. 27 00:02:00,420 --> 00:02:04,990 Għalhekk qabel we tip dan il-kodiċi fil-fajl imsejjaħ dynamic.php, 28 00:02:04,990 --> 00:02:12,670 PHP huwa dinamikament ittajpjat. Dan huwa veru. 29 00:02:12,670 --> 00:02:17,590 Ma naqbilx mal-fatt li dan ifisser li aħna qed tgħid addiju għal char, float, int, 30 00:02:17,590 --> 00:02:20,620 u keywords oħra. 31 00:02:20,620 --> 00:02:25,510 Id-differenza eżatta bejn dinamiku ttajpjata u sussidjarjament, 32 00:02:25,510 --> 00:02:32,010 li huwa statikament ittajpjat, huwa li dinamikament ittajpjat, kollha ta 'iċċekkjar tip tiegħek u l-għalf 33 00:02:32,010 --> 00:02:37,350 jiġri fil-ħin run, filwaqt statikament ittajpjat dan jiġri fil-ħin jikkompilaw. 34 00:02:37,350 --> 00:02:43,030 Il-kelma statiku b'mod ġenerali tidher li tfisser affarijiet waqt jiġbor. 35 00:02:43,030 --> 00:02:48,170 I raden hemm użi oħra għaliha, iżda C meta inti tiddikjara varjabbli statiku, 36 00:02:48,170 --> 00:02:52,650 ħażna tagħha huwa allokat fil-ħin jikkompilaw. 37 00:02:52,650 --> 00:02:59,260 Hawnhekk, dinamiku ittajpjata ifisser biss li - 38 00:02:59,260 --> 00:03:04,350 Fil Ċ jekk inti tipprova żżid string u integer, meta inti josservawha, 39 00:03:04,350 --> 00:03:11,000 li għaddej biex jilmentaw minħabba li għaddej biex ngħid li inti ma tistax żid int u werrej. 40 00:03:11,000 --> 00:03:14,710 Huwa biss mhux operazzjoni validu. 41 00:03:14,710 --> 00:03:21,170 Din hija ħaġa oħra li aħna ser tingħata fit-tieni. 42 00:03:21,170 --> 00:03:24,860 Iżda dan it-tip ta 'verifika, il-fatt li hija tilmenta fil-ħin jikkompilaw, 43 00:03:24,860 --> 00:03:29,220 huwa iċċekkjar tip statika. 44 00:03:29,220 --> 00:03:35,220 Hemm lingwi fejn inti m'għandekx bżonn li jgħidu char, float, int, u kollha ta 'dawk l-affarijiet, 45 00:03:35,220 --> 00:03:40,940 iżda l-lingwa tista 'tgħid mill-kuntest tal-ħaġa liema tip huwa suppost li jkun, 46 00:03:40,940 --> 00:03:43,980 iżda huwa għadu statikament ittajpjat. 47 00:03:43,980 --> 00:03:49,000 Mela jekk inti tieħu 51, OCaml, int qatt bżonn tuża xi wieħed minn dawn it-tipi, 48 00:03:49,000 --> 00:03:58,700 iżda xorta waħda se fil-ħin jikkompilaw ngħidu li inti ma tistax tagħmel dan għaliex inti qed tħallat l-int u string. 49 00:03:58,700 --> 00:04:05,650 Dinamikament ttajpjati biss ifisser li f'xi żmien matul il-ħin run int ser tikseb ilment. 50 00:04:05,650 --> 00:04:13,430 Jekk inti użaw ukoll Java qabel, b'mod ġenerali, kważi kull lingwa C-tip 51 00:04:13,430 --> 00:04:20,070 se tkun statikament ittajpjat, hekk C, C + +, Java, dawk kollha huma ġeneralment statikament ittajpjat. 52 00:04:20,070 --> 00:04:22,910 Fil Java meta inti tiġbor xi ħaġa u int qed tgħid 53 00:04:22,910 --> 00:04:26,670 string s ugwali xi ħaġa ġdida li mhix string, 54 00:04:26,670 --> 00:04:28,950 li għaddej biex jilmentaw għaliex dawk it-tipi biss ma jaqblu. 55 00:04:28,950 --> 00:04:31,180 Li għaddej biex jilmentaw fil-ħin jikkompilaw. 56 00:04:31,180 --> 00:04:36,750 Iżda għandu wkoll xi żmien dinamiku affarijiet simili jekk inti tipprova li jitfa xi ħaġa 57 00:04:36,750 --> 00:04:40,500 għal tip li l-aktar speċifika minn tip attwali tagħha, 58 00:04:40,500 --> 00:04:45,610 hemm xejn li tista 'tagħmel fil-ħin jikkompilaw biex tiċċekkja jekk dik mitfugħa se tirnexxi. 59 00:04:45,610 --> 00:04:51,130 Java wkoll xi tip dinamiku verifika li hekk kif jiġrilha dik il-linja tal-kodiċi 60 00:04:51,130 --> 00:04:54,130 meta huwa attwalment eżekuzzjoni, li għaddej biex jagħmlu l-mitfugħa, 61 00:04:54,130 --> 00:04:56,260 tiċċekkja jekk dik mitfugħa kienet valida fl-ewwel post, 62 00:04:56,260 --> 00:04:59,890 u jekk ma kienx, allura huwa għaddej biex jilmentaw li għandek tip invalidu. 63 00:04:59,890 --> 00:05:03,200 Tip Dynamic verifika. 64 00:05:03,200 --> 00:05:07,010 Tip dan fil-fajl imsejjaħ dynamic.php. 65 00:05:10,130 --> 00:05:12,380 Dynamic.php. 66 00:05:14,580 --> 00:05:17,190 I ser unzip dan ifformattjar. 67 00:05:18,750 --> 00:05:21,880 Għandna varjabbli, waqqafna lill-7 numru sħiħ, 68 00:05:21,880 --> 00:05:27,930 allura aħna qed tmur biex jistampaw u s% - 69 00:05:27,930 --> 00:05:32,830 Oh, aħna qed istampar it-tip ta 'dan, sabiex gettype se jirritorna t-tip tal-varjabbli. 70 00:05:32,830 --> 00:05:35,720 Aħna biss istampar tat-tip fuq u aktar mill-ġdid. 71 00:05:35,720 --> 00:05:39,440 Aħna biss php.dynamic.php. 72 00:05:39,440 --> 00:05:45,920 Aħna ser tara li dan jinbidel minn numru sħiħ għal string li Boolean kif aħna jgħaddu. 73 00:05:45,920 --> 00:05:54,590 Fl C m'hemm l-ebda tip ta 'data Boolean, m'hemm l-ebda tip ta' data string. 74 00:05:54,590 --> 00:06:00,500 Hemm * char u Boolean biss tendenza li jkun int jew char jew xi ħaġa. 75 00:06:00,500 --> 00:06:05,690 Fil PHP dawn it-tipi jeżistu, u li wieħed mill-vantaġġi kbar ta 'PHP fuq C - 76 00:06:05,690 --> 00:06:13,290 li l-operazzjonijiet string huma infinitament aktar faċli fil-PHP milli C. Huma biss xogħol. 77 00:06:13,290 --> 00:06:18,290 >> Allura aħna terga 'lura hawn. 78 00:06:18,290 --> 00:06:21,260 Aħna dam dynamic.php. 79 00:06:21,260 --> 00:06:26,710 Dan jirrakkonta l-interpretu PHP, PHP imsejħa, biex imexxu l-kodiċi PHP fil dynamic.php. 80 00:06:26,710 --> 00:06:30,250 Jekk għandek xi żbalji fil-fajl, l-interpretu ser jgħidlek! 81 00:06:30,250 --> 00:06:39,110 L-interpretu, dan huwa pass ieħor differenza kbira bejn PHP u C. 82 00:06:39,110 --> 00:06:48,200 Fil Ċ ikollok biex jikkompilaw xi ħaġa u mbagħad inti tmexxi dan il-fajl ikkumpilata. 83 00:06:48,200 --> 00:06:50,490 Fil PHP int qatt jikkompilaw xejn. 84 00:06:50,490 --> 00:06:57,200 Allura l-interpretu PHP huwa bażikament biss qari din il-linja b'linja. 85 00:06:57,200 --> 00:07:02,900 Hija hits var = 7 allura hits printf allura hits var allura hits printf u l-bqija. 86 00:07:02,900 --> 00:07:10,910 Hemm daqsxejn ta 'kompilazzjoni li tagħmel, u ħażniet sigrieti r-riżultati 87 00:07:10,910 --> 00:07:15,510 hekk jekk inti tmexxi l-iskrittura aktar tard inti tista 'tagħmel xi wħud, 88 00:07:15,510 --> 00:07:19,280 imma bażikament huwa linja minn tip linja ta 'ħaġa. 89 00:07:19,280 --> 00:07:25,280 Dan ifisser li ħafna mill-optimizations li nagħmlu fis-C, 90 00:07:25,280 --> 00:07:31,920 bħall-kompilazzjoni, huwa biss ġeneralment l-kumpilatur jistgħu jagħmlu ħafna ta 'tricks għalik. 91 00:07:31,920 --> 00:07:36,110 Hija tista 'tieħu varjabbli mhux użati, hija tista' tagħmel kollha ta 'dawn it-tipi ta' affarijiet, 92 00:07:36,110 --> 00:07:38,660 hija tista 'tagħmel recursion denb. 93 00:07:38,660 --> 00:07:42,550 Fil PHP int mhux se tikseb dak il-vantaġġ 94 00:07:42,550 --> 00:07:45,690 għaliex dan huwa biss se tibda eżekuzzjoni linja minn linja b'linja, 95 00:07:45,690 --> 00:07:49,950 u ma verament jirrikonoxxu dawn l-affarijiet kif faċilment 96 00:07:49,950 --> 00:07:54,440 peress li mhuwiex 1 kbar kumpilazzjoni jgħaddu minn fuq il-ħaġa u mbagħad l-eżekuzzjoni; 97 00:07:54,440 --> 00:07:56,860 huwa biss linja b'linja. 98 00:08:00,730 --> 00:08:02,750 Allura dak l-interpretu. 99 00:08:02,750 --> 00:08:06,840 >> Back għal ittajpjar dinamiku tagħna: pretty jibred, eh? 100 00:08:06,840 --> 00:08:08,640 You definitely ma setgħux jagħmlu dan fis-C! 101 00:08:08,640 --> 00:08:11,860 Issa, ara jekk inti tista figura l-tip ta 'kull wieħed mill-valuri li ġejjin. 102 00:08:11,860 --> 00:08:14,760 Ara dan għal referenza. 103 00:08:14,760 --> 00:08:19,420 Allura 3.50. Liema tip taħseb li għaddej biex tkun? 104 00:08:24,480 --> 00:08:26,370 Hawn huma t-tipi li għandna. 105 00:08:26,370 --> 00:08:30,430 Aħna bools, interi, punti galleġġjanti, kordi, arrays, oġġetti, 106 00:08:30,430 --> 00:08:38,370 u mbagħad riżorsi, li huwa tip ta vaga. 107 00:08:38,370 --> 00:08:41,010 Naħseb li hemm attwalment eżempju hawn. 108 00:08:41,010 --> 00:08:43,740 Imbagħad hemm NULL. NULL huwa tip speċjali. 109 00:08:43,740 --> 00:08:47,140 B'differenza C fejn NULL huwa biss pointer bl-indirizz 0, 110 00:08:47,140 --> 00:08:54,930 fil-PHP, NULL huwa tip tagħha stess fejn l-unika ħaġa validu ta 'dak it-tip huwa NULL. 111 00:08:57,560 --> 00:09:00,670 Dan huwa ferm aktar utli għall-iċċekkjar żball. 112 00:09:00,670 --> 00:09:04,310 Fl C fejn kellna din il-kwistjoni fejn jekk inti tirritorna NULL, 113 00:09:04,310 --> 00:09:08,660 ma jfissirx li inti qed jirritornaw pointer NULL NULL jew bl-użu li turi żball 114 00:09:08,660 --> 00:09:12,380 jew kollha ta 'din il-konfużjoni kellna fuq punt wieħed. 115 00:09:12,380 --> 00:09:18,440 Hawnhekk, jirritornaw NULL ġeneralment tfisser żball. 116 00:09:20,860 --> 00:09:27,300 A lott ta 'affarijiet wkoll ritorn foloz għal żball. 117 00:09:27,300 --> 00:09:33,140 Iżda l-punt huwa t-tip NULL, l-unika ħaġa tat-tip NULL NULL huwa. 118 00:09:33,140 --> 00:09:40,090 Imbagħad callback huwa simili inti tista 'tiddefinixxi xi funzjonijiet anonimi. 119 00:09:40,090 --> 00:09:46,420 Inti ma għandekx biex jagħtu l-funzjoni ta 'isem, imma int mhux se jkollhom jittrattaw ma' dak hawn. 120 00:09:46,420 --> 00:09:53,940 Ħarsa lejn it-tipi li dawn ma tistenna li taf, 121 00:09:53,940 --> 00:09:59,000 x'taħseb-tip ta '3.50 hu? >> [Student] float. 122 00:09:59,000 --> 00:10:00,370 Yeah. 123 00:10:00,370 --> 00:10:06,290 Mela allura hawnhekk, x'taħseb-tip ta 'dan huwa? >> [Student] Array. 124 00:10:06,290 --> 00:10:09,890 Yeah. L-ewwel waħda kienet float, it-tieni wieħed huwa firxa. 125 00:10:09,890 --> 00:10:14,500 Avviż li dan array mhijiex bħal firxa C 126 00:10:14,500 --> 00:10:19,610 fejn ikollok indiċi 0 għandha xi valur, indiċi 1 għandha xi valur. 127 00:10:19,610 --> 00:10:26,320 Hawn l-indiċi huma a, b, uc u l-valuri huma 1, 2, u 3. 128 00:10:26,320 --> 00:10:33,980 Fil PHP ma hemm ebda differenza bejn firxa assoċjattiva u biss firxa regolari 129 00:10:33,980 --> 00:10:36,740 kif inti ser jaħseb minnha fil C. 130 00:10:36,740 --> 00:10:43,040 Hemm biss dan, u taħt il-barnuża firxa regolari huwa biss firxa assoċjattiva 131 00:10:43,040 --> 00:10:50,000 fejn 0 mapep sa ċertu valur bl-istess mod ta 'mapep għal xi valur. 132 00:10:50,000 --> 00:11:00,410 Għal din ir-raġuni, PHP jistgħu jiġu pretty bad għal verament mgħaġġel kodiċi / benchmarking affarijiet 133 00:11:00,410 --> 00:11:07,930 peress li C meta inti qed tuża l-firxa taf li jaċċessaw membru huwa żmien kostanti. 134 00:11:07,930 --> 00:11:11,860 Fil PHP aċċess membru huwa li jaf kemm żmien? 135 00:11:11,860 --> 00:11:18,970 Huwa probabbilment kostanti jekk tkun hashes korrett. 136 00:11:18,970 --> 00:11:21,620 Min jaf dak li huwa verament tagħmel minn taħt il-barnuża? 137 00:11:21,620 --> 00:11:25,600 Int verament bżonn li nħarsu lejn l-implimentazzjoni biex tara kif li għaddej biex tittratta dik. 138 00:11:25,600 --> 00:11:28,550 . Fopen Allura mbagħad 139 00:11:28,550 --> 00:11:36,420 Naħseb hawn ejja biss PHP fopen manwali li tħares lejn it-tip ta 'ritorn. 140 00:11:36,420 --> 00:11:41,260 Naraw hawnhekk tista 'tfittex up pretty ħafna kull funzjoni fil-manwal PHP 141 00:11:41,260 --> 00:11:47,540 u dan huwa tip tal-paġna raġel ta 'PHP. 142 00:11:47,540 --> 00:11:51,060 It-tip ritorn se tkun riżorsa. 143 00:11:51,060 --> 00:11:56,050 C'est pourquoi I ħares it up, għaliex aħna ma verament jiddefinixxu tar-riżorsi. 144 00:11:56,050 --> 00:12:04,110 L-idea ta 'riżorsi, b'mod Ċ inti tip ta' ltqajna * FILE jew tkun liema tkun; 145 00:12:04,110 --> 00:12:07,200 fil-PHP ir-riżorsa hija * FAJL tiegħek. 146 00:12:07,200 --> 00:12:10,360 Huwa dak li int se tkun qari mill, huwa dak li int ser tkun bil-miktub lill. 147 00:12:10,360 --> 00:12:20,710 Huwa ġeneralment esterna, dan huwa riżorsa inti tista 'pull affarijiet minn u tarmi l-affarijiet li. 148 00:12:20,710 --> 00:12:26,520 U fl-aħħarnett, liema huwa t-tip ta 'NULL? >> [Student] NULL. 149 00:12:26,520 --> 00:12:30,650 Yeah. Allura l-unika ħaġa li hija NULL NULL huwa. 150 00:12:30,650 --> 00:12:33,480 NULL NULL huwa. 151 00:12:35,490 --> 00:12:41,170 >> Karatteristika waħda tas-sistema tat-tip PHP (għall-aħjar jew għall-agħar) hija l-kapaċità tagħha li juggle tipi. 152 00:12:41,170 --> 00:12:44,390 Meta inti tikteb linja tal-kodiċi PHP li tgħaqqad il-valuri ta 'tipi differenti, 153 00:12:44,390 --> 00:12:46,670 PHP se jipprova jagħmel il-ħaġa sensibbli. 154 00:12:46,670 --> 00:12:48,920 Ipprova l kull wieħed mill-linji ta 'kodiċi PHP. X'hemm stampata? 155 00:12:48,920 --> 00:12:51,000 Huwa dak li inti mistenni? Għaliex jew għaliex le? 156 00:12:51,000 --> 00:12:58,600 Dan il-fatt dwar PHP huwa dak li jagħmilha dak li nsejħu dgħajjef ittajpjat. 157 00:12:58,600 --> 00:13:04,610 Dgħajjef ttajpjati u bil-qawwa ittajpjat, 158 00:13:04,610 --> 00:13:06,840 jeżistu użi differenti għal dawk it-termini, 159 00:13:06,840 --> 00:13:12,020 imma ħafna nies jużaw dgħajjef ttajpjati u bil-qawwa ittajpjat li jfisser dan it-tip ta 'ħaġa 160 00:13:12,020 --> 00:13:15,920 fejn ("1" + 2); li xogħlijiet. 161 00:13:15,920 --> 00:13:18,290 F'dan C li ma tkunx taħdem. 162 00:13:18,290 --> 00:13:22,490 Tista 'timmaġina dan mhux qed jaħdem. 163 00:13:22,490 --> 00:13:29,200 Ħafna nies ħallat ittajpjar dinamika u t-tajping dgħajfa u t-tajping statiċi u l-ittajpjar qawwija. 164 00:13:29,200 --> 00:13:34,050 Python huwa eżempju ieħor ta 'lingwa li s dinamiku ittajpjat. 165 00:13:34,050 --> 00:13:41,770 Inti tista tarmi madwar tipi fil-varjabbli u li għaddej biex jiddeterminaw fil-ħin run 166 00:13:41,770 --> 00:13:44,680 kull ċċekjar żball. 167 00:13:44,680 --> 00:13:50,740 Fil Python li għaddej biex tesegwixxi dan u se tara ("1" + 2); 168 00:13:50,740 --> 00:13:55,920 u dan se jfallu minħabba li tgħid li inti ma tistax żid string u numru sħiħ. 169 00:13:55,920 --> 00:14:00,860 Fil PHP, li huwa daqstant dinamiku ittajpjat, dan mhux se jonqsu. 170 00:14:00,860 --> 00:14:04,220 Ittajpjar Dgħajfa għandha tagħmel il-fatt li hija ma affarijiet ma 'tipi 171 00:14:04,220 --> 00:14:07,800 li ma verament jagħmel sens neċessarjament. 172 00:14:07,800 --> 00:14:17,420 Allura ("1" + 2); I jista 'jimmaġina li huwa l-sekwenza 12, I jista' jimmaġina li huwa l-sekwenza 3, 173 00:14:17,420 --> 00:14:20,710 I jista 'jimmaġina li huwa l-3 numru sħiħ. 174 00:14:20,710 --> 00:14:24,530 Mhuwiex neċessarjament definiti tajjeb, u aħna qed probabbilment se tara hawn 175 00:14:24,530 --> 00:14:29,140 li meta aħna istampar ("1" + 2); huwa probabbilment se jispiċċa jkun differenti 176 00:14:29,140 --> 00:14:32,320 minn stampar (1 + "2"). 177 00:14:32,320 --> 00:14:39,700 U dan għandu tendenza li jkun, fl-opinjoni tiegħi, għall-agħar. 178 00:14:39,700 --> 00:14:44,240 Hawnhekk nistgħu nippruvaw dawn. 179 00:14:44,240 --> 00:14:48,740 Ieħor trick ftit dwar PHP hija li inti m'għandekx bżonn li attwalment tikteb il-fajl. 180 00:14:48,740 --> 00:14:52,790 Hija ma jkollhom run dan il-mod kmand. 181 00:14:52,790 --> 00:14:57,710 Allura PHP-r, allura nistgħu tarmi l-kmand hawn: 182 00:14:57,710 --> 00:15:06,610 "Print ('1 '+ 2);" u jien ser tarmi linja ġdida. 183 00:15:19,550 --> 00:15:23,970 Dan stampati 3. 184 00:15:31,100 --> 00:15:35,330 Jidher qisu dan prints 3 u huwa l-3 numru sħiħ. 185 00:15:35,330 --> 00:15:38,420 Allura issa ejja jippruvaw il-mod ieħor madwar: 186 00:15:38,420 --> 00:15:42,970 "Print (1 + '2 '); 187 00:15:45,560 --> 00:15:50,490 Nikbru 3, u huwa wkoll se tkun numru sħiħ 3? I onestament l-ebda idea. 188 00:15:50,490 --> 00:15:54,030 Jidher qisu dan huwa konsistenti. 189 00:15:54,030 --> 00:15:59,550 Hemm qatt xi ċans ta 'dan huwa l-12 spaga jew xi ħaġa bħal dik 190 00:15:59,550 --> 00:16:08,080 għaliex PHP, b'differenza JavaScript u Java wisq, 191 00:16:08,080 --> 00:16:11,670 għandha operatur separata għall konkatenazzjoni. 192 00:16:11,670 --> 00:16:14,930 Konkatenazzjoni fil-PHP huwa dot. 193 00:16:14,930 --> 00:16:22,950 Allura l-istampar (1 '2 '.); Se tagħtina 12. 194 00:16:25,790 --> 00:16:32,420 Dan x'aktarx li jwassal għal konfużjoni fejn in-nies jipprova jagħmel xi ħaġa simili str + = 195 00:16:32,420 --> 00:16:37,840 xi ħaġa oħra li jkunu jridu jżidu fuq it-tmiem ta 'sekwenza tagħhom, u li għaddej biex jonqsu. 196 00:16:37,840 --> 00:16:40,770 Ikollok bżonn tagħmel str. = 197 00:16:42,000 --> 00:16:46,240 Allura ma ninsewx konkatenazzjoni fil-PHP huwa dot. 198 00:16:46,240 --> 00:16:52,100 Affarijiet oħra li jippruvaw: jistampaw ("CS" + 50); 199 00:16:55,750 --> 00:17:03,610 Stajt qallek li m'hemm l-ebda tama ta 'din tirriżulta CS50 200 00:17:03,610 --> 00:17:06,119 peress konkatenazzjoni mhix +. 201 00:17:06,119 --> 00:17:08,440 What do you think dan se jispiċċaw? 202 00:17:10,359 --> 00:17:13,460 I onestament assolutament ebda idea. 203 00:17:14,250 --> 00:17:16,460 Jidher qisu huwa biss 50. 204 00:17:16,460 --> 00:17:21,490 Huwa jara l-sekwenza, u I bet jekk npoġġux 123CS - 205 00:17:21,490 --> 00:17:29,640 Huwa jara l-sekwenza ewwel, tipprova taqra integer minnha jew numru minnha. 206 00:17:29,640 --> 00:17:31,710 F'dan il-każ jara 123CS. 207 00:17:31,710 --> 00:17:35,190 "Dan ma jagħmilx sens bħala numru sħiħ, hekk jien biss se jaħsbu 123." 208 00:17:35,190 --> 00:17:38,580 Allura 123 + 50 se tkun 173. 209 00:17:38,580 --> 00:17:40,740 U hawn jibda qari dan bħala numru sħiħ. 210 00:17:40,740 --> 00:17:45,690 Ma tara xejn, u għalhekk biss titrattah bħala 0. Allura 0 + 50 se tkun 50. 211 00:17:45,690 --> 00:17:51,600 Dan Jien wieħed jassumi li jkun ser tagħmel xi ħaġa simili. 212 00:17:51,600 --> 00:17:54,310 Jien ħsieb 99. 213 00:17:54,310 --> 00:17:57,580 Yeah, minħabba li għaddej biex tieħu l-ewwel - 214 00:18:12,880 --> 00:18:15,730 Allura 99. 215 00:18:15,730 --> 00:18:21,970 Hawnhekk (10/7), jekk dan kien Ċ, dak li dan jirritorna? 216 00:18:23,700 --> 00:18:29,630 [Student] 1. >> Yeah, ikun 1 minħabba 10/7 hija diviżjoni 2 interi. 217 00:18:29,630 --> 00:18:32,910 Integer diviż bil integer se jirritorna numru sħiħ. 218 00:18:32,910 --> 00:18:37,750 Ma jistax jirritorna 1 punt tkun xi tkun li tkun, hekk huwa biss jmorru lura 1. 219 00:18:37,750 --> 00:18:46,120 Hawnhekk istampar (10/7); li għaddej fil-fatt tinterpreta dan. 220 00:18:46,120 --> 00:18:53,760 U dan ifisser li jekk inti fil-fatt tixtieq li tagħmel arrotondament numru sħiħ u għalf bħal dik, 221 00:18:53,760 --> 00:18:59,950 inti għandek bżonn tagħmel print (art (10/7)); 222 00:18:59,950 --> 00:19:08,460 Fl C huwa probabbilment stramb li inti tista 'tistrieħ fuq truncation numru sħiħ regolarment, 223 00:19:08,460 --> 00:19:12,260 iżda fil-PHP inti ma tistax għaliex se awtomatikament jibdluh float. 224 00:19:13,430 --> 00:19:17,610 U mbagħad (7 + reali); x'taħseb li għaddej biex tkun? 225 00:19:18,550 --> 00:19:23,640 Jien guessing 8 jekk li għaddej biex tinterpreta veru bħala 1. 226 00:19:23,640 --> 00:19:25,740 Jidher qisu huwa 8. 227 00:19:25,740 --> 00:19:31,710 >> Allura xejn aħna ghamilt fl-aħħar 10 minuti għandek assolutament qatt tagħmel. 228 00:19:31,710 --> 00:19:39,870 Inti se tara kodiċi li ma dan. 229 00:19:39,870 --> 00:19:42,700 Ma għandhom ikunu ċara kemm dan. 230 00:19:42,700 --> 00:19:47,240 Jista 'jkollok 2 varjabbli, u 1 varjabbli jiġri li jkun string 231 00:19:47,240 --> 00:19:51,310 u l-varjabbli l-oħra jiġri li jkun int, u allura inti żid dawn il-varjabbli flimkien. 232 00:19:51,310 --> 00:20:00,120 Peress PHP huwa dinamikament ittajpjat u mhux se jagħmel kwalunkwe verifika tip għalik 233 00:20:00,120 --> 00:20:03,640 u peress li huwa dgħajjef ttajpjata u peress li se biss awtomatikament tarmi dawn l-affarijiet flimkien 234 00:20:03,640 --> 00:20:11,490 u kollox se biss xogħol, huwa diffiċli li anki taf li dan il-varjabbli għandha tkun string issa, 235 00:20:11,490 --> 00:20:14,930 so I m'għandhomx iżżidhiex mal din il-varjabbli, li huwa integer. 236 00:20:18,780 --> 00:20:24,560 L-aħjar prattika hija jekk varjabbli huwa string, jżommha bħala string dejjem. 237 00:20:24,560 --> 00:20:26,980 Jekk varjabbli huwa int, jżommha bħala int dejjem. 238 00:20:26,980 --> 00:20:30,770 Jekk inti tixtieq li jittrattaw ma interi u kordi, 239 00:20:30,770 --> 00:20:36,970 inti tista 'tuża varsint - li JavaScript. 240 00:20:36,970 --> 00:20:42,520 Intval. I do dan il-ħin kollu. PHP u JavaScript I ħallat kollox. 241 00:20:42,520 --> 00:20:47,600 Allura intval se jirritorna l-valur sħiħ ta 'varjabbli. 242 00:20:47,600 --> 00:20:56,550 Jekk aħna jgħaddu fil-"istampar (intval ('123 ')); ikollok 123. 243 00:21:06,820 --> 00:21:15,850 Intval innifsu mhux se jagħmlu l-verifika għalina li huwa esklussivament numru sħiħ. 244 00:21:15,850 --> 00:21:20,460 Il-manwal PHP, hemm funzjonijiet biss tant disponibbli, 245 00:21:20,460 --> 00:21:26,560 hekk hawn I think dak I-użu huwa is_numeric 1. 246 00:21:26,560 --> 00:21:32,590 Jien guessing li lura falza. 247 00:21:32,590 --> 00:21:35,780 Li ħaġa oħra għandna jmorru fuq huwa ===. 248 00:21:37,850 --> 00:21:44,020 Allura is_numeric ("'123df), inti ma naħsibx ta 'dan bħala is_numeric. 249 00:21:44,020 --> 00:21:46,720 Fil Ċ inti jkollha jtenni fuq kull karattri 250 00:21:46,720 --> 00:21:50,410 u tikkontrolla biex tara jekk kull karattru huwa ċifra jew ikun x'ikun. 251 00:21:50,410 --> 00:21:53,850 Hawnhekk is_numeric se tagħmel dan għalina, 252 00:21:53,850 --> 00:21:56,520 u huwa jirritorna falza. 253 00:21:56,520 --> 00:22:02,120 Allura meta I stampat dan, huwa stampat xejn, hekk hawn I am tqabbilha biex tara, 254 00:22:02,120 --> 00:22:05,490 ma jiġri li jkun falz? U għalhekk issa huwa istampar 1. 255 00:22:05,490 --> 00:22:10,060 Apparentement prints 1 bħala vera minflok ta 'stampar vera bħala vera. 256 00:22:10,060 --> 00:22:15,790 I wonder jekk I do print_r. Le, għadu ma 1. 257 00:22:15,790 --> 00:22:26,760 >> Tmur lura għall ===, == għadha teżisti, 258 00:22:26,760 --> 00:22:32,260 u jekk għandek tkellem lit-Tommy hu ser jgħidu == huwa perfettament multa. 259 00:22:32,260 --> 00:22:37,700 Jien se ngħid li == hija terribbli u qatt ma għandek tuża ==. 260 00:22:37,700 --> 00:22:44,870 Id-differenza hija li == tqabbel l-affarijiet 261 00:22:44,870 --> 00:22:48,450 fejn jista 'jkun minnu anki jekk dawn mhux qed l-istess tip, 262 00:22:48,450 --> 00:22:53,810 billi === jikkompara l-affarijiet u l-ewwel huwa ispezzjonijiet huma dawn l-istess tip? 263 00:22:53,810 --> 00:22:58,010 Iva. Okay, issa jien ser tara jekk dawn attwalment tqabbel bħala ugwali. 264 00:22:58,010 --> 00:23:08,890 Ikollok affarijiet stramb simili 10 ugwali - ejja ara dak li jgħid. 265 00:23:08,890 --> 00:23:15,570 Allura ('10 '== '1 e1 "); 266 00:23:15,570 --> 00:23:17,980 Dan prospetti vera. 267 00:23:17,980 --> 00:23:21,420 Ħadd ma jkollu xi guesses għaliex dan jirritornaw vera? 268 00:23:25,180 --> 00:23:27,120 Huwa mhux biss dwar dan. Forsi dan huwa ħjiel. 269 00:23:27,120 --> 00:23:33,170 Imma jekk jien bidla li għal f - darn it! I iżommu jużaw kwotazzjonijiet doppja. 270 00:23:33,170 --> 00:23:38,780 Ir-raġuni l-kwotazzjonijiet doppja huma yelling fil lili huwa għaliex stajt tpoġġi dan fil-kwotazzjonijiet doppja. 271 00:23:38,780 --> 00:23:43,850 So I jistgħu jaħarbu l-kwotazzjonijiet doppja fil hawn, imma kwotazzjonijiet uniku jagħmilha aktar faċli. 272 00:23:43,850 --> 00:23:49,120 Allura ('10 '== '1 f1 "); ma print veru. ('10 '== '1 E1 "); stampi veru. 273 00:23:49,120 --> 00:23:56,330 [Student] Huwa hex? >> Mhuwiex hex, iżda huwa qrib li huwa simili - 274 00:23:56,330 --> 00:24:01,060 1E1, xjentifiċi notazzjoni. 275 00:24:01,060 --> 00:24:07,950 Hija tirrikonoxxi 1E1 bħala 1 * 10 ^ 1 jew ikun x'ikun. 276 00:24:07,950 --> 00:24:11,510 Dawk huma interi ugwali. 277 00:24:11,510 --> 00:24:15,930 Jekk nagħmlu === allura li għaddej biex tkun falza. 278 00:24:15,930 --> 00:24:28,490 I attwalment l-ebda idea jekk nagħmlu == dak dwar (10 u ''10abc);? Kull dritt. Allura dan huwa veru. 279 00:24:28,490 --> 00:24:35,940 Allura eżatt bħal meta inti għamilt (10 + "'10abc), u jkun 20, 280 00:24:35,940 --> 00:24:38,800 hawn (10 == "'10abc); huwa veru. 281 00:24:38,800 --> 00:24:45,350 Saħansitra agħar huma affarijiet simili (falz == NULL); veru 282 00:24:45,350 --> 00:24:52,210 jew (falz == 0); huwa veru, (falza == []); 283 00:24:52,210 --> 00:25:00,970 Hemm każijiet stramb ta '- Dik hija waħda ta' dawk każijiet stramb. 284 00:25:00,970 --> 00:25:08,110 Avviż li (falz == []); huwa veru. 285 00:25:08,110 --> 00:25:11,950 (0 "== foloz); huwa veru. 286 00:25:11,950 --> 00:25:16,090 ('0 '== []); Hija falza. 287 00:25:16,090 --> 00:25:19,090 Allura == bl-ebda mod transittivi. 288 00:25:19,090 --> 00:25:26,830 a jista 'jkun ugwali għal b u jista' jkun ugwali għal c, 289 00:25:26,830 --> 00:25:29,340 imma b tista 'ma tkunx ugwali għal c. 290 00:25:29,340 --> 00:25:35,580 Dak abomination lili, u inti għandek dejjem tuża ===. 291 00:25:35,580 --> 00:25:38,590 [Student] Nistgħu nagħmlu! == Kif ukoll? >> [Bowden] Iva. 292 00:25:38,590 --> 00:25:44,600 L-ekwivalenti tkun! = U! ==. 293 00:25:44,600 --> 00:25:48,230 Dan huwa attwalment ppreżentat fil-spec pset 294 00:25:48,230 --> 00:25:52,000 fejn ħafna ta 'funzjonijiet ritorn - 295 00:25:52,000 --> 00:25:53,890 Il-manwal PHP hija tajba dwar dan. 296 00:25:53,890 --> 00:25:59,140 Huwa jpoġġi fil-kaxxa aħmar kbir, "Dan se ritorn foloz jekk ikun hemm żball." 297 00:25:59,140 --> 00:26:03,940 Iżda 0 jirritornaw hija ħaġa perfettament raġonevoli li jirritornaw. 298 00:26:03,940 --> 00:26:08,250 Aħseb dwar xi funzjoni li hija mistennija li terġa 'lura numru sħiħ. 299 00:26:11,250 --> 00:26:17,880 Ejja ngħidu din il-funzjoni huwa suppost li jgħodd in-numru ta 'linji fil-fajl jew xi ħaġa. 300 00:26:17,880 --> 00:26:23,490 Taħt ċirkostanzi normali, inti tgħaddi din il-funzjoni ta 'fajl 301 00:26:23,490 --> 00:26:27,120 u li għaddej biex jirritorna numru sħiħ li jirrapreżenta l-għadd ta 'linji. 302 00:26:27,120 --> 00:26:30,820 Allura 0 huwa numru perfettament raġonevoli jekk il-fajl huwa biss vojta. 303 00:26:30,820 --> 00:26:36,810 Imma x'jiġri jekk int tgħaddih fajl invalida u l-funzjoni jiġri li jirritornaw falza 304 00:26:36,810 --> 00:26:38,860 jekk inti tgħaddi magħha fajl invalidu? 305 00:26:38,860 --> 00:26:46,500 Jekk inti biss tagħmel == int ma jiddistingwi l-każ bejn inkartament invalida u l-fajl vojt. 306 00:26:48,870 --> 00:26:51,350 Dejjem uża ===. 307 00:26:55,690 --> 00:26:58,000 Li dawk kollha. 308 00:26:58,000 --> 00:27:01,660 >> Fil PHP, it-tip array huwa differenti minn dak li qed jintużaw fl C. 309 00:27:01,660 --> 00:27:06,650 Tabilħaqq, inti tista 'diġà nnotat dan ta' hawn fuq meta inti raw li dan huwa ta 'firxa tip. 310 00:27:06,650 --> 00:27:15,640 Is-sintassi bracket huwa ġdid bħala ta 'PHP 5.4, li hija l-verżjoni aktar ġodda ta' PHP. 311 00:27:15,640 --> 00:27:36,960 Qabel dan inti dejjem kellu jikteb array ("a" -> 1, "b" -> 2. 312 00:27:36,960 --> 00:27:41,160 Dan kien il-kostruttur għal firxa. 313 00:27:41,160 --> 00:27:45,950 Issa PHP finalment jiġu madwar l-sintassi sbieħ ta 'ftit parentesi kwadri, 314 00:27:45,950 --> 00:27:50,900 li huwa biss tant aħjar minn firxa. 315 00:27:50,900 --> 00:27:54,480 Iżda jikkunsidraw PHP 5.4 hija l-verżjoni aktar ġodda, 316 00:27:54,480 --> 00:27:59,090 inti tista 'tiltaqa postijiet li lanqas biss ikollhom PHP 5.3. 317 00:27:59,090 --> 00:28:08,220 Matul is-sajf aħna dam fis din il-kwistjoni meta PHP 5.3 kien dak li kellna fuq l-appliance, 318 00:28:08,220 --> 00:28:14,480 iżda l-server li aħna skjerat kollha book grad tagħna u jissottomettu u dak kollu li Jittieħed li 319 00:28:14,480 --> 00:28:16,750 kien PHP 5.4. 320 00:28:16,750 --> 00:28:23,060 Ma jafux dan, aħna żviluppati fi 5.3, imbuttat sa 5.4, 321 00:28:23,060 --> 00:28:25,660 u issa kollha ta 'xejn f'daqqa ta' kodiċi tagħna xogħlijiet 322 00:28:25,660 --> 00:28:28,680 minħabba li hemm ġara li kien bidliet bejn 5.3 u 5.4 323 00:28:28,680 --> 00:28:31,030 li mhumiex kompatibbli lura, 324 00:28:31,030 --> 00:28:35,770 u għandna biex tmur u jiffissaw kollha ta 'affarijiet tagħna li ma jaħdmux għall PHP 5.4. 325 00:28:39,210 --> 00:28:42,320 Għal din il-klassi, peress li l-appliance ma jkollhom PHP 5.4, 326 00:28:42,320 --> 00:28:45,490 huwa perfettament multa għall-użu parentesi kwadri. 327 00:28:47,240 --> 00:28:50,440 Imma jekk inti qed tfittex up affarijiet madwar l-Internet, 328 00:28:50,440 --> 00:28:54,880 jekk qed tfittex up xi tip ta 'għalf array, l-aktar probabbli int ser tara 329 00:28:54,880 --> 00:29:02,020 l-jespliċitaw out sintassi kostruttur firxa peress li kien madwar peress PHP twieled 330 00:29:02,020 --> 00:29:07,340 u s-sintassi bracket kwadru kien madwar għall-aħħar ftit xhur 331 00:29:07,340 --> 00:29:10,020 jew kull meta daħal madwar 5.4. 332 00:29:10,020 --> 00:29:12,710 Dan huwa kif inti indiċi. 333 00:29:12,710 --> 00:29:30,610 Eżatt bħal fil Ċ kif inti indiċi mill-parentesi kwadri simili $ array [0], $ array [1], $ array [2], 334 00:29:30,610 --> 00:29:36,320 inti indiċi bl-istess mod jekk inti jiġri li jkollhom indiċijiet tiegħek qed kordi. 335 00:29:36,320 --> 00:29:40,440 Firxa Allura $ array ["a"] u $ ["b"]. 336 00:29:40,440 --> 00:29:47,410 $ Array [b]. Għaliex kieku dan ikun ħażin? 337 00:29:52,490 --> 00:29:59,870 Huwa probabbilment se jiġġenera twissija iżda għadhom jaħdmu. PHP tendenza li tagħmel dan. 338 00:29:59,870 --> 00:30:04,890 Hemm tendenza li biss, "jien ser twissi inti dwar dan, imma jien biss se jibqgħu għaddejjin 339 00:30:04,890 --> 00:30:07,550 "U jagħmlu kull nista '." 340 00:30:07,550 --> 00:30:11,500 Huwa probabbilment se tittraduċi din lill string, 341 00:30:11,500 --> 00:30:15,000 iżda huwa possibbli li f'xi punt fil-passat xi ħadd qal 342 00:30:15,000 --> 00:30:20,180 jiddefinixxu b bħala "DINJA HELLO". 343 00:30:20,180 --> 00:30:28,740 Allura issa b tista 'tkun firxa kostanti u $ [b] fil-fatt se tkun qiegħda tagħmel "HELLO WORLD". 344 00:30:28,740 --> 00:30:32,380 Naħseb f'dan il-punt, jew għall-inqas f'ambjenti PHP tagħna, 345 00:30:32,380 --> 00:30:37,870 jekk inti tipprova indiċi fi array u li muftieħ ma jeżistix, dan se jonqsu. 346 00:30:37,870 --> 00:30:40,150 Ma naħsibx li se biss twissi inti. 347 00:30:40,150 --> 00:30:44,560 Jew għall-inqas inti tista 'tistabbilixxi hekk li ma biss twissi inti, hija biss straight up jonqos. 348 00:30:44,560 --> 00:30:49,290 >> Il-mod kif inti tikkontrolla biex tara jekk hemmx fil-fatt huwa tali indiċi huwa isset. 349 00:30:49,290 --> 00:30:54,690 Allura isset ($ array ["HELLO WORLD"]) se terġa 'lura foloz. 350 00:30:54,690 --> 00:30:59,160 isset ($ array ["b"]) se terġa 'lura veru. 351 00:31:06,830 --> 00:31:09,880 Tista 'taħlita dawn syntaxes. 352 00:31:15,060 --> 00:31:22,440 Jien pjuttost ċert liema dan array se jispiċċa jkun hu - Nistgħu tittestja out. 353 00:31:43,290 --> 00:31:45,700 Oh, I ħtieġa PHPWord. 354 00:31:53,960 --> 00:32:00,260 Dan huwa t-taħlit tal-sintassi fejn inti tispeċifika liema l-importanti hu 355 00:32:00,260 --> 00:32:03,330 u inti ma tispeċifika liema l-importanti hu. 356 00:32:03,330 --> 00:32:05,520 Allura 3 dritt hawn huwa valur. 357 00:32:05,520 --> 00:32:08,080 Inti ma espliċitament qal dak ewlieni tagħha se tkun. 358 00:32:08,080 --> 00:32:11,670 What do you think ewlieni tagħha se tkun? 359 00:32:11,670 --> 00:32:21,410 [Student] 0. >> Jien guessing 0 biss għaliex dan huwa l-ewwel waħda li għandna mhux speċifikat. 360 00:32:21,410 --> 00:32:23,500 Nistgħu attwalment jagħmlu koppja ta 'dawn il-każijiet. 361 00:32:23,500 --> 00:32:28,030 Allura print_r huwa print rikursivi. Hija se jistampaw il-firxa sħiħa. 362 00:32:28,030 --> 00:32:32,700 Ikun print subarrays tal-firxa jekk kien hemm xi. 363 00:32:32,700 --> 00:32:36,630 Allura print_r ($ array); php.test.php. 364 00:32:36,630 --> 00:32:38,810 Hija ma look like tatha 0. 365 00:32:38,810 --> 00:32:43,530 Hemm fil-fatt xi ħaġa li wieħed iżomm f'moħħu hawnhekk, imma aħna ser terġa 'lura lilha fit-tieni. 366 00:32:43,530 --> 00:32:45,850 Imma x'jiġri jekk I jiġri li tagħmel dan l-indiċi 1? 367 00:32:45,850 --> 00:32:51,170 PHP ma tagħmilx differenza bejn indiċi spag u indiċi numru sħiħ, 368 00:32:51,170 --> 00:33:00,280 hekk f'dan il-punt Stajt biss definit indiċi 1 u I tista 'tagħmel kemm $ array [1] u $ array ['1'] 369 00:33:00,280 --> 00:33:06,250 u se jkun l-istess indiċi u l-istess ċavetta. 370 00:33:06,250 --> 00:33:13,000 Allura issa x'taħseb 3 se tkun? >> [Student] 2. >> [Bowden] jien guessing 2. 371 00:33:16,000 --> 00:33:18,690 Yeah. Huwa 2. 372 00:33:18,690 --> 00:33:24,790 X'jiġri jekk aħna ma dan huwa 10, dan huwa 4? What do you think-indiċi tat-3 se tkun? 373 00:33:27,360 --> 00:33:29,110 Jien ħsieb 11. 374 00:33:29,110 --> 00:33:33,060 Raden tiegħi dwar liema PHP ma - u naħseb stajt tidher dan qabel - 375 00:33:33,060 --> 00:33:39,760 huwa hija biss iżomm rekord ta 'dak l-indiċi numeriċi ogħla huwa użat s'issa huwa. 376 00:33:39,760 --> 00:33:44,230 Huwa qatt ma ser tassenja indiċi string sa 3. Dejjem se jkun indiċi numeriċi. 377 00:33:44,230 --> 00:33:47,690 Għalhekk żżomm kont ta 'l-ogħla waħda huwa assenjat s'issa, li jiġri li jkun 10, 378 00:33:47,690 --> 00:33:52,540 u li għaddej biex jagħti 11-3. 379 00:33:52,540 --> 00:34:02,110 What I said qabel, avviż-mod huwa istampar dan array. 380 00:34:02,110 --> 00:34:06,850 Hija prints 10 ewlenin, ewlenin 4, ċavetta 11, ċavetta d. 381 00:34:06,850 --> 00:34:09,790 Jew saħansitra ejja tagħmel - 382 00:34:15,760 --> 00:34:22,489 I raden I ma jitqiegħdu 0, imma hija istampar 1, 2, 3, 4. 383 00:34:22,489 --> 00:34:29,330 X'jiġri jekk jien jaqilbu hawn? Jew ejja fil-fatt jaqilbu dawn 2. 384 00:34:29,330 --> 00:34:31,940 Issa prints 2, 1, 3, 4. 385 00:34:31,940 --> 00:34:41,270 Arrays PHP huma mhux biss bħal tabella hash tiegħek regolari. 386 00:34:41,270 --> 00:34:45,570 Huwa perfettament raġonevoli biex jaħsbu minnhom bħala tabelli hash 99% tal-ħin. 387 00:34:45,570 --> 00:34:53,790 Iżda fit-tabelli hash tiegħek hemm l-ebda sens ta 'l-ordni li fiha l-affarijiet kienu ġew imdaħħla. 388 00:34:53,790 --> 00:34:56,639 Allura hekk kif inti daħħalha fil-mejda hash tiegħek, 389 00:34:56,639 --> 00:35:00,590 jassumi hemm l-ebda lista marbuta u inti tista 'tiġġudika minn lista marbuta 390 00:35:00,590 --> 00:35:03,980 li ddaħħal l-ewwel. 391 00:35:03,980 --> 00:35:10,060 Imma hawnhekk aħna inserit 2 l-ewwel u jaf meta huwa istampar out din array li 2 jiġi l-ewwel. 392 00:35:10,060 --> 00:35:13,090 Ma ipprintjaha fi biss kull ordni. 393 00:35:13,090 --> 00:35:17,550 L-istruttura tad-data teknika li huwa użu huwa mappa ordnat, 394 00:35:17,550 --> 00:35:24,690 għalhekk mapep ċwievet għall-valuri u jiftakar l-ordni li fih dawk il-ċwievet kienu mdaħħla. 395 00:35:24,690 --> 00:35:31,600 Bażikament huwa għal xi kumplikazzjonijiet fejn huwa annoying li fil-fatt - 396 00:35:31,600 --> 00:35:34,510 Ejja ngħidu li għandek firxa 0, 1, 2, 3, 4, 5 397 00:35:34,510 --> 00:35:37,700 u inti tixtieq li tieħu indiċi 2. 398 00:35:37,700 --> 00:35:47,750 Mod wieħed kif isir dan, ejja ara dak li qisu. 399 00:35:47,750 --> 00:35:50,410 0, 2, 1, 3, 4. 400 00:35:50,410 --> 00:35:54,880 Mitfi jiġri li mitfi kemm varjabbli u indiċi array. 401 00:35:54,880 --> 00:35:58,630 Allura mitfi ($ array [2]); 402 00:35:58,630 --> 00:36:03,430 Issa x'inhu dan ser look like? 2 huwa biss marret, b'tali mod li l-multa perfettament. 403 00:36:03,430 --> 00:36:11,670 Aktar annoying huwa jekk inti tixtieq affarijiet li fil-fatt tkun simili firxa. 404 00:36:11,670 --> 00:36:14,910 I ser jitqiegħdu numri bl-addoċċ. 405 00:36:14,910 --> 00:36:20,400 Issa avviż indiċi tiegħi. 406 00:36:20,400 --> 00:36:26,860 Irrid li jkun biss bħal firxa C fejn tmur minn 0 sa tul - 1 407 00:36:26,860 --> 00:36:30,810 u nista 'jtenni fuqha bħala tali. 408 00:36:30,810 --> 00:36:38,520 Imma malli I mitfija l-indiċi 2, dak li kien fl-indiċi 3 ma issa saret indiċi 2. 409 00:36:38,520 --> 00:36:44,790 Minflok hija biss tneħħi l-indiċi u issa inti tmur 0, 1, 3, 4. 410 00:36:44,790 --> 00:36:48,740 Dan huwa perfettament raġonevoli. 411 00:36:48,740 --> 00:36:53,950 Huwa biss annoying u inti għandek tagħmel affarijiet simili splice firxa. Yeah. 412 00:36:53,950 --> 00:36:57,200 >> [Student] X'jiġri jekk kellek biex loop 413 00:36:57,200 --> 00:36:59,630 u int riedu li jmorru fuq l-elementi kollha? 414 00:36:59,630 --> 00:37:02,290 Meta hit 2, ikun twassal qatt? 415 00:37:02,290 --> 00:37:10,150 Iterazzjoni fuq firxa. Hemm 2 modi kif inti tista 'tagħmel dan. 416 00:37:10,150 --> 00:37:12,770 Tista 'tuża regolari għall loop. 417 00:37:12,770 --> 00:37:22,000 Dan huwa pass ieħor intricacy ta 'PHP. 418 00:37:22,000 --> 00:37:27,420 Lingwi Ħafna, nixtieq ngħid, għandhom xi tip ta 'tul jew len jew xi ħaġa 419 00:37:27,420 --> 00:37:30,470 jindika t-tul ta 'firxa. 420 00:37:30,470 --> 00:37:32,820 Fil PHP huwa għadd. 421 00:37:32,820 --> 00:37:36,160 Allura għadd ($ array); $ i + +) 422 00:37:36,160 --> 00:37:42,950 Ejja biss print ($ array [$ i]); 423 00:37:45,920 --> 00:37:48,820 Avviż: undefined offset: 2. 424 00:37:48,820 --> 00:37:51,610 Huwa biss se jonqsu. 425 00:37:51,610 --> 00:38:03,020 Din hija r-raġuni li, għall-parti l-kbira, inti qatt ma jeħtieġ li jtenni fuq firxa bħal din. 426 00:38:03,020 --> 00:38:07,110 Jista 'jkun eżaġerazzjoni, iżda inti qatt ma jeħtieġ li jtenni fuq firxa bħal din 427 00:38:07,110 --> 00:38:19,410 għaliex PHP jipprovdi sintassi foreach tagħha fejn foreach ($ array kif $ oġġett). 428 00:38:19,410 --> 00:38:31,830 Issa jekk aħna jistampaw ($ partita), - we'll jiddiskutu dan fil-tieni - li jaħdem perfettament multa. 429 00:38:31,830 --> 00:38:38,960 Il-mod li foreach qed taħdem hija l-ewwel argument huwa l-array li int iterazzjoni fuq. 430 00:38:38,960 --> 00:38:44,060 U t-tieni argument, il-partita, permezz ta 'kull pass tal-linja għall- 431 00:38:44,060 --> 00:38:52,690 li għaddej biex jieħdu fuq il-ħaġa li jmiss fil-firxa. Mela ftakar il-firxa għandha ordni. 432 00:38:52,690 --> 00:38:55,690 L-ewwel darba permezz tal-linja għall-partita se tkun 123 433 00:38:55,690 --> 00:38:59,540 imbagħad se jkun 12 imbagħad se jkun ta '13 imbagħad se jkun 23 imbagħad se jkun 213. 434 00:38:59,540 --> 00:39:04,670 Affarijiet nikseb verament stramb meta inti tagħmel xi ħaġa simili foreach. 435 00:39:04,670 --> 00:39:07,480 Ejja naraw dak li jiġri minħabba qatt ma għandek tagħmel dan. 436 00:39:07,480 --> 00:39:13,320 X'jiġri jekk aħna mitfija ($ array [1]); 437 00:39:20,410 --> 00:39:26,030 Dan kien probabbilment mistenni. 438 00:39:26,030 --> 00:39:30,950 Inti iterazzjoni fuq din array, u kull darba int tifi-indiċi 1. 439 00:39:30,950 --> 00:39:39,720 Allura għal indiċi 0, l-ewwel ħaġa, oġġett jieħu fuq il-valur 0, hekk li għaddej biex tkun 123. 440 00:39:39,720 --> 00:39:44,630 Iżda ġewwa tal-linja għall aħna mitfija indiċi 1, b'tali mod li l-mezzi 12 hija marret. 441 00:39:44,630 --> 00:39:57,480 Allura print. PHP_EOL. 442 00:39:57,480 --> 00:40:03,580 PHP_EOL huwa biss newline, iżda huwa teknikament aktar portabbli 443 00:40:03,580 --> 00:40:08,890 peress newlines fil-Windows hija differenti minn newlines fuq Mac u UNIX. 444 00:40:08,890 --> 00:40:18,040 Fuq Windows newline huwa \ r \ n, filwaqt kullimkien inkella t-tendenza biss sabiex ikunu \ n. 445 00:40:18,040 --> 00:40:25,150 PHP_EOL huwa kkonfigurat hekk li juża irrispettivament mill-newline tas-sistema tiegħek hija. 446 00:40:25,150 --> 00:40:29,310 Allura print dik. Ejja ma print_r ($ array) fl-aħħar. 447 00:40:32,830 --> 00:40:37,390 I kellhom ebda idea li dan ikun l-imġieba. 448 00:40:41,740 --> 00:40:48,960 Punt għadu jieħu fuq il-valur 12 anke jekk aħna mitfija 12 qabel we qatt ltqajna lilu mill-firxa. 449 00:40:52,770 --> 00:40:58,840 M'għandekx tieħu kelma tiegħi dwar dan, iżda jidher qisu foreach toħloq kopja tal-firxa 450 00:40:58,840 --> 00:41:02,160 u allura n-numru jieħu valuri kollha ta 'dik il-kopja. 451 00:41:02,160 --> 00:41:07,760 Għalhekk anki jekk inti timmodifika l-firxa ġewwa l-għar loop, 452 00:41:07,760 --> 00:41:17,240 mhux se kura. Punt se tieħu fuq il-valuri oriġinali. 453 00:41:17,240 --> 00:41:19,240 Ejja nippruvaw tifi dan. 454 00:41:19,240 --> 00:41:24,460 X'jiġri jekk dan huwa ta '$ array [1] = "bonjour"; 455 00:41:24,460 --> 00:41:31,770 Anki jekk aħna tpoġġi "bonjour" fil-firxa, il-punt qatt jieħu fuq dak il-valur. 456 00:41:31,770 --> 00:41:37,430 Hemm ieħor sintassi li foreach loops 457 00:41:37,430 --> 00:41:45,900 fejn inti tpoġġi 2 varjabbli separati bi vleġġa. 458 00:41:45,900 --> 00:41:49,680 Din il-varjabbli 1 se jkun iċ-ċavetta ta 'dak il-valur, 459 00:41:49,680 --> 00:41:53,050 u dan il-varjabbli 2 se tkun l-oġġett eżatt l-istess. 460 00:41:53,050 --> 00:42:01,610 Dan huwa uninteresting hawn, imma jekk immorru lura għall-każ oriġinali tagħna ta '"a" -> 1, 461 00:42:01,610 --> 00:42:06,090 "B" -> 1, 462 00:42:06,090 --> 00:42:14,470 hawn jekk aħna biss jtenni għal kull firxa bħala oġġett, oġġett se tkun l-1 kull wieħed ħin. 463 00:42:14,470 --> 00:42:18,170 Imma jekk irridu wkoll trid tkun taf l-ewlenin assoċjati ma 'dak l-oġġett 464 00:42:18,170 --> 00:42:25,230 allura nagħmlu kif $ ewlenin -> $ oġġett. 465 00:42:25,230 --> 00:42:31,980 Allura issa nistgħu nagħmlu (jistampa $ ċavetta. ":". 466 00:42:31,980 --> 00:42:39,380 Issa huwa iterazzjoni fuq u l-istampar kull ewlenin u l-valur assoċjat tiegħu. 467 00:42:39,380 --> 00:42:47,030 >> Ħaġa oħra li nistgħu nagħmlu fil foreach linji hija li inti tista 'tara dan sintassi. 468 00:42:47,030 --> 00:42:54,770 Ampersands qabel ismijiet varjabbli għandhom tendenza li jkunu kemm PHP ma referenzi. 469 00:42:54,770 --> 00:43:00,460 Fejn ir-referenzi huma simili ħafna għal pointers, 470 00:43:00,460 --> 00:43:04,820 inti ma għandekx pointers, sabiex inti qatt jittrattaw memorja direttament. 471 00:43:04,820 --> 00:43:12,620 Imma inti għandek referenzi fejn 1-varjabbli tirreferi għall-istess ħaġa bħat ieħor varjabbli. 472 00:43:12,620 --> 00:43:21,450 Ġewwa ta 'hawn ejja jagħmlu $ oġġett. Ejja ħa mmorru lura għal 1, 10. 473 00:43:21,450 --> 00:43:28,800 Ejja nagħmlu $ oġġett + +; Li għadha teżisti fil-PHP. Inti xorta tista 'tagħmel + +. 474 00:43:28,800 --> 00:43:38,260 php.test.php. I għandhom jistampaw. print_r ($ array); 475 00:43:38,260 --> 00:43:42,730 Aħna istampar 2, 11. 476 00:43:42,730 --> 00:43:49,560 Jekk I kellha biss għamlu foreach ($ array kif $ partita) allura n-numru se jkun il-valur ta '1 477 00:43:49,560 --> 00:43:54,190 l-ewwel darba permezz tal-linja. Hija se inkrement 1-2 u allura aħna qed isir. 478 00:43:54,190 --> 00:43:57,260 Mela allura se jgħaddu mill-pass 2 tal-linja u dik il-partita hija 10. 479 00:43:57,260 --> 00:44:01,570 Hija żidiet oġġett sa 11, u mbagħad li jinsab biss tintrema. 480 00:44:01,570 --> 00:44:06,670 Imbagħad aħna print_r ($ array), u ejja ara li dan huwa biss 1, 10. 481 00:44:06,670 --> 00:44:09,070 Allura l-inkrement għamilna kienet mitlufa. 482 00:44:09,070 --> 00:44:13,410 Iżda foreach ($ array kif & $ partita) 483 00:44:13,410 --> 00:44:21,910 issa din il-partita huwa l-istess oġġett kif dan id-dritt hawn. Hu l-istess ħaġa. 484 00:44:21,910 --> 00:44:26,820 Allura $ partita + + huwa li jimmodifika firxa 0. 485 00:44:29,330 --> 00:44:41,850 Bażikament, inti tista 'ukoll tagħmel $ k - firxa> $ oġġett u inti tista' tagħmel $ [$ k] + +; 486 00:44:41,850 --> 00:44:48,650 >> Allura mod ieħor ta 'kif isir dan, aħna huma ħielsa li timmodifika partita, 487 00:44:48,650 --> 00:44:54,070 imma li mhux se jimmodifikaw firxa oriġinali tagħna. 488 00:44:54,070 --> 00:44:59,720 Imma jekk nużaw k, li hija essenzjali tagħna, imbagħad inkunu nistgħu biss indiċi fis firxa tagħna jużaw din ċavetta 489 00:44:59,720 --> 00:45:01,530 u inkrement li. 490 00:45:01,530 --> 00:45:05,410 Dan aktar direttament jimmodifika firxa oriġinali tagħna. 491 00:45:05,410 --> 00:45:10,690 Tista 'anki tagħmel dan jekk għal xi raġuni int riedu l-ħila li timmodifika - 492 00:45:10,690 --> 00:45:13,510 Attwalment, dan huwa perfettament raġonevoli. 493 00:45:13,510 --> 00:45:16,020 Inti ma tridx li jkollhom jiktbu $ array [$ k] + +, 494 00:45:16,020 --> 00:45:27,890 inti biss riedu jiktbu $ partita + + imma inti xorta riedu jgħidu jekk ($ k === "a") 495 00:45:27,890 --> 00:45:30,620 imbagħad inkrement oġġett u mbagħad jistampaw firxa tagħna. 496 00:45:30,620 --> 00:45:36,290 Allura issa dak li nistennew print_r tagħmel? Liema valuri għandhom jiġu stampati? 497 00:45:36,290 --> 00:45:43,770 [Student] 2 u 10. >> [Bowden] Biss jekk iċ-ċavetta kien "a" do we attwalment print dik. 498 00:45:51,940 --> 00:45:55,670 >> You probabbilment ħafna rari, jekk qatt, se jkollha bżonn tiddefinixxi l-funzjonijiet fil-PHP, 499 00:45:55,670 --> 00:46:03,370 imma int tista 'tara xi ħaġa simili fejn inti tiddefinixxi funzjoni bħal kwalunkwe funzjoni. 500 00:46:03,370 --> 00:46:09,900 Normalment inti ngħid ($ foo, $ bar) u mbagħad jiddefinixxu li jkun x'ikun. 501 00:46:09,900 --> 00:46:17,580 Imma jekk jien tagħmel dan, allura dan ifisser li kwalunkwe sejħiet tkun xi tkun, 502 00:46:17,580 --> 00:46:25,110 tkun xi tkun jitlob baz, għalhekk l-ewwel argument mgħoddi lill baz jistgħu jiġu mibdula. 503 00:46:25,110 --> 00:46:38,100 Ejja nagħmlu $ foo + +; 504 00:46:38,100 --> 00:46:48,020 u ġewwa ta 'hawn ejja do baz ($ partita); 505 00:46:48,020 --> 00:46:52,250 Issa aħna qed jitolbu funzjoni. 506 00:46:52,250 --> 00:46:56,780 L-argument tittieħed b'referenza, li jfisser li jekk aħna jimmodifikaw din 507 00:46:56,780 --> 00:47:00,390 aħna qed timmodifika l-ħaġa li kienet għaddiet pulzieri 508 00:47:00,390 --> 00:47:04,420 U l-istampar dan qed nistennew - sakemm I messed up sintassi - sirna 2, 11, 509 00:47:04,420 --> 00:47:06,300 għalhekk kien attwalment inkrementat. 510 00:47:06,300 --> 00:47:08,790 Avviż għandna bżonn referenzi 2 postijiet. 511 00:47:08,790 --> 00:47:13,050 X'jiġri jekk jien ma dan? Xi jfisser dan? 512 00:47:13,050 --> 00:47:15,810 [Student] Dan se jinbidlu. >> Yeah. 513 00:47:15,810 --> 00:47:18,290 Punt huwa biss kopja tal-valur fil-firxa. 514 00:47:18,290 --> 00:47:26,670 Allura partita se jinbidlu sa 2, iżda l-array ["a"] xorta se tkun l-1. 515 00:47:26,670 --> 00:47:32,560 Jew jekk dak I do dan? 516 00:47:32,560 --> 00:47:39,260 Issa partita hija mibgħuta bħala kopja lill baz. 517 00:47:39,260 --> 00:47:46,330 Allura l-kopja tal-argument se jkun inkrementat sa 2, 518 00:47:46,330 --> 00:47:49,240 imma oġġett innifsu qatt ma kien inkrementat sa 2. 519 00:47:49,240 --> 00:47:52,880 U l-oġġett huwa l-istess ħaġa bħat parentesi firxa tkun xi tkun, 520 00:47:52,880 --> 00:47:55,380 b'tali mod li firxa qatt ma inkrementat. 521 00:47:55,380 --> 00:47:57,960 Allura dawn iż-żewġ postijiet bżonnha. 522 00:47:57,960 --> 00:48:03,830 >> PHP huwa normalment pretty intelliġenti dwar dan. 523 00:48:03,830 --> 00:48:06,570 Għandek mnejn taħseb li nixtieq li jgħaddu permezz ta 'referenza - 524 00:48:06,570 --> 00:48:09,560 Dan kien effettivament kwistjoni fuq waħda mill-psets. 525 00:48:09,560 --> 00:48:14,480 Kienet ħaġa questions.txt fejn qal, 526 00:48:14,480 --> 00:48:19,280 Għaliex jista inti tixtieq li tgħaddi din Struct b'referenza? 527 00:48:19,280 --> 00:48:21,250 Liema kienet l-risposta għal din? 528 00:48:21,250 --> 00:48:25,100 [Student] Allura inti ma għandekx kopja xi ħaġa kbira. >> Yeah. 529 00:48:25,100 --> 00:48:32,920 A Struct jista 'jkun arbitrarju kbar, u meta inti tgħaddi l-Struct fl bħala argument 530 00:48:32,920 --> 00:48:36,800 jeħtieġ li kopja li Struct kollu li jgħaddi lill-funzjoni, 531 00:48:36,800 --> 00:48:40,410 billi jekk inti biss tgħaddi l-Struct b'referenza 532 00:48:40,410 --> 00:48:46,530 allura hija biss jeħtieġ li kopja l-indirizz 4-byte bħala l-argument li l-funzjoni. 533 00:48:48,520 --> 00:48:52,320 PHP huwa ftit aktar intelliġenti minn dak. 534 00:48:52,320 --> 00:49:00,650 Jekk ikolli xi funzjoni u I jgħaddu lilha firxa ta '1,000 affarijiet, 535 00:49:00,650 --> 00:49:03,990 ma jfissirx li huwa għaddej biex ikollhom kopja kollha 1000 ta 'dawk l-affarijiet 536 00:49:03,990 --> 00:49:10,450 li għaddih fil-funzjoni? Huwa ma għandek tagħmel dan immedjatament. 537 00:49:10,450 --> 00:49:15,940 Jekk ġewwa ta 'din il-funzjoni hija qatt ma attwalment jimmodifika foo, 538 00:49:15,940 --> 00:49:22,660 hekk jekk ($ foo === "bonjour") ritorn vera.; 539 00:49:22,660 --> 00:49:26,460 Avviż aħna qatt effettivament immodifikati-ġewwa argument ta 'din il-funzjoni, 540 00:49:26,460 --> 00:49:30,010 li jfisser li kwalunkwe għaddiet fl kif foo qatt ma jeħtieġ li jiġu kkupjati 541 00:49:30,010 --> 00:49:32,100 għaliex mhuwiex timmodifika dan. 542 00:49:32,100 --> 00:49:39,240 Allura l-mod PHP xogħlijiet huwa l-argumenti huma dejjem mgħoddija permezz ta 'referenza 543 00:49:39,240 --> 00:49:42,170 sakemm inti fil-fatt jippruvaw jimmodifikaw dan. 544 00:49:42,170 --> 00:49:51,160 Issa jekk jien ngħid $ foo + +; issa se jagħmel kopja ta 'l-foo oriġinali u timmodifika l-kopja. 545 00:49:51,160 --> 00:49:53,090 Dan jiffranka xi żmien. 546 00:49:53,090 --> 00:49:58,210 Jekk int qatt ma jmissu dan array massiv, int qatt ma attwalment timmodifika dan, 547 00:49:58,210 --> 00:50:02,360 ma għandux bżonn tagħmel il-kopja, 548 00:50:02,360 --> 00:50:06,640 billi jekk aħna biss jitqiegħed dan ampersand li jfisser li lanqas biss ma kopja 549 00:50:06,640 --> 00:50:08,640 anki jekk inti timmodifika dan. 550 00:50:08,640 --> 00:50:10,680 Din l-imġieba hija msejħa kopja-on-write. 551 00:50:10,680 --> 00:50:17,380 Int ser ikollok tara li f'postijiet oħra, speċjalment jekk inti tieħu kors sistema operattiva. 552 00:50:17,380 --> 00:50:23,880 Kopja on-write huwa mudell pjuttost normali fejn inti m'għandekx bżonn li tagħmel kopja ta 'xi ħaġa 553 00:50:23,880 --> 00:50:26,650 sakemm huwa attwalment jinbidlu. Yeah. 554 00:50:26,650 --> 00:50:29,520 [Student] X'jiġri jekk kellek l-inkrement ġewwa it-test, 555 00:50:29,520 --> 00:50:33,700 hekk biss 1 element minn 1000 ikun jeħtieġ li jinbidlu? 556 00:50:33,700 --> 00:50:38,770 M'inix ċert. 557 00:50:38,770 --> 00:50:51,250 Naħseb li kopja l-ħaġa sħiħa, iżda huwa possibbli huwa intelliġenti biżżejjed li - 558 00:50:51,250 --> 00:51:00,020 Fil-fatt, dak li jien ħsieb huwa jimmaġina kellna firxa li tidher bħal dan: $ array2 = [ 559 00:51:00,020 --> 00:51:11,000 Imbagħad indiċi "a" huwa firxa ta '[1 2 3 4], u l-indiċi "b" huwa firxa ta' kwalunkwe. 560 00:51:11,000 --> 00:51:15,380 I bżonn virgoli bejn dawk kollha. Immaġina hemm virgoli. 561 00:51:15,380 --> 00:51:21,210 Imbagħad "c" huwa l-valur 3. 562 00:51:24,210 --> 00:51:26,290 Okay. 563 00:51:26,290 --> 00:51:33,440 Issa ejja ngħidu li nagħmlu $ baz ($ array2); 564 00:51:33,440 --> 00:51:36,540 fejn baz ma tieħu din b'referenza. 565 00:51:43,510 --> 00:51:47,370 Allura $ foo ["c"] + +; 566 00:51:47,370 --> 00:51:52,340 Dan huwa tali eżempju fejn aħna qegħdin jgħaddu array2 bħala argument 567 00:51:52,340 --> 00:51:57,010 u allura huwa modifika ta 'indiċi speċifika tal-array inkrementazzjoni dan. 568 00:51:57,010 --> 00:52:01,090 I onestament l-ebda idea dak li PHP huwa se jagħmel. 569 00:52:01,090 --> 00:52:07,200 Dan jista 'faċilment jagħmlu kopja tal-ħaġa sħiħa, imma jekk huwa intelliġenti, 570 00:52:07,200 --> 00:52:15,030 hija ser tagħmel kopja ta 'dawn iċ-ċwievet fejn dan ser ikollu valur distint tiegħu 571 00:52:15,030 --> 00:52:20,620 iżda dan xorta jistgħu jindikaw il-firxa istess 1,2,3,4 572 00:52:20,620 --> 00:52:22,320 u dan jista 'xorta juru l-firxa istess. 573 00:52:22,320 --> 00:52:24,170 I ser iPad dan. 574 00:52:28,900 --> 00:52:45,950 Aħna jgħaddu f'dan firxa fejn dan Guy punti sa 3, dan il-punti Guy sa [1,2,3,4], 575 00:52:45,950 --> 00:52:51,350 dan Guy jindika [34, ...] 576 00:52:51,350 --> 00:52:58,590 Issa li aħna qed jgħaddiha fil lill baz, aħna qed timmodifika dan. 577 00:52:58,590 --> 00:53:03,550 Jekk PHP huwa intelliġenti, hija tista 'biss tagħmel - 578 00:53:11,850 --> 00:53:18,230 Aħna xorta kellhom kopja xi memorja, imma jekk kien hemm dawn subarrays nested enormi 579 00:53:18,230 --> 00:53:21,560 aħna ma bżonn li kopja dawk. 580 00:53:21,560 --> 00:53:27,530 I do not know jekk dan huwa dak li ma, imma I jista 'jimmaġina li tagħmel dan. 581 00:53:29,050 --> 00:53:36,690 Dan huwa wkoll vantaġġ pretty kbir ta 'C fuq PHP. 582 00:53:36,690 --> 00:53:40,320 >> PHP tagħmel il-ħajja tant faċli għal ħafna affarijiet, 583 00:53:40,320 --> 00:53:45,060 iżda inti tip ta 'assolutament ebda idea kif ukoll li se jwettqu 584 00:53:45,060 --> 00:53:52,530 għaliex għandi ebda idea taħt il-barnuża meta huwa jagħmel dawn il-kopji ta 'affarijiet, 585 00:53:52,530 --> 00:53:55,170 oh, huwa li se tkun kopja ħin kostanti, 586 00:53:55,170 --> 00:54:01,140 huwa hija biss se jibdlu 1 pointer, huwa se jkun kopja lineari ridiculously diffiċli? 587 00:54:01,140 --> 00:54:03,000 X'jiġri jekk ma tistax issib spazju? 588 00:54:03,000 --> 00:54:06,760 Ma mbagħad bżonn biex imexxu ġbir taż-żibel li tikseb l-ispazju ftit aktar? 589 00:54:06,760 --> 00:54:11,210 U l-ġbir taż-żibel jistgħu jieħdu arbitrarju fit-tul. 590 00:54:11,210 --> 00:54:13,600 Fil Ċ inti ma għandekx għalfejn tinkwieta dwar dawn l-affarijiet. 591 00:54:13,600 --> 00:54:19,780 Kull linja waħda inti tikteb inti tista 'raġuni pretty ħafna dwar kif li għaddej biex iwettqu. 592 00:54:26,800 --> 00:54:29,150 >> Ejja nħarsu lura lejn dawn. 593 00:54:35,400 --> 00:54:37,520 Kif sbieħ huwa li inti ma għandekx biex jittrattaw funzjonijiet hash, 594 00:54:37,520 --> 00:54:39,010 listi marbuta, jew xi ħaġa bħal dik? 595 00:54:39,010 --> 00:54:41,980 Peress li jaħdmu ma 'tabelli hash hija tant faċli issa, hawn puzzle gost biex jaħdmu fuq. 596 00:54:41,980 --> 00:54:45,920 Jiftħu fajl imsejjaħ unique.php u fiha tikteb programm PHP 597 00:54:45,920 --> 00:54:48,330 (Magħrufa wkoll bħala "iskrittura"). 598 00:54:48,330 --> 00:54:55,700 Għandna t-tendenza li jsejħu lilhom skripts jekk dawn qed affarijiet qosra li inti tmexxi fil-linja tal-kmand. 599 00:54:55,700 --> 00:55:02,950 Bażikament, kwalunkwe lingwa li inti ma tiġbor imma int ser imexxu l-eżekutibbli 600 00:55:02,950 --> 00:55:05,920 fil-linja tal-kmand, inti tista 'sejħa li iskrittura eżekutibbli. 601 00:55:05,920 --> 00:55:08,510 I jistgħu biss kif ukoll jiktbu program C li ma dan, 602 00:55:08,510 --> 00:55:12,300 imma jien ma sejħa hija b'kitba peress I ewwel josservawha u mbagħad għaddi l-binarju. 603 00:55:12,300 --> 00:55:15,480 Iżda dan il-programm PHP aħna qed tmur biex sejħa b'kitba. 604 00:55:15,480 --> 00:55:23,830 Jew jekk aħna kiteb fil Python jew Perl jew Node.js jew xi waħda minn dawk l-affarijiet, 605 00:55:23,830 --> 00:55:26,500 aħna'd jsejħulhom kollha skripts għaliex inti imexxuhom fil-linja tal-kmand 606 00:55:26,500 --> 00:55:30,040 iżda aħna ma jikkompilawha. 607 00:55:30,860 --> 00:55:33,400 Nistgħu nagħmlu dan pretty malajr. 608 00:55:36,960 --> 00:55:41,480 Aħna mhux ser tuża ARGV. Ejja biss blow permezz ta 'dan. 609 00:55:41,480 --> 00:55:45,730 Sejħa hija unika, jikteb programm. 610 00:55:45,730 --> 00:55:49,400 Inti jista 'jassumi li l-input se jkun fih kelma waħda għal kull linja. 611 00:55:49,400 --> 00:55:52,020 Attwalment, ARGV se jkun pjuttost trivjali għall-użu. 612 00:56:03,730 --> 00:56:06,720 unique.php. 613 00:56:08,550 --> 00:56:13,750 L-ewwel ħaġa l-ewwel, irridu li jiċċekkjaw jekk aħna kienu għaddew 1 kmand tal-linja argument. 614 00:56:13,750 --> 00:56:20,900 Just kif inti tistenna argc u ARGV fis-C, aħna xorta jkollhom dawk fil-PHP. 615 00:56:20,900 --> 00:56:33,900 Mela jekk ($ argc! == 2) allura jien mhux se tittratta l-istampar ta 'messaġġ jew xejn. 616 00:56:33,900 --> 00:56:37,340 I ser biss ħruġ, kodiċi ta 'żball ta' 1. 617 00:56:37,340 --> 00:56:41,340 I tista 'wkoll ritorn 1. 618 00:56:41,340 --> 00:56:53,180 Rarament fil-PHP huma inti fil dan l-istat fejn aħna qed fuq - 619 00:56:53,180 --> 00:56:57,820 Normalment int fil-funzjoni msejħa minn funzjoni msejħa minn funzjoni msejħa minn funzjoni. 620 00:56:57,820 --> 00:57:02,070 U jekk xi ħaġa tmur ħażin u inti biss tixtieq li toħroġ kollox kollox, 621 00:57:02,070 --> 00:57:05,680 ħruġ biss tispiċċa l-programm. 622 00:57:05,680 --> 00:57:08,160 Dan teżisti wkoll fl C. 623 00:57:08,160 --> 00:57:10,700 Jekk int fil-funzjoni fil-funzjoni fil-funzjoni fil-funzjoni 624 00:57:10,700 --> 00:57:17,540 u inti tixtieq li joqtlu biss l-programm, inti tista 'sejħa ħruġ u se biss ħruġ. 625 00:57:17,540 --> 00:57:23,120 Iżda fil-PHP huwa saħansitra aktar rari li aħna f'dan il-livell ogħla. 626 00:57:23,120 --> 00:57:26,090 Normalment aħna qed ġewwa xi tip ta 'funzjoni, hekk aħna sejħa ħruġ 627 00:57:26,090 --> 00:57:29,650 hekk li aħna ma jkollhomx għalfejn imorru lura up 1 ħaġa li mbagħad jirrealizza hemm żball 628 00:57:29,650 --> 00:57:32,270 b'tali mod li jirritorna up jekk dan jagħraf kien hemm żball. 629 00:57:32,270 --> 00:57:35,270 Aħna ma jridux jiffaċċjaw dan, hekk ħruġ (1); 630 00:57:35,270 --> 00:57:38,240 ritorn (1); f'dan il-każ ikun ekwivalenti. 631 00:57:38,240 --> 00:57:44,000 >> Imbagħad dak li rridu li tiftaħ irridu fopen. 632 00:57:44,000 --> 00:57:46,760 L-argumenti huma ser tħares pjuttost simili. 633 00:57:46,760 --> 00:57:51,600 Aħna rridu li fopen ($ ARGV [1], u rridu li tiftħu għall-qari. 634 00:57:51,600 --> 00:57:55,720 Li jirritorna riżorsa li aħna qed tmur biex sejħa f. 635 00:57:55,720 --> 00:58:02,180 Dan jidher pjuttost simili għal kif C tagħmlu ħlief aħna ma jkollhom jgħidu * FAJL. 636 00:58:02,180 --> 00:58:06,170 Minflok aħna biss jgħidu $ f. Okay. 637 00:58:06,170 --> 00:58:17,190 Fil-fatt, jiena naħseb li din anke jagħtina ħjiel dwar l-funzjoni PHP imsejħa fajl. File PHP. 638 00:58:17,190 --> 00:58:23,990 X'inhu dan se tagħmel hu li jaqra fajl sħiħ fil-firxa. 639 00:58:23,990 --> 00:58:29,770 Inti ma anki ħtieġa li fopen dan. Huwa ser tagħmel dan għalik. 640 00:58:37,450 --> 00:58:43,700 Allura $ linji = fajl ($ ARGV [1]); 641 00:58:43,700 --> 00:58:49,680 Issa kollha tal-linji tal-fajl huma fil-linji. Issa rridu li sort-linji. 642 00:58:49,680 --> 00:58:52,180 Kif nistgħu sort l-linji? 643 00:58:52,180 --> 00:58:54,920 Aħna sort-linji. 644 00:58:54,920 --> 00:58:58,080 U issa nistgħu jistampaw minnhom jew ikun x'ikun. 645 00:58:58,080 --> 00:59:05,580 Probabbilment l-eħfef mod huwa foreach ($ linji kif $ line) eku $ line; 646 00:59:05,580 --> 00:59:10,960 [Student] Mhux se aħna anke jaqsmu linji billi referenzar xi ħaġa fis sort? 647 00:59:10,960 --> 00:59:28,850 Dan huwa fejn it-tip ikun definit bħala tip funzjoni ($ array &). 648 00:59:28,850 --> 00:59:32,650 Meta inti sejħa l-funzjoni li inti ma jgħaddu mill referenza. 649 00:59:32,650 --> 00:59:36,900 Hu l-funzjoni li jiddefinixxi bħala tieħdu bħala referenza. 650 00:59:36,900 --> 00:59:40,900 Dan huwa attwalment eżattament dak li marret ħażin 651 00:59:40,900 --> 00:59:46,220 meta aħna tpoġġi kollox li servers tagħna meta aħna marru 5.3-5.4. 652 00:59:46,220 --> 00:59:53,800 Sa 5.4, din kienet perfettament raġonevoli. 653 00:59:53,800 --> 00:59:58,740 Funzjoni ma tistenna li tieħu bħala referenza, imma int tista 'tgħaddiha bħala referenza 654 00:59:58,740 --> 01:00:02,860 hekk jekk il-funzjoni ma jiġri biex timmodifika dan, huwa għadu modifikata. 655 01:00:02,860 --> 01:00:05,850 Mill-5.4, int mhux suppost li tagħmel dan. 656 01:00:05,850 --> 01:00:11,740 Allura issa l-uniku mod inti tgħaddi permezz ta 'referenza huwa jekk il-funzjoni b'mod espliċitu ma. 657 01:00:11,740 --> 01:00:19,840 Jekk inti ma tridx li timmodifika dan, imbagħad inti għandek bżonn tagħmel $ kopja = $ linji u kopja pass. 658 01:00:19,840 --> 01:00:24,820 Allura issa linji se jiġu ppreservati u kopja se jinbidlu. 659 01:00:27,670 --> 01:00:31,460 php.unique.php. I jista 'jkollhom messed up xi ħaġa. 660 01:00:31,460 --> 01:00:33,190 Mhux mistennija "sort". 661 01:00:38,320 --> 01:00:43,850 Hemm għaddej biex tkun xi ħaġa li tagħmel dan għalina. 662 01:00:43,850 --> 01:00:45,820 Huwa lanqas hemm. 663 01:00:45,820 --> 01:00:52,140 Avviż meta inti taqra l-manwal li l-ewwel argument huwa mistenni li jkun array 664 01:00:52,140 --> 01:00:56,490 u huwa meħud mill referenza. 665 01:00:58,160 --> 01:01:03,540 Għaliex dan tilmenta lili? Minħabba I jkollhom din it-tip il-funzjoni għadu fil hawn li jien ma jridux. 666 01:01:03,540 --> 01:01:09,210 Okay. Php.unique.php, I ma tgħaddih argument minħabba I ma jkollhom fajl. 667 01:01:09,210 --> 01:01:13,560 Huwa php.unique.php fuq test.php. 668 01:01:13,560 --> 01:01:19,080 Hawnhekk huwa test.php kollha stampati fl-ordni sbieħ magħżula. 669 01:01:19,080 --> 01:01:24,600 Avviż li ordni magħżula hija tip ta 'stramb għal fajl kodiċi 670 01:01:24,600 --> 01:01:27,460 minħabba kollha ta 'linji vojta tagħna ser jasal l-ewwel 671 01:01:27,460 --> 01:01:30,190 imbagħad ser jiġu kollha ta 'għafsiet tagħna livell 1 672 01:01:30,190 --> 01:01:33,360 imbagħad jiġu kollha ta 'għafsiet ebda tagħna. 673 01:01:33,360 --> 01:01:38,620 Yeah. >> [Student] Dan għall-kodiċi sors ma kienx għadda b'referenza? 674 01:01:38,620 --> 01:01:42,240 Hija li ġeneralment mgħoddi mill-valur? 675 01:01:42,240 --> 01:01:50,240 [Bowden] Meta inti sejħa funzjoni, hija qatt ma tiddetermina jekk kienx għadda mill referenza. 676 01:01:50,240 --> 01:01:53,960 Hu l-definizzjoni funzjoni li jiddetermina jekk kienx għadda mill referenza. 677 01:01:53,960 --> 01:01:59,450 U tħares lejn id-definizzjoni funzjoni ta 'tip jew biss tħares lejn din, 678 01:01:59,450 --> 01:02:02,820 dan jieħu l-argument b'referenza. 679 01:02:02,820 --> 01:02:07,160 Allura irrispettivament minn jekk inti tixtieq li tieħu b'referenza, hija ma teħodha b'referenza. 680 01:02:07,160 --> 01:02:10,200 Hija jimmodifika l-firxa fil-post. 681 01:02:10,200 --> 01:02:17,400 Dan huwa biss mhux permess. Int mhux permess li jagħmlu dan. >> [Student] Oh, okay. 682 01:02:17,400 --> 01:02:22,410 [Bowden] Dan, it-tip se jieħu linji b'referenza u timmodifika dan. 683 01:02:22,410 --> 01:02:26,850 U għal darb'oħra, jekk inti ma tridx li tagħmel dan, inti tista 'tagħmel kopja ta' tip. 684 01:02:26,850 --> 01:02:35,850 Anke f'dan il-każ, kopja mhix attwalment kopja ta 'linji. 685 01:02:35,850 --> 01:02:40,620 Hija biss tenfasizza l-istess ħaġa qabel ma jiġrilha 1 modifikata, 686 01:02:40,620 --> 01:02:44,430 fejn huwa 1 se tikseb modifikati fil-funzjoni sort, 687 01:02:44,430 --> 01:02:50,940 fejn, minħabba li l-kopja fuq il-jiktbu, issa kopja tal-kopja se jsiru. 688 01:02:57,500 --> 01:03:04,250 Tista 'wkoll tagħmel dan. Dik hija l-post ieħor tista 'tara ampersand. 689 01:03:04,250 --> 01:03:07,190 You see fil loops foreach, tara li fid-dikjarazzjonijiet tal-funzjoni, 690 01:03:07,190 --> 01:03:10,040 u tara li meta biss tassenja varjabbli. 691 01:03:10,040 --> 01:03:12,350 Issa aħna rnexxilna ​​xejn billi tagħmel dan 692 01:03:12,350 --> 01:03:15,600 għaliex kopja u linji huma litteralment l-istess ħaġa. 693 01:03:15,600 --> 01:03:19,940 Tista 'tuża linji u kopja xulxin. 694 01:03:19,940 --> 01:03:25,430 Tista 'tagħmel mitfi ($ kopja), u li ma linji mitfi, 695 01:03:25,430 --> 01:03:29,120 inti biss titlef referenza tiegħek għall-istess ħaġa. 696 01:03:29,120 --> 01:03:33,440 Allura bħala ta 'dan il-punt, issa linji hija l-uniku mod inti tista' aċċess linji. 697 01:03:36,450 --> 01:03:38,770 >> Mistoqsijiet? 698 01:03:41,000 --> 01:03:42,460 Yeah. 699 01:03:42,460 --> 01:03:45,880 [Student] Kompletament off topic, imma inti ma għandekx biex tagħlaq PHP mal-- >> Inti ma. 700 01:03:45,880 --> 01:03:47,730 Okay. 701 01:03:47,730 --> 01:03:53,790 [Bowden] I imur safejn ngħid huwa prattika ħażina li qrib magħhom. 702 01:03:53,790 --> 01:03:57,580 Li probabbilment eżaġerazzjoni, speċjalment fil b'kitba, 703 01:03:57,580 --> 01:04:03,740 imma ejja naraw x'jiġri jekk nagħmel dan. 704 01:04:03,740 --> 01:04:08,890 Li ma xejn. X'jiġri jekk jien ridt - [sighs] 705 01:04:13,870 --> 01:04:16,960 I bżonn li tgħaddi l-argument. 706 01:04:19,000 --> 01:04:22,050 Rimja. I imsejħa hija żbaljata. 707 01:04:24,340 --> 01:04:28,310 Allura php.unique.php ma 'l-argument. 708 01:04:28,310 --> 01:04:30,980 Issa jien ma anki bżonn din. 709 01:04:34,520 --> 01:04:37,740 I ser tgħaddiha argument validu. 710 01:04:37,740 --> 01:04:42,050 Dan stampati kwalunkwe huwa istampar. 711 01:04:45,260 --> 01:04:50,080 Jien istampar kopja u kopja ma teżistix. Allura linji. 712 01:04:53,650 --> 01:04:58,270 Hija stampati kollox, u mbagħad avviż dan kollu junk stabbiliti hawn, 713 01:04:58,270 --> 01:05:06,690 minħabba f'xi ħaġa PHP li huwa barra ta 'tikketti PHP 714 01:05:06,690 --> 01:05:09,520 huwa biss se jiġu stampati litteralment. 715 01:05:09,520 --> 01:05:18,050 C'est pourquoi HTML, huwa hekk sbieħ li nista 'tagħmel div blah, blah, blah klassi jew kwalunkwe, 716 01:05:18,050 --> 01:05:25,140 blah, blah, blah u mbagħad jagħmlu xi kodiċi PHP u mbagħad jagħmlu div aħħar. 717 01:05:25,140 --> 01:05:36,460 U issa l-istampar ta 'din I nikseb div sbieħ tiegħi top up, dak kollu li PHP stampat, div fil-qiegħ. 718 01:05:36,460 --> 01:05:43,510 Diżastruż meta xi ħaġa bħal din jiġri, li huwa pjuttost komuni, 719 01:05:43,510 --> 01:05:47,930 biss newline stray fil-qiegħ tal-fajl. 720 01:05:47,930 --> 01:05:50,940 Inti ma naħseb li jkun li kbar ta 'ftehim 721 01:05:50,940 --> 01:05:58,660 sakemm inti tqis il-fatt li ma browsers - 722 01:05:58,660 --> 01:06:03,880 >> Kif redirects xogħol jew bażikament kwalunkwe xogħol headers, 723 01:06:03,880 --> 01:06:07,980 meta inti tagħmel konnessjoni tiegħek għal sit u tibgħat lura dawn headers u affarijiet 724 01:06:07,980 --> 01:06:12,020 bħal reazzjoni 200 jew rispons direzzjoni ġdida jew kwalunkwe, 725 01:06:12,020 --> 01:06:18,230 headers huma validi biss sa l-ewwel byte ta 'data hija mibgħuta. 726 01:06:18,230 --> 01:06:23,140 Tista 'idawru eluf ta' drabi, iżda hekk kif l-ewwel byte ta 'data hija mibgħuta 727 01:06:23,140 --> 01:06:26,120 int mhux suppost li idawwru mill-ġdid. 728 01:06:26,120 --> 01:06:31,860 >> Jekk għandek newline stray fil-qiegħ ta 'fajl 729 01:06:31,860 --> 01:06:37,260 u ejja ngħidu li inti tuża din il-funzjoni u allura inti tixtieq li - 730 01:06:41,580 --> 01:06:52,870 Ejja ngħidu huwa ieħor fajl li l-index.php u inti require_once xi ħaġa - 731 01:06:52,870 --> 01:06:56,920 I cannot think ta 'eżempju tajjeb ta' dan. 732 01:06:56,920 --> 01:07:04,740 Il-kwistjoni jiġri meta din il-linja fil-qiegħ gets mtenni. 733 01:07:04,740 --> 01:07:08,660 Inti ma tridx xejn li ġew ittennew s'issa. 734 01:07:10,820 --> 01:07:15,700 Anke jekk inti ma intenzjoni fuq xejn jkollna mtenni, xi ħaġa ma jiksbu mtenni 735 01:07:15,700 --> 01:07:17,990 u hekk issa int mhux suppost li jibagħtu headers kwalunkwe aktar 736 01:07:17,990 --> 01:07:20,030 u int ser tikseb l-ilmenti. 737 01:07:22,170 --> 01:07:24,420 Inti biss ma jeħtiġux dawk tags għeluq. 738 01:07:24,420 --> 01:07:27,420 Jekk inti tagħmel pjan dwar xi ħaġa ma HTML - 739 01:07:27,420 --> 01:07:30,490 u huwa perfettament raġonevoli li tagħmel stabbiliti hawn div kwalunkwe 740 01:07:30,490 --> 01:07:39,450 u mbagħad f'dan il-punt tista 'jew ma tistax jinkluduhom. 741 01:07:39,450 --> 01:07:41,590 Hija ma verament kwistjoni. 742 01:07:41,590 --> 01:07:45,450 Iżda fl skripts PHP huwa rari li tagħlaq dan. 743 01:07:45,450 --> 01:07:50,400 Meta kollox huwa PHP, assolutament kollox, 744 01:07:50,400 --> 01:07:55,460 inti ma verament bżonn li jingħalaq / inti m'għandekx qrib dan. 745 01:08:02,030 --> 01:08:05,720 >> Naffaċċjaw it-kordi huwa ħafna nicer milli fl C. 746 01:08:05,720 --> 01:08:09,470 Fil PHP inti tista 'tispeċifika string ma' kwotazzjonijiet wieħed jew doppju. 747 01:08:09,470 --> 01:08:12,820 Bil kwotazzjonijiet uniku inti ma tistax tuża "ħarba" sekwenzi. 748 01:08:12,820 --> 01:08:17,640 Kontinwament jaħarbu, blah, blah, blah. 749 01:08:19,920 --> 01:08:24,010 Allura printf huwa rari ħafna fil-PHP. 750 01:08:24,010 --> 01:08:32,290 I raden I se jużaw printf jekk jien ridt li jagħmlu tip ta 'ħaġa - fil pset 5 inti użati sprintf jew ikun x'ikun. 751 01:08:32,290 --> 01:08:36,060 Imma inti trid tagħmel 001.jpg u 002.jpg. 752 01:08:36,060 --> 01:08:40,300 Allura għal dik it-tip ta 'ħaġa I fejn fil-fatt tixtieq li l-format-test nixtieq użu printf. 753 01:08:40,300 --> 01:08:44,689 Imma inkella nixtieq biss użu konkatenazzjoni sekwenza. 754 01:08:44,689 --> 01:08:47,000 I qatt verament użu printf. 755 01:08:49,229 --> 01:09:00,170 Aħna biss distinzjoni bejn id-dettalji kwotazzjonijiet uniku u kwotazzjonijiet doppja. 756 01:09:00,170 --> 01:09:07,490 L-akbar differenza hija li kwotazzjonijiet uniku, se jiġi stampat litteralment. 757 01:09:07,490 --> 01:09:15,390 M'hemm l-ebda tip ta 'data char fil-PHP, b'differenza C, għalhekk dan huwa ekwivalenti għal dan. 758 01:09:15,390 --> 01:09:17,970 Huma qed kemm kordi. 759 01:09:17,970 --> 01:09:29,180 U l-ħaġa sbieħ dwar kordi kwotazzjoni waħda hija nista 'ngħid "bonjour dinja!" blah, blah, blah, 760 01:09:29,180 --> 01:09:33,340 $ $ Wooo. 761 01:09:33,340 --> 01:09:38,260 X'jiġri meta I jistampaw dan huwa se jistampaw litteralment. 762 01:09:38,260 --> 01:09:40,680 Ejja jeħles kollha ta 'għalf tagħna. 763 01:09:40,680 --> 01:09:44,700 Allura eku $ str1; 764 01:09:48,569 --> 01:09:56,570 Huwa letteralment stampata kollha ta 'dawk l-affarijiet: sinjali dollaru, 765 01:09:56,570 --> 01:09:58,770 backslash n, li inti taħseb tkun newlines - 766 01:09:58,770 --> 01:10:01,500 kollha ta 'dawk l-affarijiet li prints litteralment. 767 01:10:01,500 --> 01:10:05,650 L-unika ħaġa li għandek bżonn biex jaħarbu huma kwotazzjonijiet uniku 768 01:10:05,650 --> 01:10:09,470 għaliex inkella ser jaħseb huwa għeluq il-kwotazzjonijiet uniku. 769 01:10:09,470 --> 01:10:15,050 Kwotazzjonijiet Double, kompletament differenti. 770 01:10:20,300 --> 01:10:25,870 Aħna diġà ara l-enfasi sintassi hija cluing us fuq x'hemm madwar li jmorru terriblement ħażin. 771 01:10:25,870 --> 01:10:36,190 php.unique. Undefined varjabbli: wooo għaliex dan huwa interpretat bħala varjabbli imsejjaħ wooo. 772 01:10:36,190 --> 01:10:42,400 Kwotazzjonijiet Double tavżak daħħal varjabbli in - 773 01:10:42,400 --> 01:10:52,730 Ejja ngħidu $ isem = "Rob"; 774 01:10:52,730 --> 01:10:58,020 Allura eku "Hi, jien jisimni $ isem!"; 775 01:10:58,020 --> 01:11:09,260 Hija tirrikonoxxi dan bħala varjabbli. 776 01:11:09,260 --> 01:11:21,210 Meta I run dan - u jien se tiddaħħal newline - Hi, jien jisimni Rob! u bonjour dinja! 777 01:11:21,210 --> 01:11:24,910 Dan huwa minħabba I qatt ma jitneħħew l-istampar ta 'wooo hawn fuq. 778 01:11:24,910 --> 01:11:30,020 Hemm 1 pass ulterjuri li tista 'tagħmel. 779 01:11:30,020 --> 01:11:39,250 $ Array = [1, 2, 3]; 780 01:11:39,250 --> 01:11:43,270 X'jiġri jekk jien tixtieq li jistampaw l-indiċi 1 tal array? 781 01:11:43,270 --> 01:11:45,150 You do $ array [0]. 782 01:11:45,150 --> 01:11:49,280 L-enfasi sintassi hija clue. X'inhu dan se jagħmlu? 783 01:11:52,320 --> 01:11:54,510 php.unique. 784 01:11:54,510 --> 01:11:59,860 Hi, jien jisimni 1!! li ma jkunx dak li ridt. 785 01:11:59,860 --> 01:12:05,050 Sintassi tenfasizza gideb lili. 786 01:12:05,050 --> 01:12:13,020 Ejja nippruvaw "a" -> 1, "b" -> 2. 787 01:12:18,450 --> 01:12:21,440 Li kif I jkollhom tiktibha. 788 01:12:26,350 --> 01:12:32,160 Kwotazzjoni waħda mhux mistennija (T_ENCAPSED blah, blah, blah, blah, blah). 789 01:12:32,160 --> 01:12:41,780 L-idea hija li huwa ma rrikonoxxietx dan bħala parti mill-firxa. 790 01:12:41,780 --> 01:12:46,620 Mhuwiex tirrikonoxxi dan bħala firxa indiċjati permezz ta 'ittra a. 791 01:12:46,620 --> 01:12:49,870 Inti tixtieq li tagħmel dan mdawra minn ċineg kaboċċi, 792 01:12:49,870 --> 01:12:54,730 u issa dak kollu li huwa f'dan il-Brace kaboċċi se jiġu interpolati, 793 01:12:54,730 --> 01:13:00,340 li hija l-kelma li nużaw għall magically ddaħħal dawn il-varjabbli fil-postijiet dritt. 794 01:13:00,340 --> 01:13:04,280 Issa tagħmel dan, php.unique, u Hi, jien jisimni 1!! kif mistenni 795 01:13:04,280 --> 01:13:07,720 jew Hi, jien jisimni Rob! 796 01:13:14,110 --> 01:13:23,130 Ħaġa waħda li l-tip ta 'sbieħ dwar kwotazzjonijiet uniku huwa li - 797 01:13:23,130 --> 01:13:28,480 Hemm xi spejjeż biex jiġi mdaħħal. 798 01:13:30,520 --> 01:13:35,100 Jekk tuża kwotazzjonijiet doppja, l-interpretu irid imur fuq din is-sekwenza, 799 01:13:35,100 --> 01:13:41,500 jagħmlu ċert li, "Oh, hawnhekk varjabbli. Now I bżonn biex tmur nikseb dak il-varjabbli u daħħalha hawn." 800 01:13:41,500 --> 01:13:48,930 Anki jekk inti ma tuża kwalunkwe varjabbli, 801 01:13:48,930 --> 01:13:52,220 xejn ġewwa ta 'dawn il-kwotazzjonijiet doppja jeħtieġ li jiġi interpolat, 802 01:13:52,220 --> 01:13:56,800 iżda xorta se jkun aktar bil-mod minħabba li jeħtieġ li jmorru fuq il-kwotazzjonijiet doppja 803 01:13:56,800 --> 01:14:00,130 tfittex għal affarijiet li jeħtieġ li jiġu interpolati. 804 01:14:00,130 --> 01:14:05,360 Kwotazzjonijiet Allura wieħed jista 'jkun daqsxejn aktar malajr jekk xejn jeħtieġ li jiġi interpolat, 805 01:14:05,360 --> 01:14:15,650 u I-tendenza li anki l-użu kwotazzjonijiet uniku għal, "Hi, jien jisimni". $ Array ["a"] xorta waħda. 806 01:14:15,650 --> 01:14:20,430 Li għaddej biex tkun ekwivalenti għal dak li kellna qabel. 807 01:14:24,840 --> 01:14:28,440 Imma hija kwistjoni ta 'preferenza. 808 01:14:28,440 --> 01:14:34,750 Jekk inti qed tuża PHP, inti probabilment ma jimpurtahom dwar id-differenza veloċità. 809 01:14:34,750 --> 01:14:39,480 M'hemmx biżżejjed li raġuni għalihom biex tibda bil. 810 01:14:39,480 --> 01:14:43,030 >> Kwalunkwe mistoqsijiet finali? 811 01:14:47,430 --> 01:14:51,710 >> Aħna fil-fatt lanqas biss jiksbu permezz kollha ta 'dan, iżda dan il-għalf kien boring. 812 01:14:51,710 --> 01:14:59,080 L-aħħar ħaġa li tip ta 'sbieħ fil-PHP huwa meta inti qed jittrattaw ma HTML, 813 01:14:59,080 --> 01:15:06,450 inti ser tuża hija daqsxejn, sabiex il-sintassi shortcut sbieħ għall-istampar ta 'varjabbli. 814 01:15:32,400 --> 01:15:36,730 Mingħajr tqegħid PHP hawn, din tissejjaħ tags qosra. 815 01:15:36,730 --> 01:15:44,330 Uffiċjalment bħala ta 'PHP 5.4, dan huwa deprecated. 816 01:15:44,330 --> 01:15:48,640 Inti huma rakkomandati biex PHP. 817 01:15:48,640 --> 01:15:55,770 Dan għadu appoġġjat, tags hekk qosra bil- 01:16:02,480 Huwa fil-kontumaċja appoġġati, sabiex inti tista 'tuża dawn kif tixtieq, u dawn qed pretty konvenjenti. 819 01:16:02,480 --> 01:16:05,700 >> Kwalunkwe mistoqsijiet? 820 01:16:07,780 --> 01:16:09,270 Kull dritt. 821 01:16:10,840 --> 01:16:13,800 >> Soġġorn classy, ​​San Diego. 822 01:16:13,800 --> 01:16:16,070 [Chuckles] 823 01:16:18,620 --> 01:16:22,660 Bye. [Laughs] 824 01:16:24,350 --> 01:16:28,470 [Applause] [laughs] 825 01:22:46,460 --> 01:22:49,460 >> [CS50.TV]