1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Kafli 8 - öruggari] 2 00:00:02,610 --> 00:00:04,910 [Rob Bowden - Harvard University] 3 00:00:04,910 --> 00:00:07,070 [Þetta er CS50. - CS50.TV] 4 00:00:11,520 --> 00:00:14,160 >> Þessar kafla viku Skýringar eru að fara að vera nokkuð stutt, 5 00:00:14,160 --> 00:00:19,070 þannig að ég ætla bara að fara að halda að tala, eruð þið að fara að halda að spyrja spurninga, 6 00:00:19,070 --> 00:00:22,720 og við munum reyna að fylla upp eins miklum tíma og mögulegt er. 7 00:00:22,720 --> 00:00:31,950 A einhver fjöldi af fólk hugsa að þessi pset er ekki endilega erfitt, en það er mjög lengi. 8 00:00:31,950 --> 00:00:37,070 The pset sérstakur sjálft tekur klukkustund að lesa. 9 00:00:40,530 --> 00:00:45,730 Við gefa þú a einhver fjöldi af the SQL þú gætir hugsanlega þurft að nota. 10 00:00:45,730 --> 00:00:50,520 Við göngum í gegnum mikið af því, svo það ætti ekki að vera svo slæmt. 11 00:00:50,520 --> 00:00:54,560 Hefur einhver byrjaði eða lokið? 12 00:00:55,380 --> 00:00:59,710 Það er síðasta pset. Ó, Guð minn. 13 00:00:59,710 --> 00:01:05,400 Venjulega er einhver JavaScript einu eftir þessu, en dagbók breyta hlutum 14 00:01:05,400 --> 00:01:09,560 gerir allt 1 viku styttra, og við höfum ekki lengur að hafa Javascript pset. 15 00:01:09,560 --> 00:01:12,310 Ég veit ekki hvernig það hefur áhrif á hvort JavaScript er að fara að birtast á prófinu 16 00:01:12,310 --> 00:01:15,510 eða próf 1. 17 00:01:15,510 --> 00:01:22,260 Ég ímynda mér að það verði að vera eitthvað eins og þú þarft að vita háttsettum hluti um Javascript, 18 00:01:22,260 --> 00:01:26,460 en ég efast um að við myndum bara gefa þér beint JavaScript kóða 19 00:01:26,460 --> 00:01:28,720 þar sem þú hefur ekki haft pset í það. 20 00:01:28,720 --> 00:01:33,000 En það mun vera efni í spurningakeppni endurskoðun í næstu viku. 21 00:01:33,000 --> 00:01:36,320 >> Hluti af spurningum. 22 00:01:36,320 --> 00:01:43,870 A einhver fjöldi af þessu efni er nokkuð illa orðuð, en við munum ræða hvers vegna. 23 00:01:43,870 --> 00:01:50,220 Ólíkt C, PHP er "virk-tegund" tungumál. Hvað þýðir þetta, spyrja þig? 24 00:01:50,220 --> 00:01:53,830 Jæja, kveðja til allra þeirra bleikju, fljóta, int, og öðrum leitarorðum sem þú þarft að nota 25 00:01:53,830 --> 00:01:56,190 þegar lýsa breytum og aðgerðir í C. 26 00:01:56,190 --> 00:02:00,420 Í PHP er tegund breytu er ákvarðast af gildi sem það er nú að halda. 27 00:02:00,420 --> 00:02:04,990 Svo áður en við slá þennan kóða inn í skrá sem kallast dynamic.php, 28 00:02:04,990 --> 00:02:12,670 PHP er mjög virk slegið. Það er satt. 29 00:02:12,670 --> 00:02:17,590 Ég er ósammála með því að það þýðir að við erum að segja bless við bleikju, fljóta, int, 30 00:02:17,590 --> 00:02:20,620 og önnur leitarorð. 31 00:02:20,620 --> 00:02:25,510 Nákvæm munur dynamically tegund og til vara, 32 00:02:25,510 --> 00:02:32,010 sem er statically tegund, er þessi dynamically tegund, allir stöðva tegund og efni 33 00:02:32,010 --> 00:02:37,350 gerist meðan hlaupa, en statically slegið það gerist á saman tíma. 34 00:02:37,350 --> 00:02:43,030 Orðið truflanir almennt virðist meina safna tíma hluti. 35 00:02:43,030 --> 00:02:48,170 Ég giska á að það eru önnur not fyrir það, en í C þegar þú lýsa truflanir breytu, 36 00:02:48,170 --> 00:02:52,650 geymsla hennar er úthlutað á saman tíma. 37 00:02:52,650 --> 00:02:59,260 Hér dynamically tegund bara þýðir að - 38 00:02:59,260 --> 00:03:04,350 Í C ef þú reynir að bæta við streng og heiltala, þegar þú þýða það, 39 00:03:04,350 --> 00:03:11,000 það er að fara að kvarta vegna þess að það er að fara að segja að þú getur ekki bætt við int og bendilinn. 40 00:03:11,000 --> 00:03:14,710 Það er bara ekki gild aðgerð. 41 00:03:14,710 --> 00:03:21,170 Það er annar hlutur sem við munum fá í annað. 42 00:03:21,170 --> 00:03:24,860 En þessi tegund af athugun, sú staðreynd að það kvartar á þýðingu tíma, 43 00:03:24,860 --> 00:03:29,220 er fast tegund stöðva. 44 00:03:29,220 --> 00:03:35,220 Það eru tungumál þar sem þú þarft ekki að segja bleikju, fljóta, int, og alla þá hluti, 45 00:03:35,220 --> 00:03:40,940 en tungumálið geta sagt frá tengslum málið hvaða tegund það er ætlast til að vera, 46 00:03:40,940 --> 00:03:43,980 en það er samt statically tegund. 47 00:03:43,980 --> 00:03:49,000 Svo ef þú tekur 51, OCaml, þú þarft aldrei að nota eitthvað af þessum tegundum, 48 00:03:49,000 --> 00:03:58,700 en það er enn mun á saman tíma segja að þú getur ekki gert þetta vegna þess að þú ert blanda á int og streng. 49 00:03:58,700 --> 00:04:05,650 Dynamically slegið þýðir bara að einhvern tíma á hlaupa tíma sem þú ert að fara að fá inn kvörtun. 50 00:04:05,650 --> 00:04:13,430 Ef þú hefur líka notað Java áður, almennt, næstum allir C-tegund tungumál 51 00:04:13,430 --> 00:04:20,070 er að fara að vera statically tegund, svo C, C + +, Java, allar þessar eru almennt statically slegin. 52 00:04:20,070 --> 00:04:22,910 Í Java þegar þú þýða eitthvað og þú ert að segja 53 00:04:22,910 --> 00:04:26,670 band s jafnt nýtt eitthvað sem er ekki band, 54 00:04:26,670 --> 00:04:28,950 sem er að fara að kvarta vegna þess að þær tegundir bara passa ekki upp. 55 00:04:28,950 --> 00:04:31,180 Það er að fara að kvarta á saman tíma. 56 00:04:31,180 --> 00:04:36,750 En það hefur einnig nokkur dynamic tíma hlutum eins og ef þú ert að reyna að varpa einhverju 57 00:04:36,750 --> 00:04:40,500 að tegund sem er nákvæmari en núverandi gerð þess, 58 00:04:40,500 --> 00:04:45,610 það er ekkert sem það getur gert á saman tíma til að athuga hvort að kastað er að fara til að ná árangri. 59 00:04:45,610 --> 00:04:51,130 Java hefur einnig nokkur dynamic tegund stöðva að um leið og það gerist að línu af kóða 60 00:04:51,130 --> 00:04:54,130 þegar það er í raun framkvæmd, það er að fara að gera kastað, 61 00:04:54,130 --> 00:04:56,260 athuga hvort að kastað var í gildi í fyrsta sæti, 62 00:04:56,260 --> 00:04:59,890 og ef það væri ekki, þá er að fara að kvarta yfir því að þú sért með ógild tegund. 63 00:04:59,890 --> 00:05:03,200 Dynamic tegund stöðva. 64 00:05:03,200 --> 00:05:07,010 Sláðu þessu inn í skrá sem kallast dynamic.php. 65 00:05:10,130 --> 00:05:12,380 Dynamic.php. 66 00:05:14,580 --> 00:05:17,190 Ég renna niður að forsníða. 67 00:05:18,750 --> 00:05:21,880 Við höfum breytu, við sett það til tölunnar 7, 68 00:05:21,880 --> 00:05:27,930 þá erum við að fara að prenta það og% s - 69 00:05:27,930 --> 00:05:32,830 Ó, erum við prentun gerð af því, svo gettype er að fara að skila tegund af breytu. 70 00:05:32,830 --> 00:05:35,720 Við erum bara að prentun gerð aftur og aftur. 71 00:05:35,720 --> 00:05:39,440 Við bara php.dynamic.php. 72 00:05:39,440 --> 00:05:45,920 Við munum sjá að það breytist frá tölunnar til band til Boolean sem við förum í gegnum. 73 00:05:45,920 --> 00:05:54,590 Í C er ekki Boolean gögn tegund, það er ekkert band gögn tegund. 74 00:05:54,590 --> 00:06:00,500 Það er char * og Boolean bara tilhneigingu til að vera int eða stafir eða eitthvað. 75 00:06:00,500 --> 00:06:05,690 Í PHP þessar tegundir ekki til, og það er einn af stóru kostum PHP yfir C - 76 00:06:05,690 --> 00:06:13,290 að band aðgerðir eru óendanlega auðveldara í PHP en C. Þeir vinna bara. 77 00:06:13,290 --> 00:06:18,290 >> Svo komum við aftur hingað. 78 00:06:18,290 --> 00:06:21,260 Við hljóp dynamic.php. 79 00:06:21,260 --> 00:06:26,710 Þetta segir PHP túlkur, sem heitir PHP, til að keyra PHP kóðann í dynamic.php. 80 00:06:26,710 --> 00:06:30,250 Ef þú hefur einhverjar villur í skrá, túlkurinn mun segja þér! 81 00:06:30,250 --> 00:06:39,110 Túlkurinn, þetta er annar stór munur á milli PHP og C. 82 00:06:39,110 --> 00:06:48,200 Í C þú þarft að safna saman eitthvað og þá hlaupa þessi vistþýddu skrá. 83 00:06:48,200 --> 00:06:50,490 Í PHP þú saman aldrei neitt. 84 00:06:50,490 --> 00:06:57,200 Svo PHP túlkur er í rauninni bara að lesa þessa línu. 85 00:06:57,200 --> 00:07:02,900 Það hits var = 7 þá slær það printf þá hits var þá smellir printf og svo framvegis. 86 00:07:02,900 --> 00:07:10,910 Það er hluti af samantekt það er, og það felustaður niðurstöður 87 00:07:10,910 --> 00:07:15,510 þannig að ef þú keyrir handrit seinna þú getur gert sumir, 88 00:07:15,510 --> 00:07:19,280 en í grundvallaratriðum er það lína af tegund línu af hlutur. 89 00:07:19,280 --> 00:07:25,280 Það þýðir að mikið af þeim hagræðingar sem við fáum í C, 90 00:07:25,280 --> 00:07:31,920 eins og setja saman, það er bara almennt þýðandi getur gert mikið af bragðarefur fyrir þig. 91 00:07:31,920 --> 00:07:36,110 Það getur tekið út ónotaður breytur, það getur gert alla þessa tegund af hlutur, 92 00:07:36,110 --> 00:07:38,660 það er hægt að gera hali endurkvæmni. 93 00:07:38,660 --> 00:07:42,550 Í PHP þú ert ekki að fara að fá að nýta 94 00:07:42,550 --> 00:07:45,690 því það er bara að fara að byrja að framkvæma línu fyrir línu, 95 00:07:45,690 --> 00:07:49,950 og það er í raun ekki viðurkenna þetta eins auðveldlega 96 00:07:49,950 --> 00:07:54,440 þar sem það er ekki 1 stór samantekt fara yfir málið og þá framkvæmd; 97 00:07:54,440 --> 00:07:56,860 það er bara lína eftir línu. 98 00:08:00,730 --> 00:08:02,750 Svo sem túlkur. 99 00:08:02,750 --> 00:08:06,840 >> Baka til dynamic slá okkar: laglegur kaldur, ha? 100 00:08:06,840 --> 00:08:08,640 Þú ákveðið gat ekki gert það í C! 101 00:08:08,640 --> 00:08:11,860 Nú, sjá hvort þú getur fundið út hvaða hver af eftirfarandi gildum. 102 00:08:11,860 --> 00:08:14,760 Sjá þetta til viðmiðunar. 103 00:08:14,760 --> 00:08:19,420 Svo 3.50. Hvaða tegund finnst þér það er að fara að vera? 104 00:08:24,480 --> 00:08:26,370 Hér eru þær tegundir sem við höfum. 105 00:08:26,370 --> 00:08:30,430 Við höfum bools, heiltölur, fljótandi stig, strengir, fylki, hlutir, 106 00:08:30,430 --> 00:08:38,370 og auðlindir, sem er eins konar óljóst. 107 00:08:38,370 --> 00:08:41,010 Ég held að það er í raun dæmi hér. 108 00:08:41,010 --> 00:08:43,740 Þá er það NULL. NULL er sérstök tegund. 109 00:08:43,740 --> 00:08:47,140 Ólíkt C þar NULL er bara músina með tölu 0, 110 00:08:47,140 --> 00:08:54,930 í PHP, NULL er eigin tegund hennar þar sem aðeins gild hlutur af þeirri tegund er NULL. 111 00:08:57,560 --> 00:09:00,670 Þetta er miklu meira gagnlegt að stöðva villa. 112 00:09:00,670 --> 00:09:04,310 Í C þar sem við höfðum þetta mál þar sem ef þú skila NULL, 113 00:09:04,310 --> 00:09:08,660 þýðir það að þú ert að skila NULL músina eða nota NULL til að signify villa 114 00:09:08,660 --> 00:09:12,380 eða allt það rugl sem við átti á einum stað. 115 00:09:12,380 --> 00:09:18,440 Hér, aftur NULL yfirleitt þýðir villa. 116 00:09:20,860 --> 00:09:27,300 A einhver fjöldi af hlutur aftur einnig rangt fyrir villa. 117 00:09:27,300 --> 00:09:33,140 En málið er NULL tegund, eina í NULL tegund er NULL. 118 00:09:33,140 --> 00:09:40,090 Þá er svarhringingu eins og þú getur skilgreint nokkrar nafnlausar aðgerðir. 119 00:09:40,090 --> 00:09:46,420 Þú þarft ekki að gefa aðgerðina nafn, en þú þarft ekki að takast á við það hér. 120 00:09:46,420 --> 00:09:53,940 Þegar litið er á þær tegundir sem þeir búast við okkur til að vita, 121 00:09:53,940 --> 00:09:59,000 hvað finnst þér um tegund af 3,50 er? >> [Nemandi] Fljóta. 122 00:09:59,000 --> 00:10:00,370 Já. 123 00:10:00,370 --> 00:10:06,290 Svo hér, hvað finnst þér um tegund þetta er? >> [Nemandi] Array. 124 00:10:06,290 --> 00:10:09,890 Já. Sú fyrsta var fljóta, annað er fylki. 125 00:10:09,890 --> 00:10:14,500 Takið eftir að þetta fylki er ekki eins og C array 126 00:10:14,500 --> 00:10:19,610 þar sem þú hefur yfirlit 0 hefur einhverja gildi, 1 er vísitala neysluverðs hefur sumir gildi. 127 00:10:19,610 --> 00:10:26,320 Hér vísitölur eru a, b, og c og gildin eru 1, 2, og 3. 128 00:10:26,320 --> 00:10:33,980 Í PHP er engin munur milli tengin array og bara venjulegur array 129 00:10:33,980 --> 00:10:36,740 eins og þú vildi hugsa um það í C. 130 00:10:36,740 --> 00:10:43,040 Það er bara þetta, og undir hetta reglulega array er bara tengin array 131 00:10:43,040 --> 00:10:50,000 þar sem 0 Kort í nokkur gildi á sama hátt og kort til nokkur gildi. 132 00:10:50,000 --> 00:11:00,410 Af þessum sökum, PHP geta vera laglegur slæmt fyrir mjög fljótur kóða / kvóti hluti 133 00:11:00,410 --> 00:11:07,930 síðan í C þegar þú ert að nota array þú veist að fá aðgang meðlimur er stöðug skipti. 134 00:11:07,930 --> 00:11:11,860 Í PHP aðgang meðlimur er sem veit hversu mikinn tíma? 135 00:11:11,860 --> 00:11:18,970 Það er líklega stöðugt ef það kjötkássa rétt. 136 00:11:18,970 --> 00:11:21,620 Hver veit hvað það er í raun að gera undir hetta? 137 00:11:21,620 --> 00:11:25,600 Þú þarft virkilega að líta á framkvæmd til að sjá hvernig það er að fara að takast á við það. 138 00:11:25,600 --> 00:11:28,550 Svo fopen. 139 00:11:28,550 --> 00:11:36,420 Ég held að hér skulum bara PHP handbók fopen að horfa á aftur gerð. 140 00:11:36,420 --> 00:11:41,260 Við sjáum hér að þú getur litið upp nánast allir virka í PHP handbók 141 00:11:41,260 --> 00:11:47,540 og þetta er svona að maður síðu PHP. 142 00:11:47,540 --> 00:11:51,060 Afrakstur tegund er að fara að vera auðlind. 143 00:11:51,060 --> 00:11:56,050 Það er ástæða þess að ég leit upp, vegna þess að við vissum ekki í raun skilgreina auðlind. 144 00:11:56,050 --> 00:12:04,110 Hugmyndin um auðlind, í C Manni fékk skrá * eða hvað; 145 00:12:04,110 --> 00:12:07,200 í PHP úrræði er FILE * þinn. 146 00:12:07,200 --> 00:12:10,360 Það er það sem þú ert að fara að vera að lesa frá, það er það sem þú ert að fara að skrifa í. 147 00:12:10,360 --> 00:12:20,710 Það er yfirleitt ytri, svo það er úrræði sem þú getur rífa það úr og kasta hlutum til. 148 00:12:20,710 --> 00:12:26,520 Og að lokum, hvað er tegund NÚLL? >> [Nemandi] NULL. 149 00:12:26,520 --> 00:12:30,650 Já. Svo er það eina sem er NÚLL NÚLL. 150 00:12:30,650 --> 00:12:33,480 NULL er NULL. 151 00:12:35,490 --> 00:12:41,170 >> Einn eiginleiki kerfisins tegund PHP (fyrir betri eða verri) er geta hennar til að juggle gerðir. 152 00:12:41,170 --> 00:12:44,390 Þegar þú skrifar línu af PHP kóða sem sameinar gildi af mismunandi gerðum, 153 00:12:44,390 --> 00:12:46,670 PHP mun reyna að gera það skynsamlegt. 154 00:12:46,670 --> 00:12:48,920 Prófaðu hvert eftirfarandi línum af PHP kóða. Hvað er prentað út? 155 00:12:48,920 --> 00:12:51,000 Er það það sem þú bjóst við? Hvers vegna eða hvers vegna ekki? 156 00:12:51,000 --> 00:12:58,600 Þessi staðreynd um PHP er það sem gerir það hvað sem við köllum veikt tegund. 157 00:12:58,600 --> 00:13:04,610 Veikt tegund og mjög tegund, 158 00:13:04,610 --> 00:13:06,840 Það eru mismunandi not fyrir þau hugtök 159 00:13:06,840 --> 00:13:12,020 en flestir nota veikt tegund og mjög tegund að meina þetta svoleiðis 160 00:13:12,020 --> 00:13:15,920 þar ("1" + 2), sem virkar. 161 00:13:15,920 --> 00:13:18,290 Í C sem myndi ekki virka. 162 00:13:18,290 --> 00:13:22,490 Þú getur ímyndað þér það ekki virka. 163 00:13:22,490 --> 00:13:29,200 A einhver fjöldi af fólk blanda upp dynamic slá og veikburða vélritun og truflanir vélritun og sterk slá. 164 00:13:29,200 --> 00:13:34,050 Python er annað dæmi um mál sem er mjög virk slegin. 165 00:13:34,050 --> 00:13:41,770 Þú getur kastað í kringum gerðum í breytur og það er að fara að ákveða á hlaupa tíma 166 00:13:41,770 --> 00:13:44,680 einhverjar villur checkings. 167 00:13:44,680 --> 00:13:50,740 Í Python það er að fara að framkvæma þetta og það mun sjá ("1" + 2); 168 00:13:50,740 --> 00:13:55,920 og þetta mun mistakast vegna þess að það segir að þú getur ekki bæta við streng og heiltala. 169 00:13:55,920 --> 00:14:00,860 Í PHP, sem er bara eins og breytilega tegund, þetta mun ekki mistakast. 170 00:14:00,860 --> 00:14:04,220 Veik slá hefur að gera með þá staðreynd að það er hluti við gerðum 171 00:14:04,220 --> 00:14:07,800 sem í raun ekki skynsamleg endilega. 172 00:14:07,800 --> 00:14:17,420 Svo ("1" + 2), ég get ímyndað mér að vera band 12, ég get ímyndað mér það að vera band 3, 173 00:14:17,420 --> 00:14:20,710 Ég get ímyndað mér að það að vera heil tala 3. 174 00:14:20,710 --> 00:14:24,530 Það er ekki endilega vel skilgreind, og við erum líklega að fara að sjá hér 175 00:14:24,530 --> 00:14:29,140 að þegar við prentað ("1" + 2), það er líklega að fara að enda að vera öðruvísi 176 00:14:29,140 --> 00:14:32,320 en prentun (1 + "2"). 177 00:14:32,320 --> 00:14:39,700 Og þetta hefur tilhneigingu til að vera, að mínu mati, til hins verra. 178 00:14:39,700 --> 00:14:44,240 Hér getur reynt þetta. 179 00:14:44,240 --> 00:14:48,740 Annar smá bragð um PHP er að þú þarft ekki að raunverulega skrifa skrána. 180 00:14:48,740 --> 00:14:52,790 Það þýðir að hafa keyrt þessa skipun ham. 181 00:14:52,790 --> 00:14:57,710 Svo PHP-R, þá getum við kasta í stjórn hér: 182 00:14:57,710 --> 00:15:06,610 "Prenta ('1 '+ 2)," og ég mun kasta nýja línu. 183 00:15:19,550 --> 00:15:23,970 Þetta prenta 3. 184 00:15:31,100 --> 00:15:35,330 Það lítur út eins og það prentar 3 og það er heil tala 3. 185 00:15:35,330 --> 00:15:38,420 Svo nú skulum við reyna á hinn veginn: 186 00:15:38,420 --> 00:15:42,970 "Prenta (1 + 2"); 187 00:15:45,560 --> 00:15:50,490 Við fáum 3, og er það að fara líka að vera heil tala 3? Ég hef heiðarlega ekki hugmynd. 188 00:15:50,490 --> 00:15:54,030 Það lítur út eins og það er í samræmi. 189 00:15:54,030 --> 00:15:59,550 Það er aldrei nein hætta á því að vera band 12 eða eitthvað svoleiðis 190 00:15:59,550 --> 00:16:08,080 vegna PHP, ólíkt JavaScript og Java líka, 191 00:16:08,080 --> 00:16:11,670 hefur sérstakt stjórnandi fyrir samtenging. 192 00:16:11,670 --> 00:16:14,930 Concatenation í PHP er punktur. 193 00:16:14,930 --> 00:16:22,950 Svo prentun (1 '2 '.), Er að fara að gefa okkur 12. 194 00:16:25,790 --> 00:16:32,420 Þetta hefur tilhneigingu til að leiða til óreiða þar sem fólk reynir að gera eitthvað eins og STR + = 195 00:16:32,420 --> 00:16:37,840 einhver annar hlutur sem þeir vilja til að bæta við á að í lok band þeirra, og það er að fara til að mistakast. 196 00:16:37,840 --> 00:16:40,770 Þú þarft að gera STR. = 197 00:16:42,000 --> 00:16:46,240 Svo má ekki gleyma samtenging í PHP er punktur. 198 00:16:46,240 --> 00:16:52,100 Annað atriði sem þarf að reyna: prenta ("CS" + 50); 199 00:16:55,750 --> 00:17:03,610 Ég hef sagt þér að það er engin von um þetta leiðir CS50 200 00:17:03,610 --> 00:17:06,119 síðan samtenging er ekki +. 201 00:17:06,119 --> 00:17:08,440 Hvað finnst þér þetta er að fara að enda að vera? 202 00:17:10,359 --> 00:17:13,460 Ég hef heiðarlega alls enga hugmynd. 203 00:17:14,250 --> 00:17:16,460 Það lítur út eins og það er bara 50. 204 00:17:16,460 --> 00:17:21,490 Það sér band, og ég veðja ef við setjum 123CS - 205 00:17:21,490 --> 00:17:29,640 Það sér fyrsta band, reynir hann að lesa heiltölu af því eða fjölda af því. 206 00:17:29,640 --> 00:17:31,710 Í þessu tilviki það lítur 123CS. 207 00:17:31,710 --> 00:17:35,190 "Það er ekki skynsamleg sem heiltölu, þannig að ég ætla bara að fara að hugsa af 123." 208 00:17:35,190 --> 00:17:38,580 Svo 123 + 50 er að fara að vera 173. 209 00:17:38,580 --> 00:17:40,740 Og hér fer hann að lesa þetta sem heiltala. 210 00:17:40,740 --> 00:17:45,690 Það þýðir ekki neitt, svo það skemmtun bara sem 0. Svo 0 + 50 er að fara að vera 50. 211 00:17:45,690 --> 00:17:51,600 Þetta sem ég er hrokafullur er að fara að gera eitthvað svipað. 212 00:17:51,600 --> 00:17:54,310 Ég er að hugsa 99. 213 00:17:54,310 --> 00:17:57,580 Já, vegna þess að það er að fara að taka fyrsta - 214 00:18:12,880 --> 00:18:15,730 Svo 99. 215 00:18:15,730 --> 00:18:21,970 Hér (10/7), ef þetta væri C, hvað myndi það aftur? 216 00:18:23,700 --> 00:18:29,630 [Nemandi] 1. >> Já, það vildi vera 1 því 10/7 er að deila 2 heiltölur. 217 00:18:29,630 --> 00:18:32,910 Heiltala deilt með heiltölu er að fara að skila heiltölu. 218 00:18:32,910 --> 00:18:37,750 Það er ekki hægt að skila 1 stig hvað sem væri, svo það er bara að fara að skila 1. 219 00:18:37,750 --> 00:18:46,120 Hér prentun (10/7), það er að fara að í raun túlka það. 220 00:18:46,120 --> 00:18:53,760 Og þetta þýðir að ef þú vilt í raun að gera tölustafi lokið máli mínu og eitthvað svoleiðis, 221 00:18:53,760 --> 00:18:59,950 þú þarft að gera prenta (hæð (10/7)); 222 00:18:59,950 --> 00:19:08,460 Í C er það líklega undarlegt að þú getur treyst á heiltölu truncation reglulega, 223 00:19:08,460 --> 00:19:12,260 en í PHP er ekki hægt vegna þess að það vilja á sjálfvirkan hátt snúa það inn í a flot. 224 00:19:13,430 --> 00:19:17,610 Og svo (7 + satt), hvað finnst þér það er að fara að vera? 225 00:19:18,550 --> 00:19:23,640 Ég giska á 8 ef það er að fara að túlka rétt eins og 1. 226 00:19:23,640 --> 00:19:25,740 Það lítur út eins og það er 8. 227 00:19:25,740 --> 00:19:31,710 >> Svo eitthvað sem við höfum gert á síðustu 10 mínútum ættir þú alveg aldrei gera. 228 00:19:31,710 --> 00:19:39,870 Þú munt sjá kóða sem gerir þetta. 229 00:19:39,870 --> 00:19:42,700 Það þarf ekki að vera eins einfalt og þetta. 230 00:19:42,700 --> 00:19:47,240 Þú gætir hafa 2 breytur, og 1 breytu gerast til vera a band 231 00:19:47,240 --> 00:19:51,310 og önnur verðbréf með breytilegum gerist að vera int, og þá bæta við þessar breytur saman. 232 00:19:51,310 --> 00:20:00,120 Þar PHP er mjög virk tegund og það mun ekki gera allir tegund stöðva fyrir þig 233 00:20:00,120 --> 00:20:03,640 og þar sem það er veikt tegund og þar sem það verður bara sjálfkrafa kasta þetta saman 234 00:20:03,640 --> 00:20:11,490 og allt verður bara vinna, það er erfitt að jafnvel vita að breyta verður að vera band nú, 235 00:20:11,490 --> 00:20:14,930 þannig að ég ætti ekki að bæta því við þessa breytu, sem er heiltala. 236 00:20:18,780 --> 00:20:24,560 Best Practice er ef breytu er a band, halda henni eins og streng eilífu. 237 00:20:24,560 --> 00:20:26,980 Ef breyta er int, halda henni eins og int eilífu. 238 00:20:26,980 --> 00:20:30,770 Ef þú vilt að takast á við heiltölur og strengi, 239 00:20:30,770 --> 00:20:36,970 þú getur notað varsint - það er JavaScript. 240 00:20:36,970 --> 00:20:42,520 Intval. Ég gera þetta allan tímann. PHP og Javascript Ég ruglast allt. 241 00:20:42,520 --> 00:20:47,600 Svo intval er að fara að skila heiltala gildi breytu. 242 00:20:47,600 --> 00:20:56,550 Ef við fara í "Print (intval ('123 ')), þú færð 123. 243 00:21:06,820 --> 00:21:15,850 Intval sjálft er ekki að fara að gera að athuga fyrir okkur að það er eingöngu heiltala. 244 00:21:15,850 --> 00:21:20,460 The PHP handbók, það eru bara svo margar aðgerðir í boði, 245 00:21:20,460 --> 00:21:26,560 svo hér er ég held að það sem ég myndi nota er is_numeric fyrst. 246 00:21:26,560 --> 00:21:32,590 Ég giska á að skila falskur. 247 00:21:32,590 --> 00:21:35,780 Það er annað sem við þurfum að fara yfir er ===. 248 00:21:37,850 --> 00:21:44,020 Svo is_numeric (''123df), myndir þú ekki hugsa um það sem is_numeric. 249 00:21:44,020 --> 00:21:46,720 Í C þú þyrftir að iterate yfir alla stafina 250 00:21:46,720 --> 00:21:50,410 og athuga hvort hvert eðli er stafa eða hvað. 251 00:21:50,410 --> 00:21:53,850 Hér is_numeric er að fara að gera það fyrir okkur, 252 00:21:53,850 --> 00:21:56,520 og það er aftur rangt. 253 00:21:56,520 --> 00:22:02,120 Svo þegar ég prenta það, prenta það ekkert, svo hér er ég að bera saman það að sjá, 254 00:22:02,120 --> 00:22:05,490 gerðir þú skyldir vera falskur? Og svo nú er prentun 1. 255 00:22:05,490 --> 00:22:10,060 Virðist prentar það 1 og satt í stað þess að prenta rétt eins og sannur. 256 00:22:10,060 --> 00:22:15,790 Ég velti því ef ég print_r. Nei, er það enn 1. 257 00:22:15,790 --> 00:22:26,760 >> Fara aftur til ===, == er enn, 258 00:22:26,760 --> 00:22:32,260 og ef þú talar við Tommy hann segi == er fullkomlega í lagi. 259 00:22:32,260 --> 00:22:37,700 Ég ætla að segja að == er hræðileg og þú ættir aldrei að nota ==. 260 00:22:37,700 --> 00:22:44,870 Munurinn er sá að == saman hluti 261 00:22:44,870 --> 00:22:48,450 þar sem það getur verið satt, jafnvel ef þeir eru ekki sama tegund, 262 00:22:48,450 --> 00:22:53,810 en === saman hlutina og fyrst það eftirlit eru þeir sömu tegund? 263 00:22:53,810 --> 00:22:58,010 Já. Jæja, nú ætla ég að sjá hvort þeir bera í raun að vera jafnir. 264 00:22:58,010 --> 00:23:08,890 Þú færð undarlegt hluti eins og 10 jafngildir - við skulum sjá hvað það segir. 265 00:23:08,890 --> 00:23:15,570 Svo ('10 '== '1 E1'); 266 00:23:15,570 --> 00:23:17,980 Þetta skilar satt. 267 00:23:17,980 --> 00:23:21,420 Hefur einhver hefur einhverjar ágiskanir að þetta skilar satt? 268 00:23:25,180 --> 00:23:27,120 Það er ekki bara um það. Kannski er þetta vísbending. 269 00:23:27,120 --> 00:23:33,170 En ef ég breytt því að F - fjári það! Ég að halda áfram að nota gæsalappa. 270 00:23:33,170 --> 00:23:38,780 Ástæðan er gæsalappa eru æpa á mig er vegna þess að ég hef sett þetta í gæsalöppum. 271 00:23:38,780 --> 00:23:43,850 Svo ég gæti undan gæsalappa hér, en einn vitna gera það auðveldara. 272 00:23:43,850 --> 00:23:49,120 Svo ('10 '== '1 F1'); ekki prenta satt. ('10 '== '1 E1'); prentar satt. 273 00:23:49,120 --> 00:23:56,330 [Nemandi] Er það álög? >> Það ekki álög, en það er nálægt því að það er eins og - 274 00:23:56,330 --> 00:24:01,060 1e1, vísindaleg tákn. 275 00:24:01,060 --> 00:24:07,950 Það viðurkennir 1e1 og 1 * 10 ^ 1 eða hvað sem er. 276 00:24:07,950 --> 00:24:11,510 Þeir eru jafnir heiltölur. 277 00:24:11,510 --> 00:24:15,930 Ef við gerum === þá það er að fara að vera falskur. 278 00:24:15,930 --> 00:24:28,490 Ég hef reyndar ekki hugmynd um hvort við gerum == hvað um (10 og ''10abc);? Allt í lagi. Svo er það satt. 279 00:24:28,490 --> 00:24:35,940 Svo bara eins og þegar þú gerðir (10 + ''10abc), og það væri 20, 280 00:24:35,940 --> 00:24:38,800 hér (10 == ''10abc), er satt. 281 00:24:38,800 --> 00:24:45,350 Jafnvel verra eru hlutir eins og (falskur == NULL); er satt 282 00:24:45,350 --> 00:24:52,210 eða (ósatt == 0); er satt, (ósatt == []); 283 00:24:52,210 --> 00:25:00,970 Það eru undarlegt tilfelli - það er einn af þeim undarlegt tilvikum. 284 00:25:00,970 --> 00:25:08,110 Takið eftir því (falskur == []); er satt. 285 00:25:08,110 --> 00:25:11,950 ('0 '== False), er satt. 286 00:25:11,950 --> 00:25:16,090 ('0 '== []); Er falskur. 287 00:25:16,090 --> 00:25:19,090 Svo == er á engan hátt gegnvirk. 288 00:25:19,090 --> 00:25:26,830 a getur verið jafn b og getur verið jafn c, 289 00:25:26,830 --> 00:25:29,340 en B gæti ekki verið jöfn c. 290 00:25:29,340 --> 00:25:35,580 Það er andstyggilegt að mér, og þú ættir alltaf að nota ===. 291 00:25:35,580 --> 00:25:38,590 [Nemandi] getum við gert! == Eins og heilbrigður? >> [Bowden] Já. 292 00:25:38,590 --> 00:25:44,600 Samsvarandi væri! = Og! ==. 293 00:25:44,600 --> 00:25:48,230 Þetta er reyndar alinn upp í pset sérstakur 294 00:25:48,230 --> 00:25:52,000 þar sem mikið af virka aftur - 295 00:25:52,000 --> 00:25:53,890 The PHP handbók er gott um þetta. 296 00:25:53,890 --> 00:25:59,140 Það setur í stórum rauðum kassa, "Þetta mun skila rangt ef það er villa." 297 00:25:59,140 --> 00:26:03,940 En aftur 0 er fullkomlega sanngjarn hlutur til að fara aftur. 298 00:26:03,940 --> 00:26:08,250 Hugsaðu um hvaða aðgerð sem er gert ráð fyrir að skila heiltölu. 299 00:26:11,250 --> 00:26:17,880 Við skulum segja að þetta hlutverk er ætlað að telja fjölda lína í skrá eða eitthvað. 300 00:26:17,880 --> 00:26:23,490 Undir venjulegum kringumstæðum, framhjá þér þessi aðgerð skrá 301 00:26:23,490 --> 00:26:27,120 og það er að fara að skila heiltölu sem táknar fjölda lína. 302 00:26:27,120 --> 00:26:30,820 Svo er 0 a fullkomlega sanngjarnt númer ef skráin er bara tóm. 303 00:26:30,820 --> 00:26:36,810 En hvað ef það líður yfir það ógilt skrá og virka gerist aftur falskur 304 00:26:36,810 --> 00:26:38,860 ef það líður yfir það ógilda skrá? 305 00:26:38,860 --> 00:26:46,500 Ef þú bara == þú ert ekki aðgreining málið milli ógilda skrá og tómur skrá. 306 00:26:48,870 --> 00:26:51,350 Alltaf nota ===. 307 00:26:55,690 --> 00:26:58,000 Það er allt af þeim. 308 00:26:58,000 --> 00:27:01,660 >> Í PHP er array tegund er frábrugðin því sem þú ert að nota til að í C. 309 00:27:01,660 --> 00:27:06,650 Reyndar getur þú hefur þegar tekið eftir þessu hér að ofan þegar þú sást að þetta er array tegund. 310 00:27:06,650 --> 00:27:15,640 The krappi setningafræði er nýtt og af PHP 5,4, sem er nýjasta útgáfa af PHP. 311 00:27:15,640 --> 00:27:36,960 Áður en þetta þú þurftir alltaf að skrifa array ('a "-> 1,' B" -> 2. 312 00:27:36,960 --> 00:27:41,160 Það var framkvæmdaaðila fyrir fylki. 313 00:27:41,160 --> 00:27:45,950 Nú PHP hefur loksins komið í kring að ágætur setningafræði aðeins hornklofum, 314 00:27:45,950 --> 00:27:50,900 sem er bara svo miklu betri en fylki. 315 00:27:50,900 --> 00:27:54,480 En miðað við PHP 5,4 er nýjasta útgáfa, 316 00:27:54,480 --> 00:27:59,090 þú getur fundur stöðum sem gera ekki einu sinni hafa PHP 5.3. 317 00:27:59,090 --> 00:28:08,220 Á sumrin við hljóp inn í þetta mál þar sem PHP 5,3 var það sem við höfðum á tækinu, 318 00:28:08,220 --> 00:28:14,480 en þjóninn sem við dreifa öllum okkar bekk bók og senda og allt það efni til 319 00:28:14,480 --> 00:28:16,750 var PHP 5.4. 320 00:28:16,750 --> 00:28:23,060 Ekki vita þetta, við þróað í 5.3, ýtt til 5,4, 321 00:28:23,060 --> 00:28:25,660 og nú virkar allt í einu enginn af kóða okkar 322 00:28:25,660 --> 00:28:28,680 vegna þess að það gerðist hafa verið breytingar á milli 5,3 og 5,4 323 00:28:28,680 --> 00:28:31,030 sem eru ekki aftur samhæft, 324 00:28:31,030 --> 00:28:35,770 og við verðum að fara og festa alla hluti okkar sem virka ekki fyrir PHP 5.4. 325 00:28:39,210 --> 00:28:42,320 Í þessum flokki hafa þar sem tæki er PHP 5,4, 326 00:28:42,320 --> 00:28:45,490 það er fullkomlega í lagi að nota hornklofa. 327 00:28:47,240 --> 00:28:50,440 En ef þú ert að leita upp hluti um internetið, 328 00:28:50,440 --> 00:28:54,880 Ef þú ert að leita upp einhvers konar efni array, líklegur þú ert að fara að sjá 329 00:28:54,880 --> 00:29:02,020 að stafa út array framkvæmdaaðila setningafræði þar sem hefur verið í kring síðan PHP fæddist 330 00:29:02,020 --> 00:29:07,340 og veldi krappi setningafræði hefur verið í kring fyrir the fortíð mánuði par 331 00:29:07,340 --> 00:29:10,020 eða þegar 5,4 kom í kring. 332 00:29:10,020 --> 00:29:12,710 Þetta er hvernig þú vísitölu. 333 00:29:12,710 --> 00:29:30,610 Rétt eins og í C hvernig þú vildi vísitalan um hornklofum eins og $ array [0], $ array [1], $ array [2], 334 00:29:30,610 --> 00:29:36,320 þú vísitölu á sama hátt ef þú átt í vísitölur sem verið strengir. 335 00:29:36,320 --> 00:29:40,440 Svo $ array ['a'] og $ array ['B']. 336 00:29:40,440 --> 00:29:47,410 $ Array [b]. Hvers vegna myndi þetta vera rangt? 337 00:29:52,490 --> 00:29:59,870 Það mun líklega búa viðvörun en samt vinna. PHP hefur tilhneigingu til að gera það. 338 00:29:59,870 --> 00:30:04,890 Það hefur tilhneigingu til að bara, "ég ætla að vara þig um þetta, en ég ætla bara að fara að halda áfram 339 00:30:04,890 --> 00:30:07,550 "Og gera allt sem ég get." 340 00:30:07,550 --> 00:30:11,500 Það mun sennilega þýða þetta streng, 341 00:30:11,500 --> 00:30:15,000 en það er mögulegt að á einhverjum tímapunkti í fortíð einhver sagði 342 00:30:15,000 --> 00:30:20,180 skilgreina b vera "Hello World". 343 00:30:20,180 --> 00:30:28,740 Svo nú B gæti verið stöðug og $ array [b] verður í raun að vera að gera "Hello World". 344 00:30:28,740 --> 00:30:32,380 Ég held að á þessum tímapunkti, eða að minnsta kosti okkar PHP stillingar, 345 00:30:32,380 --> 00:30:37,870 Ef þú ert að reyna að skrá inn fjölda og lykill er ekki til, mun það mistakast. 346 00:30:37,870 --> 00:30:40,150 Ég held ekki að það verður bara að vara þig við. 347 00:30:40,150 --> 00:30:44,560 Eða að minnsta kosti er hægt að stilla það þannig að það er ekki bara að vara þig við, bara beint ekki upp. 348 00:30:44,560 --> 00:30:49,290 >> The vegur þú athuga hvort það raunverulega er svo vísitala er isset. 349 00:30:49,290 --> 00:30:54,690 Svo isset ($ array ['HELLO WORLD']) mun skila falskur. 350 00:30:54,690 --> 00:30:59,160 isset ($ array ["b"]) aftur satt. 351 00:31:06,830 --> 00:31:09,880 Þú getur blandað þessum syntaxes. 352 00:31:15,060 --> 00:31:22,440 Ég er nokkuð viss um hvað þetta array myndi enda upp tilvera er - Við getum prófað það út. 353 00:31:43,290 --> 00:31:45,700 Oh, ég þarf PHPWord. 354 00:31:53,960 --> 00:32:00,260 Þetta er blanda setningafræði þar sem þú tilgreinir hvað lykillinn er 355 00:32:00,260 --> 00:32:03,330 og þú tilgreinir ekki hvað lykillinn er. 356 00:32:03,330 --> 00:32:05,520 Svo er 3 hérna gildi. 357 00:32:05,520 --> 00:32:08,080 Þú hefur ekki beinlínis sagt hvað lykillinn er að fara til vera. 358 00:32:08,080 --> 00:32:11,670 Hvað finnst þér lykillinn er að fara að vera? 359 00:32:11,670 --> 00:32:21,410 [Nemandi] 0. >> Ég giska 0 einungis vegna þess að það er sá fyrsti sem við höfum ekki tilgreint. 360 00:32:21,410 --> 00:32:23,500 Við getum í raun gera a par af þessum tilvikum. 361 00:32:23,500 --> 00:32:28,030 Svo print_r prenta endurkvæma. Það verður að prenta alla array. 362 00:32:28,030 --> 00:32:32,700 Það myndi prenta subarrays af fylki ef það voru einhver. 363 00:32:32,700 --> 00:32:36,630 Svo print_r ($ array); php.test.php. 364 00:32:36,630 --> 00:32:38,810 Það hjartarskinn útlit eins og það gaf 0. 365 00:32:38,810 --> 00:32:43,530 Það er í raun eitthvað til að hafa í huga hér, en við munum fá til baka það í annað. 366 00:32:43,530 --> 00:32:45,850 En hvað ef ég gerst að gera þetta 1 er vísitala neysluverðs? 367 00:32:45,850 --> 00:32:51,170 PHP er ekki greinarmun á milli vísitalna band og heiltölu vísitölum 368 00:32:51,170 --> 00:33:00,280 svo á þessum tímapunkti sem ég hef bara skilgreint vísitölu 1 og ég get gert bæði $ array [1] og $ fylking ['1 '] 369 00:33:00,280 --> 00:33:06,250 og það mun vera sú sama vísitala og sama takka. 370 00:33:06,250 --> 00:33:13,000 Svo nú hvað finnst þér 3 er að fara að vera? >> [Nemandi] 2. >> [Bowden] Ég giska á 2. 371 00:33:16,000 --> 00:33:18,690 Já. Það er 2. 372 00:33:18,690 --> 00:33:24,790 Hvað ef við gerðum þetta er 10, þetta er 4? Hvað telur þú að vísitala 3 er að fara að vera? 373 00:33:27,360 --> 00:33:29,110 Ég er að hugsa 11. 374 00:33:29,110 --> 00:33:33,060 Minn giska á um hvað PHP er - og ég held að ég hef séð þetta áður - 375 00:33:33,060 --> 00:33:39,760 er það heldur bara utan um það hæsta tölugildi vísitölu það er notað svo langt er. 376 00:33:39,760 --> 00:33:44,230 Það er aldrei að fara að tengja strenginn vísitölu 3. Það verður alltaf að vera tölugildi vísitölu. 377 00:33:44,230 --> 00:33:47,690 Svo heldur hún utan um hæsta einn það er úthlutað svo langt, sem gerist að vera 10, 378 00:33:47,690 --> 00:33:52,540 og það er að fara að gefa 11-3. 379 00:33:52,540 --> 00:34:02,110 Það sem ég sagði áður, eftir því hvernig það er að prenta þetta fylki. 380 00:34:02,110 --> 00:34:06,850 Það prentar helstu 10, lykill 4, lykill 11, lykill d. 381 00:34:06,850 --> 00:34:09,790 Eða jafnvel skulum gera - 382 00:34:15,760 --> 00:34:22,489 Ég held ég hafi ekki sett 0, en það er prentun 1, 2, 3, 4. 383 00:34:22,489 --> 00:34:29,330 Hvað ef ég skipti hér? Eða við skulum í raun skipta þessir 2. 384 00:34:29,330 --> 00:34:31,940 Nú prentar það 2, 1, 3, 4. 385 00:34:31,940 --> 00:34:41,270 Fylki PHP eru ekki bara eins og venjulegur kjötkássa töflunni. 386 00:34:41,270 --> 00:34:45,570 Það er fullkomlega eðlilegt að hugsa um þá eins og hash töflu 99% af þeim tíma. 387 00:34:45,570 --> 00:34:53,790 En í hash töflur það er ekkert vit í þeirri röð sem það var sett. 388 00:34:53,790 --> 00:34:56,639 Svo um leið og þú setur það inn í kjötkássa töflunni, 389 00:34:56,639 --> 00:35:00,590 ráð fyrir að það er ekkert tengt lista og þú gætir dæma innan tengda listanum 390 00:35:00,590 --> 00:35:03,980 sem var sett fyrst. 391 00:35:03,980 --> 00:35:10,060 En hér við bætist 2 fyrst og það veit hvenær það er að prenta út þessa array sem 2 kemur fyrst. 392 00:35:10,060 --> 00:35:13,090 Það þýðir ekki að prenta það út í bara hvaða röð. 393 00:35:13,090 --> 00:35:17,550 The tæknilega gögn uppbygging sem það er með er pantað kort, 394 00:35:17,550 --> 00:35:24,690 svo það kort sem sýna takkana til gildi og það man í hvaða röð þessir lyklar voru sett. 395 00:35:24,690 --> 00:35:31,600 Í grundvallaratriðum er það að sumir fylgikvilla þar sem það er pirrandi að í raun og veru - 396 00:35:31,600 --> 00:35:34,510 Segjum að þú ert með array 0, 1, 2, 3, 4, 5 397 00:35:34,510 --> 00:35:37,700 og þú vilt að taka út yfirlit 2. 398 00:35:37,700 --> 00:35:47,750 Ein leið til að gera það, við skulum sjá hvað það lítur út. 399 00:35:47,750 --> 00:35:50,410 0, 2, 1, 3, 4. 400 00:35:50,410 --> 00:35:54,880 Afvalið gerist afvalið bæði breytur og array vísitölur. 401 00:35:54,880 --> 00:35:58,630 Svo afvalið ($ array [2]); 402 00:35:58,630 --> 00:36:03,430 Nú hvað er þetta að fara að líta út? 2 er bara farinn, þannig að það er fullkomlega í lagi. 403 00:36:03,430 --> 00:36:11,670 Meira pirrandi er ef þú vilt það til að raunverulega vera eins og fylki. 404 00:36:11,670 --> 00:36:14,910 Ég setti af handahófi númer. 405 00:36:14,910 --> 00:36:20,400 Nú taka vísitölur mínar. 406 00:36:20,400 --> 00:36:26,860 Ég vil það að vera bara eins og C array þar sem hún fer úr 0 í lengd - 1 407 00:36:26,860 --> 00:36:30,810 og ég get iterate yfir það sem slíkt. 408 00:36:30,810 --> 00:36:38,520 En um leið og ég afvalið aðra vísitölu, hvað var í vísitölu 3 er ekki nú orðið vísitölu 2. 409 00:36:38,520 --> 00:36:44,790 Í staðinn fjarlægir það bara að vísitölu og nú þú fara 0, 1, 3, 4. 410 00:36:44,790 --> 00:36:48,740 Þetta er fullkomlega sanngjarn. 411 00:36:48,740 --> 00:36:53,950 Það er bara pirrandi og þú þarft að gera hlutina eins og skeyta array. Já. 412 00:36:53,950 --> 00:36:57,200 >> [Nemandi] Hvað myndi gerast ef þú hefðir a for lykkju 413 00:36:57,200 --> 00:36:59,630 og þú langaði að fara yfir alla þætti? 414 00:36:59,630 --> 00:37:02,290 Þegar hún lenti 2, myndi það gefa alltaf? 415 00:37:02,290 --> 00:37:10,150 Iterating yfir fylki. Það eru 2 leiðir til að gera það. 416 00:37:10,150 --> 00:37:12,770 Þú getur notað reglulega til hliðar. 417 00:37:12,770 --> 00:37:22,000 Þetta er annar intricacy PHP. 418 00:37:22,000 --> 00:37:27,420 Flest tungumál, myndi ég segja, hafa einhvers konar lengd eða Len eða eitthvað 419 00:37:27,420 --> 00:37:30,470 gefur til kynna lengd fylki. 420 00:37:30,470 --> 00:37:32,820 Í PHP það telja. 421 00:37:32,820 --> 00:37:36,160 Svo telja ($ array), $ i + +) 422 00:37:36,160 --> 00:37:42,950 Við skulum bara prenta ($ array [$ i]); 423 00:37:45,920 --> 00:37:48,820 Tilkynning: Óskilgreint móti: 2. 424 00:37:48,820 --> 00:37:51,610 Það er bara að fara að mistakast. 425 00:37:51,610 --> 00:38:03,020 Þetta er vegna þess að, að mestu leyti, að aldrei þarf að iterate yfir fylki svona. 426 00:38:03,020 --> 00:38:07,110 Það gæti verið ýkjur, en þú þarft aldrei að iterate yfir fylki svona 427 00:38:07,110 --> 00:38:19,410 vegna PHP veitir framhandleggur setningafræði þess þar framhandleggur ($ array eins og $ atriði). 428 00:38:19,410 --> 00:38:31,830 Nú ef við prenta ($ atriði) - we'll ræða það í annað - það virkar fullkomlega fínn. 429 00:38:31,830 --> 00:38:38,960 Leiðin sem framhandleggur er að vinna er fyrsta rifrildi er fylki sem þú ert iterating yfir. 430 00:38:38,960 --> 00:38:44,060 Annað rök, lið, í gegnum hvert skarðið af for lykkju 431 00:38:44,060 --> 00:38:52,690 það er að fara að taka á næsta hlutur í fylki. Svo man fylki hefur til þess. 432 00:38:52,690 --> 00:38:55,690 Í fyrsta skipti í gegnum for lykkju, lið er að fara að vera 123 433 00:38:55,690 --> 00:38:59,540 þá mun það vera 12 þá verður 13 þá verður 23 þá mun það vera 213. 434 00:38:59,540 --> 00:39:04,670 Things fá raunverulega undarlegt þegar þú gerir eitthvað eins og framhandleggur. 435 00:39:04,670 --> 00:39:07,480 Við skulum sjá hvað gerist vegna þess að þú ættir aldrei að gera þetta. 436 00:39:07,480 --> 00:39:13,320 Hvað ef við afvalið ($ array [1]); 437 00:39:20,410 --> 00:39:26,030 Það var líklega gert ráð fyrir. 438 00:39:26,030 --> 00:39:30,950 Þú ert iterating yfir þessu fylki, og hvert skipti sem þú ert að unsetting fyrstu vísitölunni. 439 00:39:30,950 --> 00:39:39,720 Svo fyrir vísitölu 0, the fyrstur hlutur, lið tekur á gildi 0, svo það er að fara að vera 123. 440 00:39:39,720 --> 00:39:44,630 En fyrir innan í lykkju við afvalið vísitölu 1, svo það þýðir 12 er farinn. 441 00:39:44,630 --> 00:39:57,480 Svo prenta. PHP_EOL. 442 00:39:57,480 --> 00:40:03,580 PHP_EOL er bara newline, en það er tæknilega fleiri flytjanlegur 443 00:40:03,580 --> 00:40:08,890 þar newlines í Windows er frábrugðin newlines á Mac og Unix. 444 00:40:08,890 --> 00:40:18,040 Á Windows newline er \ r \ n, en alls staðar annars það hefur tilhneigingu til þess að vera \ n. 445 00:40:18,040 --> 00:40:25,150 PHP_EOL er stillt þannig að það notar hvað newline kerfisins er. 446 00:40:25,150 --> 00:40:29,310 Svo prenta það. Við skulum ekki print_r ($ array) í lokin. 447 00:40:32,830 --> 00:40:37,390 Ég hafði ekki hugmynd um að það væri hegðun. 448 00:40:41,740 --> 00:40:48,960 Liður tekur enn á gildi 12 þótt við afvalið 12 áður en við komum alltaf að því af fylki. 449 00:40:52,770 --> 00:40:58,840 Ekki taka orð mín um þetta, en það lítur út eins og framhandleggur skapar afrit af fylkinu 450 00:40:58,840 --> 00:41:02,160 og þá tekur lið á öllum gildum sem afrit. 451 00:41:02,160 --> 00:41:07,760 Svo jafnvel ef þú breyta fylki inni í lykkju, 452 00:41:07,760 --> 00:41:17,240 það er sama. Liður mun taka á upprunaleg gildi. 453 00:41:17,240 --> 00:41:19,240 Reynum unsetting það. 454 00:41:19,240 --> 00:41:24,460 Hvað ef þetta er $ array [1] = "Hello"; 455 00:41:24,460 --> 00:41:31,770 Jafnvel þó að við setjum "halló" í array, lið tekur aldrei á þessi gildi. 456 00:41:31,770 --> 00:41:37,430 There 'annar setningafræði til framhandleggur lykkjur 457 00:41:37,430 --> 00:41:45,900 þar sem þú setur 2 breytur aðgreindar með ör. 458 00:41:45,900 --> 00:41:49,680 Þetta fyrsta breyta er að fara til vera the lykill þess virði, 459 00:41:49,680 --> 00:41:53,050 og þetta annað breyta er að fara til vera the sami nákvæmur atriði. 460 00:41:53,050 --> 00:42:01,610 Þetta Leiðinlegt hérna, en ef við förum aftur í upprunalegt tilviki okkar 'A' -> 1, 461 00:42:01,610 --> 00:42:06,090 "B" -> 1, 462 00:42:06,090 --> 00:42:14,470 hér ef við iterate bara fyrir hvert fylki sem lið, lið er að fara að vera 1 hvert einasta skipti. 463 00:42:14,470 --> 00:42:18,170 En ef við viljum líka að vita lykilinn í tengslum við þessi atriði 464 00:42:18,170 --> 00:42:25,230 þá erum við að gera eins og $ lykill -> $ hlut. 465 00:42:25,230 --> 00:42:31,980 Svo nú getum við gert prenta ($ lykill. ':'. 466 00:42:31,980 --> 00:42:39,380 Nú það er iterating yfir og prenta hvern takka og tengd gildi sitt. 467 00:42:39,380 --> 00:42:47,030 >> Annar hlutur sem við getum gert í framhandleggur lykkjur er að þú gætir séð þetta setningafræði. 468 00:42:47,030 --> 00:42:54,770 Merkið fyrir breytilegum nöfn hafa tilhneigingu til að vera hvernig PHP gerir tilvísanir. 469 00:42:54,770 --> 00:43:00,460 Hvar tilvísanir eru mjög svipuð ábendingum, 470 00:43:00,460 --> 00:43:04,820 þú þarft ekki ábendingum, svo þú aldrei að takast á við minni beint. 471 00:43:04,820 --> 00:43:12,620 En þú þarft tilvísanir þar sem 1 breyta vísar til sama og annað breytu. 472 00:43:12,620 --> 00:43:21,450 Inni hér skulum gera $ hlut. Förum aftur í 1, 10. 473 00:43:21,450 --> 00:43:28,800 Gerum $ lið + +, sem er til enn í PHP. Þú getur enn gert + +. 474 00:43:28,800 --> 00:43:38,260 php.test.php. Ég verð að prenta það. print_r ($ array); 475 00:43:38,260 --> 00:43:42,730 Við prenta 2, 11. 476 00:43:42,730 --> 00:43:49,560 Ef ég hefði bara gert framhandleggur ($ array eins og $ atriði) þá lið verður gildi 1 477 00:43:49,560 --> 00:43:54,190 í fyrsta skipti í gegnum lykkjuna. Það mun hækka 1 til 2 og þá erum við búin. 478 00:43:54,190 --> 00:43:57,260 Svo það mun fara í gegnum seinni umferð í lykkju og þessi atriði er 10. 479 00:43:57,260 --> 00:44:01,570 Það þrepum atriði til 11, og þá er bara hent. 480 00:44:01,570 --> 00:44:06,670 Þá erum við print_r ($ array) og við skulum sjá að það er bara 1, 10. 481 00:44:06,670 --> 00:44:09,070 Svo vöxtur við gerðum var glataður. 482 00:44:09,070 --> 00:44:13,410 En framhandleggur ($ array eins og $ atriði) 483 00:44:13,410 --> 00:44:21,910 nú er þetta lið sama lið og þetta hérna. Það er það sama. 484 00:44:21,910 --> 00:44:26,820 Svo $ atriði + + er að breyta array 0. 485 00:44:29,330 --> 00:44:41,850 Í grundvallaratriðum, þú getur líka gert $ k -> $ hlut og þú getur gert $ array [$ k] + +; 486 00:44:41,850 --> 00:44:48,650 >> Svo annan hátt að gera það, við erum frjáls til að breyta atriði, 487 00:44:48,650 --> 00:44:54,070 en það mun ekki breyta upprunalega array okkar. 488 00:44:54,070 --> 00:44:59,720 En ef við notum K, sem er lykill okkar, þá getum við bara vísitölu í fylkingu okkar með því að lykillinn 489 00:44:59,720 --> 00:45:01,530 og hækka það. 490 00:45:01,530 --> 00:45:05,410 Þetta meira beint breytir upprunalegu array okkar. 491 00:45:05,410 --> 00:45:10,690 Þú getur jafnvel gera að ef þú af einhverri ástæðu vildi getu til að breyta - 492 00:45:10,690 --> 00:45:13,510 Reyndar, þetta er fullkomlega sanngjarnt. 493 00:45:13,510 --> 00:45:16,020 Þú vilt ekki að þurfa að skrifa $ array [$ k] + +, 494 00:45:16,020 --> 00:45:27,890 þú vildi bara að skrifa $ lið + + en þú vildir samt að segja ef ($ K === 'a') 495 00:45:27,890 --> 00:45:30,620 þá hækka hlut og þá prenta array okkar. 496 00:45:30,620 --> 00:45:36,290 Svo nú hvað við búast print_r að gera? Hvaða gildi á að prenta? 497 00:45:36,290 --> 00:45:43,770 [Nemandi] 2 og 10. >> [Bowden] Aðeins ef lykillinn var "a 'gera við prenta í raun það. 498 00:45:51,940 --> 00:45:55,670 >> Þú sennilega mjög sjaldan, ef nokkurn tíma, verður að skilgreina aðgerðir í PHP, 499 00:45:55,670 --> 00:46:03,370 en þú gætir séð eitthvað svipað þar sem þú skilgreinir fall eins whatever virka. 500 00:46:03,370 --> 00:46:09,900 Venjulega þú vildi segja ($ foo, $ bar) og skilgreina það að vera hvað sem er. 501 00:46:09,900 --> 00:46:17,580 En ef ég geri það, þá þýðir það að allt sem kalla hvað, 502 00:46:17,580 --> 00:46:25,110 hvað kallar Baz, svo the fyrstur rök framhjá til Baz hægt að breyta. 503 00:46:25,110 --> 00:46:38,100 Við skulum gera $ foo + +; 504 00:46:38,100 --> 00:46:48,020 og innan hér skulum gera Baz ($ atriði); 505 00:46:48,020 --> 00:46:52,250 Nú erum við að hringja í aðgerð. 506 00:46:52,250 --> 00:46:56,780 The rök er tekið með tilvísun, sem þýðir að ef við breyta henni 507 00:46:56,780 --> 00:47:00,390 við erum að breyta hlutur sem var samþykkt inn 508 00:47:00,390 --> 00:47:04,420 Og prentun þetta við búast - nema ég boðberi upp setningafræði - fengum 2, 11, 509 00:47:04,420 --> 00:47:06,300 svo það var í raun incremented. 510 00:47:06,300 --> 00:47:08,790 Tilkynning þurfum tilvísanir í 2 stöðum. 511 00:47:08,790 --> 00:47:13,050 Hvað ef ég gerði þetta? Hvað þýðir þetta? 512 00:47:13,050 --> 00:47:15,810 [Nemandi] Það mun breytast. >> Já. 513 00:47:15,810 --> 00:47:18,290 Atriði er bara afrit af gildi í fylki. 514 00:47:18,290 --> 00:47:26,670 Svo lið mun breytast til 2, en array ['a'] mun enn vera 1. 515 00:47:26,670 --> 00:47:32,560 Eða hvað ef ég að gera þetta? 516 00:47:32,560 --> 00:47:39,260 Nú atriði er sendur sem afrit til Baz. 517 00:47:39,260 --> 00:47:46,330 Svo afrit af rifrildi verður incremented í 2, 518 00:47:46,330 --> 00:47:49,240 en atriðið sjálft var aldrei incremented til 2. 519 00:47:49,240 --> 00:47:52,880 Og atriðið er það sama og krappi array hvað, 520 00:47:52,880 --> 00:47:55,380 svo að fylki var aldrei incremented. 521 00:47:55,380 --> 00:47:57,960 Svo báðir þessir staðir þurfa það. 522 00:47:57,960 --> 00:48:03,830 >> PHP er yfirleitt nokkuð klár um þetta. 523 00:48:03,830 --> 00:48:06,570 Þú gætir held að ég vil fara með tilvísun - 524 00:48:06,570 --> 00:48:09,560 Þetta var reyndar spurning um einn af psets. 525 00:48:09,560 --> 00:48:14,480 Það var questions.txt hlutur þar sem hún sagði, 526 00:48:14,480 --> 00:48:19,280 Hvers vegna þú might vilja til að fara framhjá þessu strúktúr með tilvísun? 527 00:48:19,280 --> 00:48:21,250 Hvað var svarið við því? 528 00:48:21,250 --> 00:48:25,100 [Nemandi] Svo þú þarft ekki að afrita eitthvað stórt. >> Já. 529 00:48:25,100 --> 00:48:32,920 A struct má geðþótta stór, og þegar þú framhjá strúktúr í sem rök 530 00:48:32,920 --> 00:48:36,800 það þarf að afrita það allan strúktúr til að gefa það að virka, 531 00:48:36,800 --> 00:48:40,410 en ef það líður bara strúktúr með tilvísun 532 00:48:40,410 --> 00:48:46,530 þá þarf það bara að afrita 4-bæti tölu sem rök virka. 533 00:48:48,520 --> 00:48:52,320 PHP er svolítið klárari en það. 534 00:48:52,320 --> 00:49:00,650 Ef ég hef fengið virka og ég fara að því fjölbreytta 1.000 hlutum, 535 00:49:00,650 --> 00:49:03,990 þýðir það að það er að fara að hafa til að afrita alla 1.000 af þeim hlutum 536 00:49:03,990 --> 00:49:10,450 að gefa það í aðgerð? Það þarf ekki að gera það strax. 537 00:49:10,450 --> 00:49:15,940 Ef inni í þessa aðgerð það aldrei breytir foo, 538 00:49:15,940 --> 00:49:22,660 þannig að ef ($ foo === 'Halló') aftur satt.; 539 00:49:22,660 --> 00:49:26,460 Takið við aldrei breytt rifrildi inni þessa aðgerð, 540 00:49:26,460 --> 00:49:30,010 sem þýðir að allt sem var samþykkt í eins foo aldrei þarf að afrita 541 00:49:30,010 --> 00:49:32,100 því það er ekki að breyta henni. 542 00:49:32,100 --> 00:49:39,240 Svo leið PHP virkar rökin eru alltaf framhjá með tilvísun 543 00:49:39,240 --> 00:49:42,170 þar til þú reynir í raun að breyta henni. 544 00:49:42,170 --> 00:49:51,160 Nú ef ég segi $ foo + +, það verður nú að gera afrit af upprunalegu foo og breyta eintak. 545 00:49:51,160 --> 00:49:53,090 Þetta sparar tíma. 546 00:49:53,090 --> 00:49:58,210 Ef þú ert aldrei að snerta þessa gegnheill array, aldrei þú í raun að breyta henni, 547 00:49:58,210 --> 00:50:02,360 það þarf ekki að gera afrit, 548 00:50:02,360 --> 00:50:06,640 en ef við setjum bara þetta merkið sem þýðir að það er ekki einu sinni afrita það 549 00:50:06,640 --> 00:50:08,640 jafnvel ef þú ert að breyta henni. 550 00:50:08,640 --> 00:50:10,680 Þessi hegðun er kölluð afrita á-skrifa. 551 00:50:10,680 --> 00:50:17,380 Þú munt sjá það á öðrum stöðum, sérstaklega ef þú tekur stýrikerfi auðvitað. 552 00:50:17,380 --> 00:50:23,880 Afrita-á-skrifa er nokkuð venjulega mynstur þar sem þú þarft ekki að gera afrit af eitthvað 553 00:50:23,880 --> 00:50:26,650 nema það er í raun að breytast. Já. 554 00:50:26,650 --> 00:50:29,520 [Nemandi] Hvað ef þú hefðir vöxtur inni í prófinu, 555 00:50:29,520 --> 00:50:33,700 svo að aðeins 1 þáttur af hverjum 1.000 þyrfti að breyta? 556 00:50:33,700 --> 00:50:38,770 Ég er ekki viss. 557 00:50:38,770 --> 00:50:51,250 Ég held að það myndi afrita allan hlutur, en það er mögulegt að það er sviði nógur að - 558 00:50:51,250 --> 00:51:00,020 Reyndar, það sem ég er að hugsa er að ímynda sér við höfðum fjölda sem lítur svona út: $ fylki2 = [ 559 00:51:00,020 --> 00:51:11,000 Þá er 'a' Efnisyfirlit fylki í [1 2 3 4], og vísitölu 'B' er fylki á hvað sem er. 560 00:51:11,000 --> 00:51:15,380 Ég þarf kommur á milli allra þeirra. Ímyndaðu þér að það séu kommum. 561 00:51:15,380 --> 00:51:21,210 Þá 'C' er gildi 3. 562 00:51:24,210 --> 00:51:26,290 Allt í lagi. 563 00:51:26,290 --> 00:51:33,440 Nú skulum segja að við gerum $ Baz ($ fylki2); 564 00:51:33,440 --> 00:51:36,540 þar Baz ekki taka þetta með tilvísun. 565 00:51:43,510 --> 00:51:47,370 Svo $ foo ['C'] + +; 566 00:51:47,370 --> 00:51:52,340 Þetta er svo dæmi þar sem við erum liggur fylki2 sem rök 567 00:51:52,340 --> 00:51:57,010 og þá er það að breyta ákveðna vísitölu array með incrementing það. 568 00:51:57,010 --> 00:52:01,090 Ég hef heiðarlega ekki hugmynd um hvað PHP er að fara að gera. 569 00:52:01,090 --> 00:52:07,200 Það getur auðveldlega gera afrit af öllu hlutur, en ef það er klár, 570 00:52:07,200 --> 00:52:15,030 það mun gera afrit af þessum takka þar sem þetta mun hafa mismunandi gildi þess 571 00:52:15,030 --> 00:52:20,620 en þetta getur samt benda á sama array 1,2,3,4 572 00:52:20,620 --> 00:52:22,320 og það getur samt benda á sama fylki. 573 00:52:22,320 --> 00:52:24,170 Ég ætla iPad það. 574 00:52:28,900 --> 00:52:45,950 Við förum í þennan fjölda sem þessi strákur stig í 3, þessi strákur stig til [1,2,3,4], 575 00:52:45,950 --> 00:52:51,350 Þessi strákur bendir á [34 ...] 576 00:52:51,350 --> 00:52:58,590 Nú þegar erum við að senda hann á Baz, við erum að breyta þessu. 577 00:52:58,590 --> 00:53:03,550 Ef PHP er klár, get það bara ekki - 578 00:53:11,850 --> 00:53:18,230 Við þurftum samt að afrita sumir minni, en ef það væri þessi gríðarlega hreiður subarrays 579 00:53:18,230 --> 00:53:21,560 við ekki að afrita þær. 580 00:53:21,560 --> 00:53:27,530 Ég veit ekki hvort það er það sem það gerir, en ég get ímyndað mér það að gera það. 581 00:53:29,050 --> 00:53:36,690 Þetta er líka mjög stór kostur C en PHP. 582 00:53:36,690 --> 00:53:40,320 >> PHP gerir lífið svo miklu auðveldara fyrir a einhver fjöldi af hlutur, 583 00:53:40,320 --> 00:53:45,060 en þú ert góður af alls enga hugmynd hversu vel það mun framkvæma 584 00:53:45,060 --> 00:53:52,530 vegna þess að ég hef ekki hugmynd neðan hetta þegar það er að gera þessar afrit af hlutum, 585 00:53:52,530 --> 00:53:55,170 ó, er að fara að vera stöðug tími afrita, 586 00:53:55,170 --> 00:54:01,140 er það að fara bara að breyta 1 músina, er það að fara að vera hlægilegur erfitt línuleg eintak? 587 00:54:01,140 --> 00:54:03,000 Hvað ef það er ekki hægt að finna pláss? 588 00:54:03,000 --> 00:54:06,760 Er það þarf þá að keyra sorp safn að fá sumir meira pláss? 589 00:54:06,760 --> 00:54:11,210 Og sorp safn getur tekið geðþótta lengi. 590 00:54:11,210 --> 00:54:13,600 Í C þú þarft ekki að hafa áhyggjur af þessum hlutum. 591 00:54:13,600 --> 00:54:19,780 Hver einasta lína sem þú skrifar þú getur nokkurn veginn ástæða um hvernig það er að fara að framkvæma. 592 00:54:26,800 --> 00:54:29,150 >> Við skulum líta til baka á þetta. 593 00:54:35,400 --> 00:54:37,520 Hvernig ágætur það er að þú þarft ekki að takast á við kjötkássa virka, 594 00:54:37,520 --> 00:54:39,010 tengd listum, eða eitthvað svoleiðis? 595 00:54:39,010 --> 00:54:41,980 Þar vinna með kjötkássa matskeið er svo auðvelt nú, hér er ráðgáta skemmtilegur til að vinna á. 596 00:54:41,980 --> 00:54:45,920 Opna skrá sem heitir unique.php og í það skrifa PHP forrit 597 00:54:45,920 --> 00:54:48,330 (Einnig þekkt sem "handrit"). 598 00:54:48,330 --> 00:54:55,700 Við hafa tilhneigingu til að kalla þá forskriftir ef þeir eru stutt atriði sem þú hlaupa á stjórn lína. 599 00:54:55,700 --> 00:55:02,950 Í grundvallaratriðum, hvaða tungumál sem þú safna ekki en þú ert að fara að keyra executable 600 00:55:02,950 --> 00:55:05,920 í stjórn lína, þú getur hringt í það executable handriti. 601 00:55:05,920 --> 00:55:08,510 Ég gæti alveg eins skrifað C forrit sem gerir þetta, 602 00:55:08,510 --> 00:55:12,300 en ég kalla það ekki handrit þar sem ég safna saman fyrst og þá hlaupa the tvöfaldur. 603 00:55:12,300 --> 00:55:15,480 En þetta PHP forrit sem við erum að fara að hringja í handriti. 604 00:55:15,480 --> 00:55:23,830 Eða ef við skrifuðum það í Python eða Perl eða Node.js eða einhverju af þessum hlutum, 605 00:55:23,830 --> 00:55:26,500 við myndum kalla þá öllum forskriftir vegna þú keyrir þá á the stjórn lína 606 00:55:26,500 --> 00:55:30,040 en við gerum saman þá. 607 00:55:30,860 --> 00:55:33,400 Við gætum gert þetta ansi fljótt. 608 00:55:36,960 --> 00:55:41,480 Við erum ekki að fara að nota argv. Við skulum bara blása í gegnum þetta. 609 00:55:41,480 --> 00:55:45,730 Kalla það einstakt, skrifa forrit. 610 00:55:45,730 --> 00:55:49,400 Þú getur gert ráð fyrir að inntak mun innihalda eitt orð í hverja línu. 611 00:55:49,400 --> 00:55:52,020 Reyndar, argv verður ansi léttvæg að nota. 612 00:56:03,730 --> 00:56:06,720 unique.php. 613 00:56:08,550 --> 00:56:13,750 Fyrstur hlutur fyrstur, viljum við athuga hvort við höfum verið samþykkt 1 stjórn-lína rök. 614 00:56:13,750 --> 00:56:20,900 Rétt eins og þú vildi búast argc og argv í C, höfum við enn þá í PHP. 615 00:56:20,900 --> 00:56:33,900 Svo ef ($ argc! == 2) þá mun ég ekki tekist á við prentun skilaboð eða neitt. 616 00:56:33,900 --> 00:56:37,340 Ég verð bara að hætta, villa merkjamál af 1. 617 00:56:37,340 --> 00:56:41,340 Ég gæti líka aftur 1. 618 00:56:41,340 --> 00:56:53,180 Sjaldan í PHP þú ert í þessu ástandi sem við erum í - 619 00:56:53,180 --> 00:56:57,820 Venjulega þú ert í aðgerð sem heitir eftir fall sem heitir eftir fall sem heitir eftir aðgerð. 620 00:56:57,820 --> 00:57:02,070 Og ef eitthvað fer úrskeiðis og þú vilt bara að loka allt alveg, 621 00:57:02,070 --> 00:57:05,680 Hætta endar bara forritið. 622 00:57:05,680 --> 00:57:08,160 Þetta er einnig í C. 623 00:57:08,160 --> 00:57:10,700 Ef þú ert í aðgerð í aðgerð í aðgerð í aðgerð 624 00:57:10,700 --> 00:57:17,540 og þú vilt bara að drepa the program, þú getur hringt hætta og það verður bara að hætta. 625 00:57:17,540 --> 00:57:23,120 En í PHP og það er jafnvel meira sjaldgæft að við erum á þessu efsta stigi. 626 00:57:23,120 --> 00:57:26,090 Venjulega erum við inni einhvers konar virkni, svo við köllum hætta 627 00:57:26,090 --> 00:57:29,650 þannig að við þurfum ekki að fara aftur upp 1 hlutur sem þá áttar það villa 628 00:57:29,650 --> 00:57:32,270 svo aftur að upp ef það viðurkennir að það var villa. 629 00:57:32,270 --> 00:57:35,270 Við viljum ekki að takast á við það, svo að hætta (1); 630 00:57:35,270 --> 00:57:38,240 aftur (1), í þessu tilfelli væri jafngilt. 631 00:57:38,240 --> 00:57:44,000 >> Þá það sem við viljum að opna við viljum fopen. 632 00:57:44,000 --> 00:57:46,760 Rökin eru að fara að líta nokkuð svipað. 633 00:57:46,760 --> 00:57:51,600 Við viljum fopen ($ argv [1], og við viljum að opna hana til að lesa. 634 00:57:51,600 --> 00:57:55,720 Það skilar úrræði sem við erum að fara að hringja í f. 635 00:57:55,720 --> 00:58:02,180 Þetta lítur mjög svipað hvernig C gerir það nema að við þurfum ekki að segja skrá *. 636 00:58:02,180 --> 00:58:06,170 Í stað þess að við segjum bara $ f. Allt í lagi. 637 00:58:06,170 --> 00:58:17,190 Reyndar held ég að þetta jafnvel gefur okkur vísbendingu um það PHP virka heitir skrá. PHP skrá. 638 00:58:17,190 --> 00:58:23,990 Hvað er að fara að gera er að lesa allan skrá í fylki. 639 00:58:23,990 --> 00:58:29,770 Þú þarft ekki einu sinni að fopen það. Það er að fara að gera það fyrir þig. 640 00:58:37,450 --> 00:58:43,700 Svo $ línur = skrá ($ argv [1]); 641 00:58:43,700 --> 00:58:49,680 Nú allar línur í skránni eru í línum. Nú viljum við að raða línum. 642 00:58:49,680 --> 00:58:52,180 Hvernig getum við að raða línum? 643 00:58:52,180 --> 00:58:54,920 Við raða línum. 644 00:58:54,920 --> 00:58:58,080 Og nú getum við prentað þær eða hvað. 645 00:58:58,080 --> 00:59:05,580 Sennilega einfaldasta leiðin er framhandleggur ($ línur og $ lína) echo $ línu; 646 00:59:05,580 --> 00:59:10,960 [Nemandi] Myndum við ekki yfir jafnvel línur með tilvísun eitthvað í tegund? 647 00:59:10,960 --> 00:59:28,850 Þetta er þar sem tegund yrði skilgreind sem tegund virka (& $ array). 648 00:59:28,850 --> 00:59:32,650 Þegar þú hringja í aðgerð sem þú gefa það með tilvísun. 649 00:59:32,650 --> 00:59:36,900 Þetta er fall sem skilgreinir það eins og að taka það til viðmiðunar. 650 00:59:36,900 --> 00:59:40,900 Þetta er í raun nákvæmlega það sem fór úrskeiðis 651 00:59:40,900 --> 00:59:46,220 þegar við settum allt til netþjóna okkar þegar við fórum 5,3-5,4. 652 00:59:46,220 --> 00:59:53,800 Fram 5,4, þetta var fullkomlega sanngjarn. 653 00:59:53,800 --> 00:59:58,740 Fall er ekki búist við að taka það sem viðmiðun, en þú geta fara framhjá það sem viðmiðun 654 00:59:58,740 --> 01:00:02,860 þannig að ef að virka gerist til að breyta því, það er breytt enn. 655 01:00:02,860 --> 01:00:05,850 Eins og um 5,4, þú ert ekki að gera þetta. 656 01:00:05,850 --> 01:00:11,740 Svo nú er eina leiðin sem þú fara með tilvísun ef virka sérstaklega gerir það. 657 01:00:11,740 --> 01:00:19,840 Ef þú vilt ekki að það að breyta henni, þá þarftu að gera $ eintak = $ línur og fara Afrita. 658 01:00:19,840 --> 01:00:24,820 Svo nú línur verða varðveitt og afrit verður breytt. 659 01:00:27,670 --> 01:00:31,460 php.unique.php. Ég gæti hafa boðberi eitthvað upp. 660 01:00:31,460 --> 01:00:33,190 Óvænt 'tegund'. 661 01:00:38,320 --> 01:00:43,850 Það er að fara að vera eitthvað sem gerir þetta fyrir okkur. 662 01:00:43,850 --> 01:00:45,820 Það er ekki einu sinni þarna. 663 01:00:45,820 --> 01:00:52,140 Taka eftir þegar þú lesið handbók sem fyrsta rifrildi er gert ráð fyrir að vera fylki 664 01:00:52,140 --> 01:00:56,490 og það er tekið með tilvísun. 665 01:00:58,160 --> 01:01:03,540 Hvers vegna er þetta að kvarta við mig? Vegna þess að ég hef þessa aðgerð tegund enn hér sem ég vil ekki. 666 01:01:03,540 --> 01:01:09,210 Allt í lagi, php.unique.php. Ég vissi ekki að líða það að rífast vegna þess að ég hef ekki skrá. 667 01:01:09,210 --> 01:01:13,560 Það er php.unique.php á test.php. 668 01:01:13,560 --> 01:01:19,080 Hér er test.php allt prentað út í fallegu raðað röð. 669 01:01:19,080 --> 01:01:24,600 Athugið að raðað röð er skrýtin tilfinning fyrir kóða skrá 670 01:01:24,600 --> 01:01:27,460 því öll autt línur okkar eru að fara að koma fyrst 671 01:01:27,460 --> 01:01:30,190 þá er að fara að koma öllu af 1 stigi örðum okkar 672 01:01:30,190 --> 01:01:33,360 þá koma allar engum örðum okkar. 673 01:01:33,360 --> 01:01:38,620 Já. >> [Nemandi] Svo að kóðinn var ekki samþykkt með vísan? 674 01:01:38,620 --> 01:01:42,240 Er þessi samþykkt almennt um gildi? 675 01:01:42,240 --> 01:01:50,240 [Bowden] Þegar þú hringja í aðgerð, það er aldrei ráða því hvort það var samþykkt með vísan. 676 01:01:50,240 --> 01:01:53,960 Það er virka skilgreiningu, sem ákvarðar hvort það var samþykkt með vísan. 677 01:01:53,960 --> 01:01:59,450 Og horfa á virka skilgreiningu tegund eða bara að horfa á þetta, 678 01:01:59,450 --> 01:02:02,820 það tekur þau rök með tilvísun. 679 01:02:02,820 --> 01:02:07,160 Svo hvort sem þú vilt það til að taka það með tilvísun, taka það gerir það með tilvísun. 680 01:02:07,160 --> 01:02:10,200 Það breytir fylkisins í stað. 681 01:02:10,200 --> 01:02:17,400 Þetta er bara ekki leyft. Þú hefur ekki leyfi til að gera þetta. >> [Nemandi] Ó, allt í lagi. 682 01:02:17,400 --> 01:02:22,410 [Bowden] Þetta tegund er að fara að taka línur með tilvísun og breyta henni. 683 01:02:22,410 --> 01:02:26,850 Og aftur, ef þú vilt ekki að það að gera það, væri hægt að gera afrit af tegund. 684 01:02:26,850 --> 01:02:35,850 Jafnvel í þessu tilfelli, afrit er ekki í raun afrit af línum. 685 01:02:35,850 --> 01:02:40,620 Það bendir bara það sama þar til það fyrsta verður breytt, 686 01:02:40,620 --> 01:02:44,430 þar sem það er fyrst að fara að fá breytt í einhverskonar aðgerð, 687 01:02:44,430 --> 01:02:50,940 þar, því það er afrita-á-að skrifa, nú afrit af afrit er að fara að gera. 688 01:02:57,500 --> 01:03:04,250 Þú getur líka gert þetta. Það er hinn staðurinn sem þú getur séð merkið. 689 01:03:04,250 --> 01:03:07,190 Þú sérð það í framhandleggur lykkjur, þú sérð það í yfirlýsingar virka, 690 01:03:07,190 --> 01:03:10,040 og þú sérð það þegar bara framselja breytur. 691 01:03:10,040 --> 01:03:12,350 Nú höfum við náð ekkert með því að gera þetta 692 01:03:12,350 --> 01:03:15,600 vegna afrit og línur eru bókstaflega það sama. 693 01:03:15,600 --> 01:03:19,940 Þú getur notað línur og afrita jöfnum höndum. 694 01:03:19,940 --> 01:03:25,430 Þú getur gert afvalið ($ eintak), og það er ekki tekið af línum, 695 01:03:25,430 --> 01:03:29,120 þú tapar bara tilvísun til sama. 696 01:03:29,120 --> 01:03:33,440 Svo frá og með þessum tímapunkti, nú er línur eina leiðin sem þú getur fengið aðgang að línum. 697 01:03:36,450 --> 01:03:38,770 >> Spurningar? 698 01:03:41,000 --> 01:03:42,460 Já. 699 01:03:42,460 --> 01:03:45,880 [Nemandi] alveg af efni, en þú þarft ekki að loka PHP við - >> er ekki. 700 01:03:45,880 --> 01:03:47,730 Allt í lagi. 701 01:03:47,730 --> 01:03:53,790 [Bowden] Ég myndi fara eins langt að segja að það er slæmt æfa sig til að loka þeim. 702 01:03:53,790 --> 01:03:57,580 Það er líklega ýkjur, sérstaklega í handriti, 703 01:03:57,580 --> 01:04:03,740 en við skulum sjá hvað gerist ef ég geri það. 704 01:04:03,740 --> 01:04:08,890 Það gerði ekkert. Hvað ef ég vildi - [Sighs] 705 01:04:13,870 --> 01:04:16,960 Ég þarf að standast rök. 706 01:04:19,000 --> 01:04:22,050 Skjóta. Ég kallaði það rangt. 707 01:04:24,340 --> 01:04:28,310 Svo php.unique.php með rifrildi. 708 01:04:28,310 --> 01:04:30,980 Nú er ég ekki einu sinni þurfa þetta. 709 01:04:34,520 --> 01:04:37,740 Ég framhjá það gilt rök. 710 01:04:37,740 --> 01:04:42,050 Þetta prenta hvað sem það er prentun. 711 01:04:45,260 --> 01:04:50,080 Ég er að prenta afrit og afrit er ekki fyrir hendi. Svo línur. 712 01:04:53,650 --> 01:04:58,270 Það prentað allt, og síðan taka allt þetta skran hérna, 713 01:04:58,270 --> 01:05:06,690 því í PHP neitt sem er utan af PHP tags 714 01:05:06,690 --> 01:05:09,520 er bara að fara að prenta bókstaflega. 715 01:05:09,520 --> 01:05:18,050 Þess vegna HTML, það er svo gaman að ég get gert div bla, bla, bla flokki eða hvað, 716 01:05:18,050 --> 01:05:25,140 bla, bla, bla og þá gera sumir PHP kóða og gera endir div. 717 01:05:25,140 --> 01:05:36,460 Og nú prentun þetta ég fá gott div mína ofan, allt að PHP prentuð, div neðst. 718 01:05:36,460 --> 01:05:43,510 Hörmulegur þegar eitthvað svona gerist, sem er nokkuð algengt, 719 01:05:43,510 --> 01:05:47,930 bara villast newline neðst á skrá. 720 01:05:47,930 --> 01:05:50,940 Þú myndir ekki hugsa það vildi vera það stór af a samningur 721 01:05:50,940 --> 01:05:58,660 þar til þú telur þá staðreynd að með vöfrum - 722 01:05:58,660 --> 01:06:03,880 >> Hvernig tilvísanir vinnu eða í rauninni hvaða hausa vinna, 723 01:06:03,880 --> 01:06:07,980 þegar þú gerir tenginguna þína til a website og sendir til baka allar þessar hausum og fleira 724 01:06:07,980 --> 01:06:12,020 eins svar 200 eða svörun beina eða hvað, 725 01:06:12,020 --> 01:06:18,230 haus eru ekki gild fyrr en fyrsta bæti af gögnum er send. 726 01:06:18,230 --> 01:06:23,140 Þú getur endurvísa þúsund sinnum, en um leið og fyrsta bæti af gögnum er send 727 01:06:23,140 --> 01:06:26,120 þú ert ekki að beina aftur. 728 01:06:26,120 --> 01:06:31,860 >> Ef þú hafa a villast newline neðst á skrá 729 01:06:31,860 --> 01:06:37,260 og við skulum segja að þú notir þetta virka og þá þú vilt - 730 01:06:41,580 --> 01:06:52,870 Við skulum segja að það er annar skrá sem er index.php og þú require_once eitthvað - 731 01:06:52,870 --> 01:06:56,920 Ég get ekki hugsað mér gott dæmi um það. 732 01:06:56,920 --> 01:07:04,740 Málið gerist þegar þessi lína neðst verður echoed. 733 01:07:04,740 --> 01:07:08,660 Þú vilt ekki að neitt hafi verið echoed enn. 734 01:07:10,820 --> 01:07:15,700 Jafnvel þó að þú hafir ekki ætla á neitt fá echoed, gerði eitthvað fá echoed 735 01:07:15,700 --> 01:07:17,990 og svo nú þú ert ekki að senda fleiri hausa 736 01:07:17,990 --> 01:07:20,030 og þú ert að fara að fá kvartanir. 737 01:07:22,170 --> 01:07:24,420 Þú bara þarft ekki þá loka tags. 738 01:07:24,420 --> 01:07:27,420 Ef þú ætlar að gera eitthvað við HTML - 739 01:07:27,420 --> 01:07:30,490 og það er fullkomlega eðlilegt að gera hérna div hvað 740 01:07:30,490 --> 01:07:39,450 og þá á þessum tímapunkti sem þú getur eða þú getur ekki fela þær. 741 01:07:39,450 --> 01:07:41,590 Það skiptir í raun ekki máli. 742 01:07:41,590 --> 01:07:45,450 En í PHP forskriftir það er sjaldgæft að loka því. 743 01:07:45,450 --> 01:07:50,400 Þegar allt er PHP, algerlega allt, 744 01:07:50,400 --> 01:07:55,460 þú í raun ekki þörf á að loka það / þú ættir ekki að loka henni. 745 01:08:02,030 --> 01:08:05,720 >> Takast á við strengi er mun betri en í C. 746 01:08:05,720 --> 01:08:09,470 Í PHP er hægt að tilgreina band með einum eða tveggja vitna. 747 01:08:09,470 --> 01:08:12,820 Með einn quotes sem þú getur ekki notað "Escape" röð. 748 01:08:12,820 --> 01:08:17,640 Stöðugt flýja, bla, bla, bla. 749 01:08:19,920 --> 01:08:24,010 Svo printf er mjög sjaldgæft í PHP. 750 01:08:24,010 --> 01:08:32,290 Ég held ég myndi nota printf ef ég vildi gera svoleiðis - í pset 5 þú nota sprintf eða hvað. 751 01:08:32,290 --> 01:08:36,060 En þú vilt gera 001.jpg og 002.jpg. 752 01:08:36,060 --> 01:08:40,300 Svo fyrir þessi tegund af hlutur sem ég vil í raun og veru til að sníða texta sem ég myndi nota printf. 753 01:08:40,300 --> 01:08:44,689 En annars myndi ég bara nota band samtenging. 754 01:08:44,689 --> 01:08:47,000 Ég hef aldrei raunverulega nota printf. 755 01:08:49,229 --> 01:09:00,170 Við erum bara að aðgreining upplýsingar stakra vitna og gæsalappa. 756 01:09:00,170 --> 01:09:07,490 Stærsti munurinn er að einn vitna, það verður prentað bókstaflega. 757 01:09:07,490 --> 01:09:15,390 Það er engin bleikju gögn gerð í PHP, ólíkt C, þannig að þetta jafngildir þetta. 758 01:09:15,390 --> 01:09:17,970 Þeir eru báðir strengir. 759 01:09:17,970 --> 01:09:29,180 Og ágætur hlutur óður í einn strengi vitna er að ég gæti sagt "Halló heimur!" bla, bla, bla, 760 01:09:29,180 --> 01:09:33,340 $ $ WOOO. 761 01:09:33,340 --> 01:09:38,260 Hvað gerist þegar ég prenta þetta er það mun prenta það bókstaflega. 762 01:09:38,260 --> 01:09:40,680 Skulum losna við allt dótið okkar. 763 01:09:40,680 --> 01:09:44,700 Svo echo $ str1; 764 01:09:48,569 --> 01:09:56,570 Það prentuð bókstaflega allt af þessum hlutum: dollara merki, 765 01:09:56,570 --> 01:09:58,770 sviga n, sem þú vildi hugsa væri newlines - 766 01:09:58,770 --> 01:10:01,500 alla þá hluti sem það prentar bókstaflega. 767 01:10:01,500 --> 01:10:05,650 Það eina sem þú þarft til að flýja eru einn tilvitnanir 768 01:10:05,650 --> 01:10:09,470 því annars myndi hugsa það er að loka á einn quotes. 769 01:10:09,470 --> 01:10:15,050 Gæsalappa, allt öðruvísi. 770 01:10:20,300 --> 01:10:25,870 Við sjáum nú þegar setningafræði auðkenning er cluing okkur á hvað er um að fara hræðilega rangt. 771 01:10:25,870 --> 01:10:36,190 php.unique. Óskilgreint breytu: WOOO því þetta er túlkað sem breytu sem heitir WOOO. 772 01:10:36,190 --> 01:10:42,400 Double vitna láta þig setja breytur inn - 773 01:10:42,400 --> 01:10:52,730 Segjum $ nafn = "Rob"; 774 01:10:52,730 --> 01:10:58,020 Svo echo "Hæ, ég heiti $ nafn!"; 775 01:10:58,020 --> 01:11:09,260 Það viðurkennir þetta sem breytu. 776 01:11:09,260 --> 01:11:21,210 Þegar ég keyrt það - og ég mun setja inn a newline - Hæ, ég heiti Rob! og Halló heimur! 777 01:11:21,210 --> 01:11:24,910 Þetta er vegna þess að ég aldrei fjarlægja prentun WOOO ofan. 778 01:11:24,910 --> 01:11:30,020 Það er 1 frekari skref sem þú getur gert. 779 01:11:30,020 --> 01:11:39,250 $ Array = [1, 2, 3]; 780 01:11:39,250 --> 01:11:43,270 Hvað ef ég vil prenta fyrsta vísitölu fylkisins? 781 01:11:43,270 --> 01:11:45,150 Þú gera $ array [0]. 782 01:11:45,150 --> 01:11:49,280 The setningafræði auðkenning er vísbending. Hvað er þetta að gera? 783 01:11:52,320 --> 01:11:54,510 php.unique. 784 01:11:54,510 --> 01:11:59,860 Hæ, ég heiti er 1! sem er ekki það sem ég vildi. 785 01:11:59,860 --> 01:12:05,050 Setningafræði auðkenning logið að mér. 786 01:12:05,050 --> 01:12:13,020 Við skulum reyna 'a' -> 1, 'B "-> 2. 787 01:12:18,450 --> 01:12:21,440 Það er hvernig ég vildi að skrifa það. 788 01:12:26,350 --> 01:12:32,160 Óvænt einn QUOTE (T_ENCAPSED bla, bla, bla, bla, bla). 789 01:12:32,160 --> 01:12:41,780 Hugmyndin er sú að það er ekki viðurkenna þetta sem hluta af fylkisins. 790 01:12:41,780 --> 01:12:46,620 Það er ekki að viðurkenna þetta sem array verðtryggð með bréfi í. 791 01:12:46,620 --> 01:12:49,870 Þú vilt gera það umkringd hrokkið axlabönd, 792 01:12:49,870 --> 01:12:54,730 og nú hvað er í þessum hrokkið borsveif verður innreiknað, 793 01:12:54,730 --> 01:13:00,340 sem er orð sem við notum til að dularfullur setja þessar breytur inn í réttum stöðum. 794 01:13:00,340 --> 01:13:04,280 Nú gera þetta, php.unique og Hi, nafn mitt er 1! eins og vænta 795 01:13:04,280 --> 01:13:07,720 eða Hi, my name is Rob! 796 01:13:14,110 --> 01:13:23,130 Einn hlutur sem er eins konar gott um einn quotes er að - 797 01:13:23,130 --> 01:13:28,480 Það er einhver kostnaður við interpolating. 798 01:13:30,520 --> 01:13:35,100 Ef þú notar gæsalappa, túlkurinn þarf að fara yfir þetta band, 799 01:13:35,100 --> 01:13:41,500 að tryggja það, "Ó, hér er hending. Nú þarf ég að fara að fá að breyta og setja það hér." 800 01:13:41,500 --> 01:13:48,930 Jafnvel ef þú notar engar breytur, 801 01:13:48,930 --> 01:13:52,220 ekkert inni þessum gæsalöppum þarf innreiknað, 802 01:13:52,220 --> 01:13:56,800 en það verður samt að vera hægari af því að það þarf að fara yfir gæsalappa 803 01:13:56,800 --> 01:14:00,130 leita að hlutum sem þarf að innreiknað. 804 01:14:00,130 --> 01:14:05,360 Svo einn vitna getur verið svolítið hraðar ef ekkert þarf að innreiknað, 805 01:14:05,360 --> 01:14:15,650 og ég tilhneigingu til að jafnvel nota einn quotes fyrir, "Hæ, ég heiti". $ Array ['a'] samt. 806 01:14:15,650 --> 01:14:20,430 Það er að fara að nema það sem við höfðum áður. 807 01:14:24,840 --> 01:14:28,440 En það er spurning um val. 808 01:14:28,440 --> 01:14:34,750 Ef þú ert að nota PHP, sennilega þú hefur ekki sama um hraða munur. 809 01:14:34,750 --> 01:14:39,480 Það er ekki nóg að ástæðu þá út til að byrja með. 810 01:14:39,480 --> 01:14:43,030 >> Allar endanlegar spurningar? 811 01:14:47,430 --> 01:14:51,710 >> Við í raun ekki einu sinni komast í gegnum allt það, en þetta efni var leiðinlegt. 812 01:14:51,710 --> 01:14:59,080 The síðastur hlutur sem er góður af gaman í PHP er þegar þú ert að takast á við HTML, 813 01:14:59,080 --> 01:15:06,450 þú munt nota það aðeins, svo ágætur flýtileið setningafræði fyrir prentun breytu. 814 01:15:32,400 --> 01:15:36,730 Án þess að setja PHP hér, þetta er kallað stutt merki. 815 01:15:36,730 --> 01:15:44,330 Opinberlega og PHP 5.4, þetta er úrelt. 816 01:15:44,330 --> 01:15:48,640 Þú ert mælt með því að setja PHP. 817 01:15:48,640 --> 01:15:55,770 Þetta er enn stutt, svo stutt merki með 01:16:02,480 Það er sjálfgefið stutt, svo þú getur notað þetta eins og þú vilt, og þeir eru mjög þægilegt. 819 01:16:02,480 --> 01:16:05,700 >> Einhverjar spurningar? 820 01:16:07,780 --> 01:16:09,270 Allt í lagi. 821 01:16:10,840 --> 01:16:13,800 >> Vertu flottur, San Diego. 822 01:16:13,800 --> 01:16:16,070 [Hlær] 823 01:16:18,620 --> 01:16:22,660 Bless. [Hlær] 824 01:16:24,350 --> 01:16:28,470 [Lófaklapp] [hlær] 825 01:22:46,460 --> 01:22:49,460 >> [CS50.TV]