1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [8.pants - ērtāk] 2 00:00:02,610 --> 00:00:04,910 [Rob Bowden - Hārvarda] 3 00:00:04,910 --> 00:00:07,070 [Tas ir CS50. - CS50.TV] 4 00:00:11,520 --> 00:00:14,160 >> Šie nedēļā sadaļā piezīmes ir būs diezgan īss, 5 00:00:14,160 --> 00:00:19,070 tāpēc es esmu tikai gatavojas glabāt runāt, jūs puiši gatavojas glabāt uzdodot jautājumus, 6 00:00:19,070 --> 00:00:22,720 un mēs cenšamies, lai uzpildītu tik daudz laika, cik iespējams. 7 00:00:22,720 --> 00:00:31,950 Daudzi cilvēki domā, ka tas PSET ne vienmēr ir grūti, bet tas ir ļoti garš. 8 00:00:31,950 --> 00:00:37,070 PSET spec pati aizņem stundu lasīt. 9 00:00:40,530 --> 00:00:45,730 Mēs dodam jums daudz SQL jūs, iespējams, varētu nepieciešams izmantot. 10 00:00:45,730 --> 00:00:50,520 Mēs staigāt jūs cauri daudz no tā, lai tā nebūtu pārāk slikti. 11 00:00:50,520 --> 00:00:54,560 Vai kāds sāka vai pabeigta? 12 00:00:55,380 --> 00:00:59,710 Tas ir pēdējais PSET. Ak, mans Dievs. 13 00:00:59,710 --> 00:01:05,400 Parasti tur ir aktivizētam viens pēc tam, bet kalendāra mainīt lietas 14 00:01:05,400 --> 00:01:09,560 padara visu 1 nedēļa īsāks, un mums vairs nebūs JavaScript PSET. 15 00:01:09,560 --> 00:01:12,310 Es nezinu, kā tas ietekmē to, vai JavaScript ir gatavojas parādīties uz eksāmenu 16 00:01:12,310 --> 00:01:15,510 vai Quiz 1. 17 00:01:15,510 --> 00:01:22,260 Es domāju, tas būs kaut kas līdzīgs jums jāzina augsta līmeņa lietas par JavaScript, 18 00:01:22,260 --> 00:01:26,460 bet es šaubos, ka mēs gribētu tikai jums taisni JavaScript kodu 19 00:01:26,460 --> 00:01:28,720 jo jums nav bijusi PSET tajā. 20 00:01:28,720 --> 00:01:33,000 Bet tas būs sīkumi par viktorīna pārskatīt nākamnedēļ. 21 00:01:33,000 --> 00:01:36,320 >> Sadaļā jautājumiem. 22 00:01:36,320 --> 00:01:43,870 Šīs daudz stuff ir nedaudz slikti formulēts, bet mēs apspriestu, kāpēc. 23 00:01:43,870 --> 00:01:50,220 Atšķirībā C, PHP ir "dinamiski drukāti" valoda. Ko tas nozīmē, Jums uzdot? 24 00:01:50,220 --> 00:01:53,830 Nu, atvadīties uz visiem tiem char, peldēt, Int, un citiem atslēgvārdiem jums ir nepieciešams izmantot 25 00:01:53,830 --> 00:01:56,190 deklarējot mainīgos un funkcijas C. 26 00:01:56,190 --> 00:02:00,420 PHP, mainīgs tips nosaka vērtību, tas patlaban notiek. 27 00:02:00,420 --> 00:02:04,990 Tātad, pirms mēs ierakstiet šo kodu failu sauc dynamic.php, 28 00:02:04,990 --> 00:02:12,670 PHP ir dinamiski drukāti. Tā ir taisnība. 29 00:02:12,670 --> 00:02:17,590 Es nepiekrītu tam, ka tas nozīmē, ka mēs esam sakot ardievas char, peldēt, int, 30 00:02:17,590 --> 00:02:20,620 un citus atslēgvārdus. 31 00:02:20,620 --> 00:02:25,510 Precīzu atšķirību starp dinamiski drukāti un pakārtoti, 32 00:02:25,510 --> 00:02:32,010 kas ir statiski drukāti, ka dinamiski drukāti, visas jūsu tipa pārbaudes un stuff 33 00:02:32,010 --> 00:02:37,350 notiek pie palaist laikā, savukārt statiski drukāti tā notiek kompilēšanas laikā. 34 00:02:37,350 --> 00:02:43,030 Vārds statiskā kopumā šķiet, nozīmē kompilēšanas laikā lietas. 35 00:02:43,030 --> 00:02:48,170 Es domāju, ka ir citi izmanto to, bet C kad deklarēt statisku mainīgs, 36 00:02:48,170 --> 00:02:52,650 to uzglabāšana piešķirta kompilēšanas laikā. 37 00:02:52,650 --> 00:02:59,260 Lūk, dinamiski drukāti tikai nozīmē, ka - 38 00:02:59,260 --> 00:03:04,350 C, ja jūs mēģināt pievienot stīgu un veselam skaitlim, kad jūs sastādīt to, 39 00:03:04,350 --> 00:03:11,000 tas notiek, lai sūdzēties, jo tas notiek, lai teikt, ka jūs nevarat pievienot int un rādītāju. 40 00:03:11,000 --> 00:03:14,710 Tas vienkārši nav derīgs operācija. 41 00:03:14,710 --> 00:03:21,170 Tas ir cita lieta, ka mēs sāksim sekundē. 42 00:03:21,170 --> 00:03:24,860 Bet ka veida pārbaudes, ka tā pārmet kompilēšanas laikā, 43 00:03:24,860 --> 00:03:29,220 ir statiska veida pārbaudi. 44 00:03:29,220 --> 00:03:35,220 Ir valodas, kurās jums nav nepieciešams teikt char, peldēt, Int, un visas no tām lietām, 45 00:03:35,220 --> 00:03:40,940 bet valodu var pateikt no saistībā ar lieta, kāda veida tā ir vajadzēja būt, 46 00:03:40,940 --> 00:03:43,980 taču tas joprojām statiski drukāti. 47 00:03:43,980 --> 00:03:49,000 Tātad, ja jūs ņemt 51, OCaml, jums nekad nevajadzēs izmantot jebkuru no šiem veidiem, 48 00:03:49,000 --> 00:03:58,700 taču tas joprojām būs kompilēšanas laikā, jūs nevarat izdarīt, jo tu esi sajaucot int un virkne. 49 00:03:58,700 --> 00:04:05,650 Dinamiski drukāti tikai nozīmē, ka dažkārt laikā palaist laikā jūs gatavojas saņemt sūdzību. 50 00:04:05,650 --> 00:04:13,430 Ja Jums ir arī izmanto Java, pirms vispār, gandrīz jebkurš C tipa valoda 51 00:04:13,430 --> 00:04:20,070 būs statiski drukāti, tāpēc C, C + +, Java, visi no tiem ir parasti statiski drukāti. 52 00:04:20,070 --> 00:04:22,910 Java kad jūs sastādīt kaut ko un jūs sakāt 53 00:04:22,910 --> 00:04:26,670 stīgu s vienāds jauna kaut kas nav virkne, 54 00:04:26,670 --> 00:04:28,950 kas notiek, lai sūdzēties, jo šie tipi vienkārši nesakrīt augšu. 55 00:04:28,950 --> 00:04:31,180 Tas notiek, lai sūdzēties kompilēšanas laikā. 56 00:04:31,180 --> 00:04:36,750 Bet tas arī ir dažas dinamisks laiks lietām, piemēram, ja jūs mēģināt nodot kaut 57 00:04:36,750 --> 00:04:40,500 tipam, kas ir konkrētāki kā pašreizējā veida, 58 00:04:40,500 --> 00:04:45,610 tur nekas to var darīt kompilēšanas laikā, lai pārbaudītu, vai šī lieta ir gatavojas gūt panākumus. 59 00:04:45,610 --> 00:04:51,130 Java ir arī daži dinamisku tipa pārbaude, ka, tiklīdz kā tas izpaužas uz šo līniju kodu 60 00:04:51,130 --> 00:04:54,130 kad tas ir faktiski izpildes, tā gatavojas darīt cast, 61 00:04:54,130 --> 00:04:56,260 pārbaudītu, vai tas metiens bija spēkā pirmajā vietā, 62 00:04:56,260 --> 00:04:59,890 un ja tas tā nav, tad tas notiek, lai sūdzas, ka jums ir nederīgs tips. 63 00:04:59,890 --> 00:05:03,200 Dinamiskā tipa pārbaude. 64 00:05:03,200 --> 00:05:07,010 Ierakstiet to vērā failu sauc dynamic.php. 65 00:05:10,130 --> 00:05:12,380 Dynamic.php. 66 00:05:14,580 --> 00:05:17,190 Es unzip šo formatējumu. 67 00:05:18,750 --> 00:05:21,880 Mums ir mainīgs, mēs noteikti to skaitlim 7, 68 00:05:21,880 --> 00:05:27,930 tad mēs ejam, lai to izdrukāt un% s - 69 00:05:27,930 --> 00:05:32,830 Ak, mēs esam drukāšanas veidu tā, lai gettype gatavojas atgriezties veidu mainīgā. 70 00:05:32,830 --> 00:05:35,720 Mēs esam tikai drukāšanas veidu atkal un atkal. 71 00:05:35,720 --> 00:05:39,440 Mēs tikko php.dynamic.php. 72 00:05:39,440 --> 00:05:45,920 Mēs redzam, ka tas mainās no skaitlim līdz virknes Būla kā mēs iet cauri. 73 00:05:45,920 --> 00:05:54,590 C nav Būla datu tips, nav virkne datu tips. 74 00:05:54,590 --> 00:06:00,500 Ir char * un Būla vienkārši mēdz būt int vai char vai kaut. 75 00:06:00,500 --> 00:06:05,690 PHP šiem veidiem pastāv, un tas ir viens no lielas priekšrocības PHP virs C - 76 00:06:05,690 --> 00:06:13,290 ka stīgu darbības ir nesalīdzināmi vieglāk PHP nekā C. Viņi vienkārši strādā. 77 00:06:13,290 --> 00:06:18,290 >> Tātad mēs atgriezties šeit. 78 00:06:18,290 --> 00:06:21,260 Mums bija dynamic.php. 79 00:06:21,260 --> 00:06:26,710 Šī stāsta PHP tulks, sauc par PHP, lai palaistu PHP kodu dynamic.php. 80 00:06:26,710 --> 00:06:30,250 Ja jums ir kādi kļūdas failā, tulks jums pateiks! 81 00:06:30,250 --> 00:06:39,110 Tulks, šis ir vēl viens liela atšķirība starp PHP un C 82 00:06:39,110 --> 00:06:48,200 C jums ir apkopot kaut ko un tad palaist šo apkopota failu. 83 00:06:48,200 --> 00:06:50,490 PHP jūs nekad sastādīt neko. 84 00:06:50,490 --> 00:06:57,200 Tāpēc PHP tulks būtībā tikai lasot šo rindu pa rindai. 85 00:06:57,200 --> 00:07:02,900 Tas hits var = 7, tad tas hits printf tad tas hits var tad tas hits printf un tā tālāk. 86 00:07:02,900 --> 00:07:10,910 Ir apkopošanu tas mazliet, un tas kešatmiņas rezultātus 87 00:07:10,910 --> 00:07:15,510 tādēļ, ja jūs palaist skriptu vēlāk jūs varat darīt, daži, 88 00:07:15,510 --> 00:07:19,280 bet būtībā tas pozīcijai veida lieta. 89 00:07:19,280 --> 00:07:25,280 Tas nozīmē, ka daudz no optimizācijām ka mēs ar C, 90 00:07:25,280 --> 00:07:31,920 tāpat apkopojot, tas ir tikai parasti kompilators var darīt daudz triku, lai jums. 91 00:07:31,920 --> 00:07:36,110 To var izņemt neizmantotās mainīgos, tā var darīt visas šīs lietas veidu, 92 00:07:36,110 --> 00:07:38,660 tā var darīt asti rekursijas. 93 00:07:38,660 --> 00:07:42,550 PHP jūs neesat gatavojas saņemt šo priekšrocību 94 00:07:42,550 --> 00:07:45,690 jo tas ir tikai gatavojas sākt izpildot rindu pa rindai līnija, 95 00:07:45,690 --> 00:07:49,950 un tas nav īsti atpazīt šīs lietas, kā viegli 96 00:07:49,950 --> 00:07:54,440 jo tas nav 1 liels apkopojums pa lieta iet un tad izpilde; 97 00:07:54,440 --> 00:07:56,860 tas ir tikai pozīcijai. 98 00:08:00,730 --> 00:08:02,750 Tā ka ir tulks. 99 00:08:02,750 --> 00:08:06,840 >> Atpakaļ uz mūsu dinamisku mašīnrakstīšanas: diezgan vēss, vai nē? 100 00:08:06,840 --> 00:08:08,640 Jūs noteikti nevar darīt, ka C! 101 00:08:08,640 --> 00:08:11,860 Tagad, redzēt, ja jūs varat izdomāt veidu katrā no šādām vērtībām. 102 00:08:11,860 --> 00:08:14,760 Redzētu šo atsauci. 103 00:08:14,760 --> 00:08:19,420 Tātad 3.50. Kāda veida jūs domājat, ka būs? 104 00:08:24,480 --> 00:08:26,370 Šeit ir veidi mums ir. 105 00:08:26,370 --> 00:08:30,430 Mums ir bools, integers, peldošas punkti, stīgas, masīvi objekti, 106 00:08:30,430 --> 00:08:38,370 un tad resursiem, kas ir sava veida neskaidrs. 107 00:08:38,370 --> 00:08:41,010 Es domāju, ka tur tiešām piemērs šeit. 108 00:08:41,010 --> 00:08:43,740 Tad tur ir NULL. NULL ir īpaša veida. 109 00:08:43,740 --> 00:08:47,140 Atšķirībā C kur NULL ir tikai rādītājs ar adresi 0, 110 00:08:47,140 --> 00:08:54,930 PHP, NULL ir sava veida, kur derīgs tikai lieta par šāda veida ir NULL. 111 00:08:57,560 --> 00:09:00,670 Tas ir daudz vairāk noderīga kļūdu labošanas. 112 00:09:00,670 --> 00:09:04,310 C, kur mums bija šo jautājumu, kur, ja tu atgriezties null, 113 00:09:04,310 --> 00:09:08,660 tas nozīmē jūs esat atgriežoties NULL rādītāju vai izmantojot NULL neizsaka kļūda 114 00:09:08,660 --> 00:09:12,380 vai visas šīs neskaidrības mums bija vienu punktu. 115 00:09:12,380 --> 00:09:18,440 Lūk, atgriežoties NULL parasti nozīmē kļūda. 116 00:09:20,860 --> 00:09:27,300 Daudz arī atgriezties viltus kļūda. 117 00:09:27,300 --> 00:09:33,140 Bet jautājums ir NULL tips, vienīgais, par nulles veida ir NULL. 118 00:09:33,140 --> 00:09:40,090 Tad atzvanīšanas ir kā jūs varat noteikt dažas anonīmas funkcijas. 119 00:09:40,090 --> 00:09:46,420 Jums nav, lai dotu funkcija nosaukumu, bet jums nebūs galā ar šo šeit. 120 00:09:46,420 --> 00:09:53,940 Raugoties no veidiem, kas viņiem gaida, lai mēs zinām, 121 00:09:53,940 --> 00:09:59,000 Ko jūs domājat par 3,50 veids ir? >> [Students] pludiņa. 122 00:09:59,000 --> 00:10:00,370 Yeah. 123 00:10:00,370 --> 00:10:06,290 Tātad, tad šeit, ko jūs domājat par šo veidu? >> [Students] Array. 124 00:10:06,290 --> 00:10:09,890 Yeah. Pirmais bija peldēt, otrais ir masīvs. 125 00:10:09,890 --> 00:10:14,500 Ievērojiet, ka šis masīvs nav kā C masīvs 126 00:10:14,500 --> 00:10:19,610 kur jums ir indekss 0 ir zināma nozīme, 1 indekss ir zināma nozīme. 127 00:10:19,610 --> 00:10:26,320 Šeit indeksi, b un c un vērtības ir 1, 2, 3 un. 128 00:10:26,320 --> 00:10:33,980 PHP nav starp asociatīvā masīva un tikai regulāri masīvs atšķirība 129 00:10:33,980 --> 00:10:36,740 kā jūs domājat par to C. 130 00:10:36,740 --> 00:10:43,040 Tur ir tikai tas, un zem motora pārsega regulāri masīvs ir tikai asociatīvā masīva 131 00:10:43,040 --> 00:10:50,000 bija 0 kartes uz kādu vērtību pašā veidā kartes uz kādu vērtību. 132 00:10:50,000 --> 00:11:00,410 Šī iemesla dēļ, PHP var būt diezgan slikts tiešām ātri kods / salīdzinošās lietām 133 00:11:00,410 --> 00:11:07,930 jo C, ja jūs izmantojat masīvu jūs zināt, ka, izmantojot locekli ir nemainīgs laika. 134 00:11:07,930 --> 00:11:11,860 PHP piekļuvei locekli ir kas zina, cik daudz laika? 135 00:11:11,860 --> 00:11:18,970 Tas ir iespējams, nemainīgu, ja tas hashes pareizi. 136 00:11:18,970 --> 00:11:21,620 Kurš zina, ko tas īsti dara zem pārsega? 137 00:11:21,620 --> 00:11:25,600 Jums tiešām ir nepieciešams apskatīt īstenošanu, lai redzētu, kā tas notiek, lai risinātu ar to. 138 00:11:25,600 --> 00:11:28,550 Tā tad fopen. 139 00:11:28,550 --> 00:11:36,420 Es domāju, šeit pieņemsim tikai PHP pamācību fopen skatīties uz atgriešanās veidu. 140 00:11:36,420 --> 00:11:41,260 Mēs redzam šeit jūs varat meklēt diezgan daudz jebkuru funkciju PHP rokasgrāmatā 141 00:11:41,260 --> 00:11:47,540 un tas ir sava veida cilvēks lapas PHP. 142 00:11:47,540 --> 00:11:51,060 Atgriešanās tips būs resurss. 143 00:11:51,060 --> 00:11:56,050 Tieši tāpēc es paskatījos to, jo mēs neesam īsti noteikt resursu. 144 00:11:56,050 --> 00:12:04,110 Resursu ideja, jo C jūs veida ieguvuši fails * vai neatkarīgi; 145 00:12:04,110 --> 00:12:07,200 PHP resurss ir jūsu failu *. 146 00:12:07,200 --> 00:12:10,360 Tas ir tas, ko jūs esat būs lasīšanu no tā, ko jūs esat būs rakstiski. 147 00:12:10,360 --> 00:12:20,710 Tas parasti ārējo, tāpēc tas ir resurss, jūs varat pull lietām no un mest lietas. 148 00:12:20,710 --> 00:12:26,520 Un visbeidzot, kāda ir veida NULL? >> [Students] NULL. 149 00:12:26,520 --> 00:12:30,650 Yeah. Tātad vienīgā lieta, kas ir NULL ir NULL. 150 00:12:30,650 --> 00:12:33,480 NULL ir NULL. 151 00:12:35,490 --> 00:12:41,170 >> Viena iezīme PHP tipa sistēmas (lai labāk vai sliktāk), ir tās spēja žonglēt veidus. 152 00:12:41,170 --> 00:12:44,390 Kad jūs rakstīt līnijas PHP kodu, kas apvieno vērtības dažādu veidu, 153 00:12:44,390 --> 00:12:46,670 PHP mēģinās darīt saprātīgi lieta. 154 00:12:46,670 --> 00:12:48,920 Izmēģināt katru no šiem virzieniem PHP kodu. Kas izdrukāt? 155 00:12:48,920 --> 00:12:51,000 Vai tas, ko jūs gaidīts? Kāpēc jā vai nē? 156 00:12:51,000 --> 00:12:58,600 Tas par PHP fakts ir tas, kas padara to, ko mēs saucam vāji drukāti. 157 00:12:58,600 --> 00:13:04,610 Vāji drukāti un stipri drukāti, 158 00:13:04,610 --> 00:13:06,840 pastāv dažādi izmanto šo terminu, 159 00:13:06,840 --> 00:13:12,020 bet lielākā daļa cilvēku izmanto vāji drukāti un stipri drukāti nozīmē šāda veida lieta 160 00:13:12,020 --> 00:13:15,920 kur ("1" + 2); kas darbojas. 161 00:13:15,920 --> 00:13:18,290 C, kas nedarbojas. 162 00:13:18,290 --> 00:13:22,490 Jūs varat iedomāties, tas nedarbojas. 163 00:13:22,490 --> 00:13:29,200 Daudzi cilvēki jaukt dinamisku mašīnrakstīšanas un vāja rakstīt un statisko rakstīt un spēcīgu rakstīt. 164 00:13:29,200 --> 00:13:34,050 Python ir vēl viens piemērs valodā, kas ir dinamiski drukāti. 165 00:13:34,050 --> 00:13:41,770 Jūs varat mest apkārt veidiem mainīgo un tas notiek, lai noteiktu pie palaist laikā 166 00:13:41,770 --> 00:13:44,680 jebkura kļūda checkings. 167 00:13:44,680 --> 00:13:50,740 Python tas notiek, lai izpildītu šo un to redzēs ("1" + 2); 168 00:13:50,740 --> 00:13:55,920 un tas neizdosies, jo tā saka, jūs nevarat pievienot stīgu un veselam skaitlim. 169 00:13:55,920 --> 00:14:00,860 PHP, kas ir tikpat dinamiski drukāti, tas nav neizdoties. 170 00:14:00,860 --> 00:14:04,220 Vāja rakstīt ir saistīts ar to, ka tā dara lietas ar veidiem 171 00:14:04,220 --> 00:14:07,800 ka nav īsti jēgas obligāti. 172 00:14:07,800 --> 00:14:17,420 Tātad ("1": + 2), es varu iedomāties, ka ir virkne 12, es varu iedomāties, tas ir virkne 3, 173 00:14:17,420 --> 00:14:20,710 Es varu iedomāties, ka tā ir skaitlim 3. 174 00:14:20,710 --> 00:14:24,530 Tas ne vienmēr ir labi definētas, un mēs, iespējams, gatavojas redzēt šeit 175 00:14:24,530 --> 00:14:29,140 ka tad, kad mēs drukāt ("1" + 2), tas ir iespējams, gatavojas galu galā ir dažādi 176 00:14:29,140 --> 00:14:32,320 nekā drukāšanai (1 + "2"). 177 00:14:32,320 --> 00:14:39,700 Un tas mēdz būt, pēc manām domām, uz sliktāk. 178 00:14:39,700 --> 00:14:44,240 Šeit mēs varam mēģināt šo. 179 00:14:44,240 --> 00:14:48,740 Vēl viens maz triks par PHP ir jums nav nepieciešams, lai faktiski rakstīt failu. 180 00:14:48,740 --> 00:14:52,790 Tas ir palaist šo komandu režīmā. 181 00:14:52,790 --> 00:14:57,710 Tā PHP-R, tad mēs varam iemest komandu šeit: 182 00:14:57,710 --> 00:15:06,610 "Print (1" + 2); "un es ņemšu mest jaunu līniju. 183 00:15:19,550 --> 00:15:23,970 Tas iespiests 3. 184 00:15:31,100 --> 00:15:35,330 Izskatās, ka tas drukā 3 un tas ir skaitlis 3. 185 00:15:35,330 --> 00:15:38,420 Tāpēc tagad pamēģināsim otrādi: 186 00:15:38,420 --> 00:15:42,970 "Print (1 + 2"); 187 00:15:45,560 --> 00:15:50,490 Mēs iegūt 3, un tas ir arī būs skaitlim 3? Es godīgi nav ne jausmas. 188 00:15:50,490 --> 00:15:54,030 Izskatās, ka ir konsekventa. 189 00:15:54,030 --> 00:15:59,550 Ir nekad jebkurš no tā ir virkne 12 vai kaut kā iespēja, ka 190 00:15:59,550 --> 00:16:08,080 jo PHP, atšķirībā JavaScript un Java pārāk, 191 00:16:08,080 --> 00:16:11,670 ir atsevišķa operatoru konkatenācija. 192 00:16:11,670 --> 00:16:14,930 Konkatenācija PHP ir dot. 193 00:16:14,930 --> 00:16:22,950 Tātad drukāšanas (1 2 ".) Gatavojas sniegt mums 12. 194 00:16:25,790 --> 00:16:32,420 Šī tendence radīt apjukumu, kur cilvēki cenšas kaut ko darīt, piemēram, str + = 195 00:16:32,420 --> 00:16:37,840 dažas citas lieta, ka viņi vēlas, lai pievienotu uz beigām to stīgu, un kas notiek, lai izgāztos. 196 00:16:37,840 --> 00:16:40,770 Jums nepieciešams darīt str. = 197 00:16:42,000 --> 00:16:46,240 Tik neaizmirstiet konkatenācija PHP ir dot. 198 00:16:46,240 --> 00:16:52,100 Citas lietas izmēģināt: print ("CS" + 50); 199 00:16:55,750 --> 00:17:03,610 Es esmu teicis, ka nav par šo cerību rezultātā CS50 200 00:17:03,610 --> 00:17:06,119 jo konkatenācija nav +. 201 00:17:06,119 --> 00:17:08,440 Ko jūs domājat, ka šis gatavojas galu galā ir? 202 00:17:10,359 --> 00:17:13,460 Es godīgi nav ne jausmas. 203 00:17:14,250 --> 00:17:16,460 Izskatās, ka tas ir tikai 50. 204 00:17:16,460 --> 00:17:21,490 Tā redz virkni, un es bet, ja mēs 123CS - 205 00:17:21,490 --> 00:17:29,640 Tā redz pirmo stīgu, tā mēģina nolasīt kādu no tā skaitlim vai no tā numuru. 206 00:17:29,640 --> 00:17:31,710 Šajā gadījumā tas redz 123CS. 207 00:17:31,710 --> 00:17:35,190 "Tas nav jēgas kā veselums, tāpēc es esmu tikai gatavojas domāt no 123." 208 00:17:35,190 --> 00:17:38,580 Tātad 123 + 50 būs 173. 209 00:17:38,580 --> 00:17:40,740 Un šeit tas sāk lasīt šo kā veselums. 210 00:17:40,740 --> 00:17:45,690 Tā nesaskata neko, lai tā vienkārši izturas pret to kā 0. Tātad 0 + 50 būs 50. 211 00:17:45,690 --> 00:17:51,600 To es esmu pieņemot gatavojas darīt kaut ko līdzīgu. 212 00:17:51,600 --> 00:17:54,310 Es domāju 99. 213 00:17:54,310 --> 00:17:57,580 Jā, jo tas ir gatavojas veikt pirmo - 214 00:18:12,880 --> 00:18:15,730 Tā 99. 215 00:18:15,730 --> 00:18:21,970 Šeit (10/7), ja tas būtu C, ko tas var atgriezties? 216 00:18:23,700 --> 00:18:29,630 [Students] 1. >> Jā, tas būtu 1, jo 10/7 ir dalot 2 integers. 217 00:18:29,630 --> 00:18:32,910 Skaitlis jādala ar skaitlim gatavojas atgriezties skaitlim. 218 00:18:32,910 --> 00:18:37,750 Tā nevar atgriezties 1 punkts lai kas būtu, tāpēc tas ir tikai gatavojas atgriezties 1. 219 00:18:37,750 --> 00:18:46,120 Šeit drukāšanas (10/7), tas notiek, lai reāli interpretēt to. 220 00:18:46,120 --> 00:18:53,760 Un tas nozīmē, ka, ja jūs patiešām vēlaties darīt veselu noapaļošanu un sīkumi, piemēram, ka, 221 00:18:53,760 --> 00:18:59,950 kas jums jādara, drukāt (stāvs (10/7)); 222 00:18:59,950 --> 00:19:08,460 C tas ir iespējams dīvaini, ka jūs varat paļauties uz veselu truncation regulāri, 223 00:19:08,460 --> 00:19:12,260 bet PHP jūs nevar, jo tas automātiski pārvērst to apgrozāmos līdzekļus. 224 00:19:13,430 --> 00:19:17,610 Un tad (7 + patiess); ko jūs domājat, ka būs? 225 00:19:18,550 --> 00:19:23,640 Es esmu guessing 8 Ja tas notiek, lai interpretēt patiess kā 1. 226 00:19:23,640 --> 00:19:25,740 Izskatās, ka tas ir 8. 227 00:19:25,740 --> 00:19:31,710 >> Tātad kaut ko mēs esam darījuši pēdējos 10 minūtes, jums vajadzētu absolūti nekad darīt. 228 00:19:31,710 --> 00:19:39,870 Jūs redzēsiet kodu, kas to dara. 229 00:19:39,870 --> 00:19:42,700 Tas nav tik vienkārši, kā šis. 230 00:19:42,700 --> 00:19:47,240 Jums varētu būt 2 mainīgie, un 1 mainīga notiek, ir virkne 231 00:19:47,240 --> 00:19:51,310 un citiem mainīgā notiek, ir int, un tad jūs pievienot šos mainīgos kopā. 232 00:19:51,310 --> 00:20:00,120 Tā kā PHP ir dinamiski drukāti un tas nav jādara jebkura tipa pārbaudes par jums 233 00:20:00,120 --> 00:20:03,640 un kopš tā vāji drukāti un kopš tā būs tikai automātiski mest šīs lietas kopā 234 00:20:03,640 --> 00:20:11,490 un viss būs tikai darbs, tas ir grūti pat zināt, ka šis mainīgais ir virkne tagad, 235 00:20:11,490 --> 00:20:14,930 tāpēc es nebūtu to pievienotu šo rādītāju, kas ir skaitlis. 236 00:20:18,780 --> 00:20:24,560 Labākā prakse ir, ja mainīgais ir virkne, saglabāt to kā virknes mūžīgi. 237 00:20:24,560 --> 00:20:26,980 Ja mainīgais ir int, saglabāt to kā int mūžīgi. 238 00:20:26,980 --> 00:20:30,770 Ja jūs vēlaties tikt galā ar veseliem skaitļiem un stīgas, 239 00:20:30,770 --> 00:20:36,970 Jūs varat izmantot varsint - tas ir JavaScript. 240 00:20:36,970 --> 00:20:42,520 Intval. Man tas visu laiku. PHP un JavaScript es sajauc visu. 241 00:20:42,520 --> 00:20:47,600 Tāpēc intval gatavojas atgriezties veselu mainīgā vērtību. 242 00:20:47,600 --> 00:20:56,550 Ja mēs iet uz "print (intval ('123 ')), jūs saņemsiet 123. 243 00:21:06,820 --> 00:21:15,850 Intval pati nav gatavojas darīt to čeku par mums, ka tas ir tikai un vienīgi skaitlim. 244 00:21:15,850 --> 00:21:20,460 PHP roku, tur ir tikai tik daudz funkcijas pieejamas, 245 00:21:20,460 --> 00:21:26,560 tāpēc šeit es domāju, ko es varētu izmantot, ir is_numeric pirmais. 246 00:21:26,560 --> 00:21:32,590 Es esmu guessing, ka atgriezies nepatiesa. 247 00:21:32,590 --> 00:21:35,780 Tas ir cita lieta, mums ir jāiet pa ir ===. 248 00:21:37,850 --> 00:21:44,020 Tātad is_numeric ('123df "), jūs nebūtu domāju, ka is_numeric. 249 00:21:44,020 --> 00:21:46,720 C jums būtu atkārtot pa visas rakstzīmes 250 00:21:46,720 --> 00:21:50,410 un pārbaudiet, vai katrs simbols ir cipars vai neatkarīgi. 251 00:21:50,410 --> 00:21:53,850 Šeit is_numeric gatavojas darīt, ka mums, 252 00:21:53,850 --> 00:21:56,520 un tas ir atgriešanās nepatiesa. 253 00:21:56,520 --> 00:22:02,120 Tātad, kad es drukāts ka, to izdrukāt neko, tāpēc šeit es esmu salīdzinot to redzēt, 254 00:22:02,120 --> 00:22:05,490 Jūs notikt būt viltus? Un tāpēc tagad tas ir drukāšanas 1. 255 00:22:05,490 --> 00:22:10,060 Acīmredzot tas drukā 1 kā patiess nevis drukāšanas taisnība, jo taisnība. 256 00:22:10,060 --> 00:22:15,790 Nez, ja es daru print_r. Nē, tas joprojām nav 1. 257 00:22:15,790 --> 00:22:26,760 >> Dodas atpakaļ uz ===, == joprojām pastāv, 258 00:22:26,760 --> 00:22:32,260 un, ja tu runā ar Tommy viņš saka == ir perfekti labi. 259 00:22:32,260 --> 00:22:37,700 Es esmu gatavojas teikt, ka == ir briesmīga, un jums nekad nevajadzētu izmantot ==. 260 00:22:37,700 --> 00:22:44,870 Atšķirība ir tā, ka == salīdzina lietas 261 00:22:44,870 --> 00:22:48,450 kur tas var būt taisnība, pat ja viņi nav viena veida, 262 00:22:48,450 --> 00:22:53,810 tā === salīdzina lietas, un pirmkārt tas pārbaudes tie paši veidu? 263 00:22:53,810 --> 00:22:58,010 Jā. Labi, tagad es esmu gatavojas, lai redzētu, vai viņi tiešām salīdzināt būtu vienādi. 264 00:22:58,010 --> 00:23:08,890 Jūs saņemsiet dīvainas lietas, piemēram, 10 vienāds - Paskatīsimies, kas saka. 265 00:23:08,890 --> 00:23:15,570 Tātad ('10 '== '1 E1'); 266 00:23:15,570 --> 00:23:17,980 Tas atgriež taisnība. 267 00:23:17,980 --> 00:23:21,420 Vai kāds ir kādi minējumi, kāpēc tas atgriež taisnība? 268 00:23:25,180 --> 00:23:27,120 Tas ir ne tikai par to. Varbūt tas ir mājiens. 269 00:23:27,120 --> 00:23:33,170 Bet, ja es mainītu, ka ar F - darn to! Es turpinu izmantojot pēdiņas. 270 00:23:33,170 --> 00:23:38,780 Iemesls pēdiņas tiek kliedza uz mani ir, jo es esmu nodot šo pēdiņas. 271 00:23:38,780 --> 00:23:43,850 Lai es varētu izvairīties no dubultās pēdiņas šeit, bet vienu pēdiņām padara vieglāku. 272 00:23:43,850 --> 00:23:49,120 Tātad ('10 '== '1 F1); nedrukā taisnība. ('10 '== '1 E1 "); izdrukas taisnība. 273 00:23:49,120 --> 00:23:56,330 [Students] Vai tas Hex? >> Tas nav heks, bet tas ir tuvu, ka tas ir tāpat - 274 00:23:56,330 --> 00:24:01,060 1e1, zinātniskā notācija. 275 00:24:01,060 --> 00:24:07,950 Tā atzīst 1e1 kā 1 * 10 ^ 1 vai neatkarīgi. 276 00:24:07,950 --> 00:24:11,510 Tie ir vienādi veseli skaitļi. 277 00:24:11,510 --> 00:24:15,930 Ja mēs to === tad tas būs nepatiesa. 278 00:24:15,930 --> 00:24:28,490 Man tiešām nav ne jausmas, ja mēs == ko par (10 un '10abc ');? Labi. Tāpēc, ka ir taisnība. 279 00:24:28,490 --> 00:24:35,940 Tātad tāpat kā tad, kad jūs (10 + '10abc '), un tas būtu 20, 280 00:24:35,940 --> 00:24:38,800 šeit (10 == '10abc "); ir taisnība. 281 00:24:38,800 --> 00:24:45,350 Vēl sliktāk ir lietas, piemēram (viltus == NULL); ir taisnība 282 00:24:45,350 --> 00:24:52,210 vai (viltus == 0); ir taisnība, (viltus == []); 283 00:24:52,210 --> 00:25:00,970 Ir dīvaini gadījumi - Tas ir viens no tiem dīvaini gadījumos. 284 00:25:00,970 --> 00:25:08,110 Ievērojiet, ka (viltus == []) ir taisnība. 285 00:25:08,110 --> 00:25:11,950 ('0 '== Nepatiess), ir taisnība. 286 00:25:11,950 --> 00:25:16,090 ('0 '== []) Ir nepatiesa. 287 00:25:16,090 --> 00:25:19,090 Tātad == nekādā veidā transitīvās. 288 00:25:19,090 --> 00:25:26,830 var būt vienāda ar B un var būt vienāds ar c, 289 00:25:26,830 --> 00:25:29,340 bet b varētu būt vienāds ar c. 290 00:25:29,340 --> 00:25:35,580 Tas ir kaut kas pretīgs, lai man, un jums vajadzētu vienmēr izmantot ===. 291 00:25:35,580 --> 00:25:38,590 [Students] Vai mēs == kā arī!? >> [Bowden] Jā. 292 00:25:38,590 --> 00:25:44,600 Ekvivalents būtu! = Un ==.! 293 00:25:44,600 --> 00:25:48,230 Šis ir faktiski uzaudzis PSET spec 294 00:25:48,230 --> 00:25:52,000 kur daudz funkciju atgriešanās - 295 00:25:52,000 --> 00:25:53,890 PHP pamācība ir labs par to. 296 00:25:53,890 --> 00:25:59,140 Tas liek lielā sarkanā kastē, "Tas būs atgriezties viltus ja tur kļūda." 297 00:25:59,140 --> 00:26:03,940 Bet atgriežoties 0 ir pilnīgi pamatota lieta atgriezties. 298 00:26:03,940 --> 00:26:08,250 Padomā par kādu funkciju, kas atkal ir gaidāma skaitlim. 299 00:26:11,250 --> 00:26:17,880 Teiksim šī funkcija ir paredzēts saskaitīt līniju failu vai kaut. 300 00:26:17,880 --> 00:26:23,490 Normālos apstākļos, jums iet šī funkcija failu 301 00:26:23,490 --> 00:26:27,120 un tas notiek, lai atgrieztos skaitlim, kas norāda, cik līniju. 302 00:26:27,120 --> 00:26:30,820 Tāpēc 0 ir pilnīgi pamatota numuru, ja fails ir tikai tukšs. 303 00:26:30,820 --> 00:26:36,810 Bet ja jūs nodot to nederīgu failu un funkciju notiek atgriezties viltus 304 00:26:36,810 --> 00:26:38,860 ja jūs nodot to nederīgu failu? 305 00:26:38,860 --> 00:26:46,500 Ja jūs vienkārši darīt == jūs neesat diferencēt lietu starp nederīgiem failu un tukšu failu. 306 00:26:48,870 --> 00:26:51,350 Vienmēr izmantot ===. 307 00:26:55,690 --> 00:26:58,000 Tas ir visiem tiem. 308 00:26:58,000 --> 00:27:01,660 >> PHP, masīvs veids ir atšķirīgs no tā, ko jūs esat pieraduši uz C. 309 00:27:01,660 --> 00:27:06,650 Patiesi, jūs, iespējams, jau pamanījuši šo iepriekš, kad redzējām, ka tas ir tipa masīvs. 310 00:27:06,650 --> 00:27:15,640 Kronšteinu sintakse ir jauns, jo par 5,4 PHP, kas ir jaunākā versija PHP. 311 00:27:15,640 --> 00:27:36,960 Pirms šo jūs vienmēr bija rakstīt masīvs ("" -> 1, "b" -> 2. 312 00:27:36,960 --> 00:27:41,160 Tas bija konstruktors masīva. 313 00:27:41,160 --> 00:27:45,950 Tagad PHP ir beidzot pienācis apkārt ar jauku sintaksi tikai kvadrātiekavās, 314 00:27:45,950 --> 00:27:50,900 kas ir tikai tik daudz labāk nekā masīvs. 315 00:27:50,900 --> 00:27:54,480 Bet ņemot vērā, PHP 5,4 ir jaunākā versija, 316 00:27:54,480 --> 00:27:59,090 Jums var rasties vietās, kas nav pat PHP 5.3. 317 00:27:59,090 --> 00:28:08,220 Pa vasaru mēs uzbrauca šo jautājumu, kur PHP 5,3 bija tas, ko mums bija uz ierīces, 318 00:28:08,220 --> 00:28:14,480 bet serveris ka mēs izvietoti visus mūsu kvalitātes grāmatu un iesniegt, un visu, kas stuff 319 00:28:14,480 --> 00:28:16,750 bija PHP 5.4. 320 00:28:16,750 --> 00:28:23,060 Ne zinot to, mēs izstrādāta 5.3 uzstāja līdz 5,4, 321 00:28:23,060 --> 00:28:25,660 un tagad pēkšņi neviens no mūsu kodu darbi 322 00:28:25,660 --> 00:28:28,680 jo tur noticis, ir bijušas izmaiņas starp 5.3 un 5.4 323 00:28:28,680 --> 00:28:31,030 kas nav savietojams, 324 00:28:31,030 --> 00:28:35,770 un mums ir jāiet un noteikt visus mūsu lietām, kas nav darbs 5,4 PHP. 325 00:28:39,210 --> 00:28:42,320 Šīs klases, jo ierīce tiešām ir PHP 5,4, 326 00:28:42,320 --> 00:28:45,490 tas ir pilnīgi naudas sodu, lai izmantotu kvadrātiekavas. 327 00:28:47,240 --> 00:28:50,440 Bet, ja jūs meklējat up lietām ap internetu, 328 00:28:50,440 --> 00:28:54,880 ja jūs meklējat up kādu masīva sīkumi, visticamāk jūs gatavojas redzēt 329 00:28:54,880 --> 00:29:02,020 ārpus masīva konstruktors sintaksi pareizrakstības jo tas ir aptuveni kopš PHP dzimis 330 00:29:02,020 --> 00:29:07,340 un kvadrātiekavas sintakse ir aptuveni par pēdējo pāris mēnešu laikā 331 00:29:07,340 --> 00:29:10,020 vai tad, kad 5,4 ieradās apmēram. 332 00:29:10,020 --> 00:29:12,710 Tas ir, kā jūs indekss. 333 00:29:12,710 --> 00:29:30,610 Tāpat kā K kā tu indekss pēc kvadrātiekavās, piemēram, $ masīvs [0], $ masīvs [1], $ masīvs [2], 334 00:29:30,610 --> 00:29:36,320 Jūs indekss tāpat, ja jūs notikt ir jūsu indeksi ir stīgas. 335 00:29:36,320 --> 00:29:40,440 Tātad $ masīvs [''] un $ masīvs ['b']. 336 00:29:40,440 --> 00:29:47,410 $ Masīvs [b]. Kāpēc tas būtu nepareizi? 337 00:29:52,490 --> 00:29:59,870 Tas būs iespējams radīt brīdinājumu, bet joprojām strādā. PHP tendence darīt. 338 00:29:59,870 --> 00:30:04,890 Tā ir tendence vienkārši, "es esmu gatavojas jūs brīdināt par to, bet es esmu tikai gatavojas glabāt iet 339 00:30:04,890 --> 00:30:07,550 ", Un darīt, ko varam." 340 00:30:07,550 --> 00:30:11,500 Tas būs iespējams tulkot šo virkni, 341 00:30:11,500 --> 00:30:15,000 bet tas ir iespējams, ka kādā brīdī pagājušajā kāds teica 342 00:30:15,000 --> 00:30:20,180 noteikt b būt "HELLO WORLD". 343 00:30:20,180 --> 00:30:28,740 Tāpēc tagad b varētu būt pastāvīga un $ masīvs [b] faktiski tiks dara "HELLO WORLD". 344 00:30:28,740 --> 00:30:32,380 Es domāju, ka šajā brīdī, vai vismaz mūsu PHP iestatījumi, 345 00:30:32,380 --> 00:30:37,870 ja jūs mēģināt indeksam masīvs un ka galvenais nav, tas nebūs. 346 00:30:37,870 --> 00:30:40,150 Es nedomāju, ka tas būs tikai jūs brīdināt. 347 00:30:40,150 --> 00:30:44,560 Vai vismaz jūs varat iestatīt tā, lai tas nav tikai brīdināt jūs, tas tikai taisni uz augšu neizdodas. 348 00:30:44,560 --> 00:30:49,290 >> Kā jūs pārbaudīt, lai redzētu, vai tiešām ir tāds rādītājs ir isset. 349 00:30:49,290 --> 00:30:54,690 Tātad isset ($ masīvs ['Hello World']) atgriezīsies nepatiesa. 350 00:30:54,690 --> 00:30:59,160 isset ($ masīvs ['b']) atgriezīsies taisnība. 351 00:31:06,830 --> 00:31:09,880 Jūs varat sajauc šīs sintakses. 352 00:31:15,060 --> 00:31:22,440 Es esmu diezgan pārliecināts, ko tas masīvs galu galā ir - mēs varam pārbaudītu to. 353 00:31:43,290 --> 00:31:45,700 Ak, man vajag PHPWord. 354 00:31:53,960 --> 00:32:00,260 Tas ir sajaucot sintaksi, kur Jums jānorāda, kāda galvenais ir 355 00:32:00,260 --> 00:32:03,330 un jums nav jānorāda kāda atslēga. 356 00:32:03,330 --> 00:32:05,520 Tātad 3 šeit ir vērtība. 357 00:32:05,520 --> 00:32:08,080 Jums nav skaidri teica, ko tās galvenais būs. 358 00:32:08,080 --> 00:32:11,670 Ko jūs domājat, ka tā atslēga būs? 359 00:32:11,670 --> 00:32:21,410 [Students] 0. >> Es esmu guessing 0 tikai tāpēc, ka tas ir pirmais, mēs esam nav norādīts. 360 00:32:21,410 --> 00:32:23,500 Mēs faktiski var darīt pāris no šiem gadījumiem. 361 00:32:23,500 --> 00:32:28,030 Tātad print_r ir drukāt rekursīvs. Tas drukāt visu masīvs. 362 00:32:28,030 --> 00:32:32,700 Tas varētu drukāt subarrays no masīva, ja būtu kāds. 363 00:32:32,700 --> 00:32:36,630 Tātad print_r ($ masīvs); php.test.php. 364 00:32:36,630 --> 00:32:38,810 Tas izskatās tā deva tam 0. 365 00:32:38,810 --> 00:32:43,530 Tur tiešām kaut kas jāpatur prātā, bet mēs nokļūt atpakaļ uz to citā. 366 00:32:43,530 --> 00:32:45,850 Bet ja es notikt, lai padarītu šo indeksu 1? 367 00:32:45,850 --> 00:32:51,170 PHP neizšķir stīgu indeksu un integer indeksiem, 368 00:32:51,170 --> 00:33:00,280 lai šajā brīdī es esmu tikko noteikts indeksu 1 un es varu darīt gan $ Array [1] un $ Array [1 "] 369 00:33:00,280 --> 00:33:06,250 un tas būs tāds pats rādītājs un pats galvenais. 370 00:33:06,250 --> 00:33:13,000 Tātad tagad, ko jūs domājat 3 būs? >> [Students] 2. >> [Bowden] Es esmu guessing 2. 371 00:33:16,000 --> 00:33:18,690 Yeah. Tas ir 2. 372 00:33:18,690 --> 00:33:24,790 Ko darīt, ja mēs to darījām ir 10, tas ir par 4? Ko jūs domājat par 3 indekss būs? 373 00:33:27,360 --> 00:33:29,110 Es domāju 11. 374 00:33:29,110 --> 00:33:33,060 Mans minējums par to, ko PHP dara - un es domāju, ka es esmu redzējis šo pirms - 375 00:33:33,060 --> 00:33:39,760 tas ir tikai tur līdzi tam, ko augstākā skaitliskais rādītājs tas, ko līdz šim ir. 376 00:33:39,760 --> 00:33:44,230 Tas nekad gatavojas piešķirt virkni rādītāju līdz 3. Tā vienmēr būs ciparu indeksu. 377 00:33:44,230 --> 00:33:47,690 Tātad tas seko visaugstākajā tas piešķirtajiem tik tālu, kas notiek, ir 10, 378 00:33:47,690 --> 00:33:52,540 un tas notiek, lai dotu 11-3. 379 00:33:52,540 --> 00:34:02,110 Ko es teicu iepriekš, paziņojums kā tas ir poligrāfijas šo masīvu. 380 00:34:02,110 --> 00:34:06,850 Tā izdrukas taustiņš 10, atslēgu 4, taustiņš 11, atslēgu d. 381 00:34:06,850 --> 00:34:09,790 Vai pat pieņemsim do - 382 00:34:15,760 --> 00:34:22,489 Es domāju, man nav likts 0, bet tas ir drukāšanas 1, 2, 3, 4. 383 00:34:22,489 --> 00:34:29,330 Ko darīt, ja es mainīt šeit? Vai pieņemsim faktiski pāriet šos 2. 384 00:34:29,330 --> 00:34:31,940 Tagad tas drukā 2, 1, 3, 4. 385 00:34:31,940 --> 00:34:41,270 PHP masīvi nav tāpat kā jūsu regulāri hash tabulas. 386 00:34:41,270 --> 00:34:45,570 Tas ir pilnīgi pamatoti domāt par to, kā hash tabulas 99% no laika. 387 00:34:45,570 --> 00:34:53,790 Bet jūsu hash tabulu tur nav kārtībā, kādā lietas tika ievietota sajūtu. 388 00:34:53,790 --> 00:34:56,639 Tā tiklīdz jūs ievietojiet to hash tabulas, 389 00:34:56,639 --> 00:35:00,590 uzņemties tur nav saistīts saraksts un jūs varētu spriest saistītajā sarakstā 390 00:35:00,590 --> 00:35:03,980 kas tika iekļauts pirmais. 391 00:35:03,980 --> 00:35:10,060 Bet šeit mēs ievietots 2 pirmās un tā zina, kad tas izdrukāt šo masīvu, ka 2 ir pirmajā vietā. 392 00:35:10,060 --> 00:35:13,090 Tas nav to izdrukāt tikai jebkurā secībā. 393 00:35:13,090 --> 00:35:17,550 Tehniskie dati struktūra, tas ir, izmantojot, ir pasūtīts karte, 394 00:35:17,550 --> 00:35:24,690 tāpēc tajā izplānots atslēgas vērtībām un tā atceras kārtību, kādā šie taustiņi bija ievietota. 395 00:35:24,690 --> 00:35:31,600 Būtībā tas ir uz dažiem sarežģījumiem, kur tas ir kaitinošas, lai faktiski - 396 00:35:31,600 --> 00:35:34,510 Pieņemsim, ka jums ir masīvs 0, 1, 2, 3, 4, 5 397 00:35:34,510 --> 00:35:37,700 un jūs vēlaties izņemt indekss 2. 398 00:35:37,700 --> 00:35:47,750 Viens no veidiem, kā to darīt, pieņemsim redzēt, kas tas izskatās. 399 00:35:47,750 --> 00:35:50,410 0, 2, 1, 3, 4. 400 00:35:50,410 --> 00:35:54,880 Atstatīt notiek atstatīt gan mainīgie un masīvu indeksus. 401 00:35:54,880 --> 00:35:58,630 Tātad atiestatīta ($ masīvs [2]); 402 00:35:58,630 --> 00:36:03,430 Tagad to, kas tas gatavojas izskatās? 2 ir tikai aizgāja, tā ka ir perfekti labi. 403 00:36:03,430 --> 00:36:11,670 Vairāk kaitinošas ir, ja jūs vēlaties lietas tiešām būt kā masīvu. 404 00:36:11,670 --> 00:36:14,910 Es nolikšu izlases numurus. 405 00:36:14,910 --> 00:36:20,400 Tagad paziņojums manu indeksus. 406 00:36:20,400 --> 00:36:26,860 Es gribu, lai tikai būtu kā C masīvs, kur tā iet no 0 līdz garumā - 1 407 00:36:26,860 --> 00:36:30,810 un es varu atkārtot pār to kā tādu. 408 00:36:30,810 --> 00:36:38,520 Bet, tiklīdz es atiestatītu otro indeksu, kas bija 3 indeksā nav kļuvis indekss 2. 409 00:36:38,520 --> 00:36:44,790 Tā vietā tas tikai noņem šo indeksu, un tagad jūs doties 0, 1, 3, 4. 410 00:36:44,790 --> 00:36:48,740 Tas ir pilnīgi pamatota. 411 00:36:48,740 --> 00:36:53,950 Tas ir tikai kaitinošas, un jums ir darīt lietas, piemēram, masīvs salaist. Yeah. 412 00:36:53,950 --> 00:36:57,200 >> [Students] Kas notiktu, ja Jums bija par cilpu 413 00:36:57,200 --> 00:36:59,630 un jūs gribēja iet pa visiem elementiem? 414 00:36:59,630 --> 00:37:02,290 Kad tas hit 2, vai tas dos kādreiz? 415 00:37:02,290 --> 00:37:10,150 Atkārtojot pa masīvu. Ir 2 veidi, kā jūs varat darīt to. 416 00:37:10,150 --> 00:37:12,770 Jūs varat izmantot regulāri, lai cilpa. 417 00:37:12,770 --> 00:37:22,000 Tas ir vēl viens sarežģījums PHP. 418 00:37:22,000 --> 00:37:27,420 Dzimtās valodas, es teiktu, ir kaut kādas garuma vai len vai kaut 419 00:37:27,420 --> 00:37:30,470 norādot garumu masīva. 420 00:37:30,470 --> 00:37:32,820 PHP tas ir skaits. 421 00:37:32,820 --> 00:37:36,160 Tātad skaits ($ masīvs), $ i + +) 422 00:37:36,160 --> 00:37:42,950 Pieņemsim tikai drukas ($ masīvs [$ i]); 423 00:37:45,920 --> 00:37:48,820 Paziņojums: Undefined offset: 2. 424 00:37:48,820 --> 00:37:51,610 Tas ir tikai gatavojas, lai izgāztos. 425 00:37:51,610 --> 00:38:03,020 Tas ir iemesls, ka attiecībā uz lielāko daļu, jums nekad nevajadzēs atkārtot pa masīvu kā šis. 426 00:38:03,020 --> 00:38:07,110 Tas varētu būt pārspīlēti, bet jūs nekad nepieciešams atkārtot pa masīvu kā šis 427 00:38:07,110 --> 00:38:19,410 jo PHP piedāvā savu foreach sintaksi kur foreach ($ masīvs kā $ postenis). 428 00:38:19,410 --> 00:38:31,830 Tagad, ja mēs drukāt ($ postenis), - we'll apspriest to otro - kas strādā perfekti labi. 429 00:38:31,830 --> 00:38:38,960 Veidā, ka foreach strādā ir pirmais arguments ir masīvs, ka jūs atkārtojot pār. 430 00:38:38,960 --> 00:38:44,060 Un otrais arguments, postenis, caur katru caurlaide no cilpa 431 00:38:44,060 --> 00:38:52,690 tas notiek, lai uz nākamo lieta masīvā. Līdz ar to atcerēties masīvs ir kārtībā. 432 00:38:52,690 --> 00:38:55,690 Pirmo reizi cauri, lai cilpa, postenis būs 123 433 00:38:55,690 --> 00:38:59,540 tad tas būs 12, tad tas būs 13, tad tas būs 23, tad tas būs 213. 434 00:38:59,540 --> 00:39:04,670 Lietas iegūt patiešām dīvaini, ja jūs kaut kas līdzīgs foreach. 435 00:39:04,670 --> 00:39:07,480 Paskatīsimies, kas notiek, jo jūs nekad darīt. 436 00:39:07,480 --> 00:39:13,320 Ko darīt, ja mēs atiestatīta ($ masīvs [1]); 437 00:39:20,410 --> 00:39:26,030 Tas bija iespējams, gaidāms. 438 00:39:26,030 --> 00:39:30,950 Tu esi atkārtojot pār šo masīvā, un katru reizi, kad jūs esat atiestatīšanas pirmo indeksu. 439 00:39:30,950 --> 00:39:39,720 Tātad par 0 indeksu, pirmā lieta, postenis pārņem 0 vērtību, tāpēc tas būs 123. 440 00:39:39,720 --> 00:39:44,630 Bet iekšpusē uz cilpas mēs atiestatīta indekss 1, tāpēc tas nozīmē 12 pagājis. 441 00:39:44,630 --> 00:39:57,480 Tik drukāt. PHP_EOL. 442 00:39:57,480 --> 00:40:03,580 PHP_EOL ir tikai newline, bet tas ir tehniski daudz pārnēsājamu 443 00:40:03,580 --> 00:40:08,890 jo newlines Windows ir atšķirīgs no newlines uz Mac un UNIX. 444 00:40:08,890 --> 00:40:18,040 Uz Windows newline ir \ r \ n, bet visur citur tā mēdz vienkārši ir \ n. 445 00:40:18,040 --> 00:40:25,150 PHP_EOL ir konfigurētas tā, ka tā izmanto neatkarīgi no jūsu sistēmā newline ir. 446 00:40:25,150 --> 00:40:29,310 Tā drukāt, ka. Pieņemsim nav print_r ($ masīvs) beigās. 447 00:40:32,830 --> 00:40:37,390 Man nebija ne jausmas, ka tas būtu uzvedību. 448 00:40:41,740 --> 00:40:48,960 Vienība joprojām uzņemas vērtība 12, lai gan mēs atstatīt 12 Pirms mēs kādreiz got to no masīva. 449 00:40:52,770 --> 00:40:58,840 Neņemiet manu vārdu par to, bet tas izskatās foreach rada kopiju masīva 450 00:40:58,840 --> 00:41:02,160 un tad vienība uzņemas visu šo eksemplāru vērtības. 451 00:41:02,160 --> 00:41:07,760 Tātad, pat ja jūs mainīt masīvs iekšpusē uz cilpas, 452 00:41:07,760 --> 00:41:17,240 tas vienalga. Pozīcija būs par sākotnējo vērtību. 453 00:41:17,240 --> 00:41:19,240 Pamēģināsim atiestatīšanas to. 454 00:41:19,240 --> 00:41:24,460 Ko darīt, ja tas ir $ masīvs [1] = "Hello"; 455 00:41:24,460 --> 00:41:31,770 Pat ja mēs ieliekam "sveiki" uz masīvs, postenis nekad uzņemas šīs vērtības. 456 00:41:31,770 --> 00:41:37,430 Tur ir cita sintakse foreach cilpas 457 00:41:37,430 --> 00:41:45,900 kur jūs varēsiet ievietot 2 mainīgos atdalot ar bultiņu. 458 00:41:45,900 --> 00:41:49,680 Šis pirmais mainīgais būs galvenais šīs vērtības, 459 00:41:49,680 --> 00:41:53,050 un šo otro mainīgais būs pats precīzs priekšmets. 460 00:41:53,050 --> 00:42:01,610 Šis ir neinteresanti šeit, bet, ja mēs ejam atpakaļ uz mūsu sākotnējā gadījumā "a" -> 1, 461 00:42:01,610 --> 00:42:06,090 "B" -> 1, 462 00:42:06,090 --> 00:42:14,470 Šeit, ja mēs vienkārši atkārtot katram masīva kā posteni, postenis būs 1 katru reizi. 463 00:42:14,470 --> 00:42:18,170 Bet, ja mēs arī vēlamies zināt taustiņu saistīta ar šo posteni 464 00:42:18,170 --> 00:42:25,230 tad mēs kā $ atslēga -> $ objektu. 465 00:42:25,230 --> 00:42:31,980 Tātad tagad mēs varam darīt drukas ($ atslēgu. ':'. 466 00:42:31,980 --> 00:42:39,380 Tagad tas atkārtojot atkal un poligrāfijas katru taustiņu un ar to saistītajiem vērtību. 467 00:42:39,380 --> 00:42:47,030 >> Papildu lieta, ko mēs varam darīt, foreach cilpas ir iespējams redzēt šo sintaksi. 468 00:42:47,030 --> 00:42:54,770 Ampersands pirms mainīgo nosaukumi mēdz būt kā PHP dara atsauces. 469 00:42:54,770 --> 00:43:00,460 Kur norādes ir ļoti līdzīgi norādes, 470 00:43:00,460 --> 00:43:04,820 Jums nav norādes, lai jūs nekad nodarbojas ar atmiņu tieši. 471 00:43:04,820 --> 00:43:12,620 Bet jums ir atsauces, kur 1 mainīgais attiecas uz vienu un to pašu kā cita mainīgā. 472 00:43:12,620 --> 00:43:21,450 Iekšpusē šeit pieņemsim do $ postenis. Iesim atpakaļ uz 1, 10. 473 00:43:21,450 --> 00:43:28,800 Darīsim $ postenis + +; Tas joprojām pastāv PHP. Jūs joprojām varat izdarīt + +. 474 00:43:28,800 --> 00:43:38,260 php.test.php. Man ir to izdrukāt. print_r ($ masīvs); 475 00:43:38,260 --> 00:43:42,730 Mēs drukāt 2, 11. 476 00:43:42,730 --> 00:43:49,560 Ja es tikko bija darīts foreach ($ masīvs kā $ pozīcija), tad punkts būs vērtība 1 477 00:43:49,560 --> 00:43:54,190 Pirmo reizi pa cilpu. Tas būs solis 1 līdz 2 un tad mēs esam darīts. 478 00:43:54,190 --> 00:43:57,260 Tā tad tas iet cauri otro iet uz cilpas, un ka prece ir 10. 479 00:43:57,260 --> 00:44:01,570 Tā pieaugumu postenis līdz 11, un tad tas ir tikai izmest. 480 00:44:01,570 --> 00:44:06,670 Tad mēs print_r ($ masīvs), un redzēsim, ka tas ir tikai 1, 10. 481 00:44:06,670 --> 00:44:09,070 Tātad pieaugums mēs tika zaudēts. 482 00:44:09,070 --> 00:44:13,410 Bet foreach ($ masīvs kā & $ pozīcija) 483 00:44:13,410 --> 00:44:21,910 Tagad šis postenis ir tāds pats priekšmets kā šīs tiesības šeit. Tas ir tas pats. 484 00:44:21,910 --> 00:44:26,820 Tātad $ postenis + + pārveido masīvs 0. 485 00:44:29,330 --> 00:44:41,850 Būtībā, jūs varat arī darīt $ k -> $ objektu, un jūs varat darīt $ masīvs [$ k] + +; 486 00:44:41,850 --> 00:44:48,650 >> Tātad vēl viens veids, kā to izdarīt, ka mēs esam brīvi mainīt objektu, 487 00:44:48,650 --> 00:44:54,070 bet nevar izmainīt mūsu sākotnējo masīvs. 488 00:44:54,070 --> 00:44:59,720 Bet, ja mēs izmantojam K, kas ir mūsu galvenais, tad mēs varam vienkārši indekss par mūsu masīva izmantojot, ka galvenais 489 00:44:59,720 --> 00:45:01,530 un pieauguma ka. 490 00:45:01,530 --> 00:45:05,410 Tas vairāk tieši izmaina mūsu sākotnējo masīvs. 491 00:45:05,410 --> 00:45:10,690 Jūs pat varat darīt, ja kādu iemeslu dēļ tu gribēji spēju pārveidot - 492 00:45:10,690 --> 00:45:13,510 Faktiski, tas ir pilnīgi pamatota. 493 00:45:13,510 --> 00:45:16,020 Jums nav vēlas, lai rakstītu $ masīvs [$ k] + +, 494 00:45:16,020 --> 00:45:27,890 jūs vienkārši gribēju uzrakstīt $ postenis + +, bet tu vēl gribēju pateikt, ja ($ k === "") 495 00:45:27,890 --> 00:45:30,620 tad pieauguma objektu un pēc tam izdrukāt mūsu klāstu. 496 00:45:30,620 --> 00:45:36,290 Tātad tagad, ko mēs sagaidām print_r darīt? Kādas vērtības būtu izdrukāt? 497 00:45:36,290 --> 00:45:43,770 [Students] 2 un 10. >> [Bowden] Tikai tad, ja atslēga bija "" mēs faktiski drukāt, ka. 498 00:45:51,940 --> 00:45:55,670 >> Jūs, iespējams, ir ļoti reti, ja vispār kādreiz, būs jādefinē funkcijas PHP, 499 00:45:55,670 --> 00:46:03,370 bet jūs varētu redzēt kaut ko līdzīgu, kur jūs definētu funkciju, piemēram, funkciju whatever. 500 00:46:03,370 --> 00:46:09,900 Parasti jūs teiktu ($ foo, $ bar) un tad noteikt, ka tas ir neatkarīgi. 501 00:46:09,900 --> 00:46:17,580 Bet, ja es to izdarītu, tad tas nozīmē, ka neatkarīgi aicina neatkarīgi, 502 00:46:17,580 --> 00:46:25,110 neatkarīgi aicina BAZ, tāpēc pirmais arguments nodota Baz var mainīt. 503 00:46:25,110 --> 00:46:38,100 Darīsim $ foo + +; 504 00:46:38,100 --> 00:46:48,020 un iekšpusē šeit pieņemsim do BAZ ($ vienība); 505 00:46:48,020 --> 00:46:52,250 Tagad mēs aicinām funkciju. 506 00:46:52,250 --> 00:46:56,780 Arguments tiek pieņemts, atsaucoties, kas nozīmē, ka, ja mēs to maina 507 00:46:56,780 --> 00:47:00,390 mēs pārveidojot lieta, kas tika pieņemts iekšā 508 00:47:00,390 --> 00:47:04,420 Un drukāšanas to mēs sagaidām - ja vien es messed sintaksi - mēs saņēmām 2, 11, 509 00:47:04,420 --> 00:47:06,300 tāpēc tas faktiski tika palielināts. 510 00:47:06,300 --> 00:47:08,790 Paziņojums mums atsauces 2 vietām. 511 00:47:08,790 --> 00:47:13,050 Ko darīt, ja es to izdarīja? Ko tas nozīmē? 512 00:47:13,050 --> 00:47:15,810 [Students] Tas mainīsies. >> Jā. 513 00:47:15,810 --> 00:47:18,290 Postenis ir tikai kopija vērtības masīvā. 514 00:47:18,290 --> 00:47:26,670 Tātad postenis mainīsies līdz 2, bet masīvs ["'] joprojām būs 1. 515 00:47:26,670 --> 00:47:32,560 Vai arī ja es to varu darīt? 516 00:47:32,560 --> 00:47:39,260 Tagad vienība tiek nosūtīta kā kopiju Baz. 517 00:47:39,260 --> 00:47:46,330 Tātad no argumenta kopija tiks palielināts līdz 2, 518 00:47:46,330 --> 00:47:49,240 bet pozīcija pati nekad palielināts līdz 2. 519 00:47:49,240 --> 00:47:52,880 Un punkts ir tas pats, kas masīvu grupā neatkarīgi, 520 00:47:52,880 --> 00:47:55,380 tāpēc, ka masīvu netika palielināts. 521 00:47:55,380 --> 00:47:57,960 Tātad abi šie vietām vajag. 522 00:47:57,960 --> 00:48:03,830 >> PHP parasti ir diezgan gudrs par to. 523 00:48:03,830 --> 00:48:06,570 Jūs varētu domāt, es gribu iet ar atsauci - 524 00:48:06,570 --> 00:48:09,560 Tas bija tiešām jautājums par vienu no psets. 525 00:48:09,560 --> 00:48:14,480 Tas bija questions.txt lieta, ja tā teica, 526 00:48:14,480 --> 00:48:19,280 Kāpēc jūs varētu vēlēties, lai iet šo struct atsaucoties? 527 00:48:19,280 --> 00:48:21,250 Kāda bija atbilde uz šo jautājumu? 528 00:48:21,250 --> 00:48:25,100 [Students] Tātad jums nav kopēt kaut kas liels. >> Jā. 529 00:48:25,100 --> 00:48:32,920 Struktūrai var būt patvaļīgi liels, un, kad jūs iet struct kas kā argumentu 530 00:48:32,920 --> 00:48:36,800 tai kopēt šo visu struct nodot to funkciju, 531 00:48:36,800 --> 00:48:40,410 tā kā, ja jūs vienkārši iet struct ar atsauci 532 00:48:40,410 --> 00:48:46,530 tad tas vienkārši ir, lai kopētu 4 baitu adresi kā argumentu funkciju. 533 00:48:48,520 --> 00:48:52,320 PHP ir mazliet gudrāku nekā. 534 00:48:52,320 --> 00:49:00,650 Ja man ir dažas funkcijas, un es iet uz to masīvs ir 1000 lietas, 535 00:49:00,650 --> 00:49:03,990 tas nozīmē, ka nāksies kopēt visus 1000 no šīm lietām 536 00:49:03,990 --> 00:49:10,450 nodot to funkciju? Tas nav jādara, ka uzreiz. 537 00:49:10,450 --> 00:49:15,940 Ja iekšpuses šo funkciju tā nekad patiesībā izmaina foo, 538 00:49:15,940 --> 00:49:22,660 tāpēc, ja ($ foo === 'Hello') atgriezties taisnība.; 539 00:49:22,660 --> 00:49:26,460 Pamanīt mēs nekad faktiski mainīja arguments iekšpusē šo funkciju, 540 00:49:26,460 --> 00:49:30,010 kas nozīmē, ka neatkarīgi tika pieņemts kā foo nekad nepieciešams kopēt 541 00:49:30,010 --> 00:49:32,100 jo tas nemaina to. 542 00:49:32,100 --> 00:49:39,240 Tātad ceļš PHP darbi ir argumenti vienmēr pagājis, atsaucoties 543 00:49:39,240 --> 00:49:42,170 līdz jūs tiešām mēģināt mainīt to. 544 00:49:42,170 --> 00:49:51,160 Tagad, ja es saku $ foo + +, tas būs tagad veikt norakstu no sākotnējā foo un mainīt kopiju. 545 00:49:51,160 --> 00:49:53,090 Tas ietaupa laiku. 546 00:49:53,090 --> 00:49:58,210 Ja jūs nekad pieskaras šo masveida masīvs, jūs nekad tiešām modificēt, 547 00:49:58,210 --> 00:50:02,360 tas nav nepieciešams, lai padarītu kopiju, 548 00:50:02,360 --> 00:50:06,640 tā kā, ja mēs tikai izvirzīti šī zīme, kas nozīmē, tas nav pat kopēt to 549 00:50:06,640 --> 00:50:08,640 pat ja jums mainīt to. 550 00:50:08,640 --> 00:50:10,680 Šī uzvedība sauc kopija-uz-rakstīt. 551 00:50:10,680 --> 00:50:17,380 Jūs redzēsiet to citās vietās, īpaši, ja jūs lietojat operētājsistēmas kursu. 552 00:50:17,380 --> 00:50:23,880 Copy-on-rakstīt ir diezgan ierasts modelis, kur jums nav nepieciešams veikt kopiju kaut 553 00:50:23,880 --> 00:50:26,650 ja vien tas patiešām notiek. Yeah. 554 00:50:26,650 --> 00:50:29,520 [Students] Ko darīt, ja Jums bija pieaugumu iekšpusē testu, 555 00:50:29,520 --> 00:50:33,700 tāpēc tikai 1 elements no 1000 būtu jāmaina? 556 00:50:33,700 --> 00:50:38,770 Es neesmu pārliecināts. 557 00:50:38,770 --> 00:50:51,250 Es domāju, ka tas varētu kopēt visa lieta, bet tas ir iespējams, tas ir pietiekami gudrs, ka - 558 00:50:51,250 --> 00:51:00,020 Patiesībā tas, ko es domāju, ir iedomāties mums bija masīva, kas izskatās šādi: $ masīvs2 = [ 559 00:51:00,020 --> 00:51:11,000 Tad rādītāju "" ir masīvs [1 2 3 4], un indeksa "b" ir masīvs whatever. 560 00:51:11,000 --> 00:51:15,380 Man vajag komatus starp visiem no tiem. Iedomāties, ka ir komatus. 561 00:51:15,380 --> 00:51:21,210 Tad "c" ir vērtība 3. 562 00:51:24,210 --> 00:51:26,290 Labi. 563 00:51:26,290 --> 00:51:33,440 Tagad pieņemsim, ka mēs $ baz ($ masīvs2); 564 00:51:33,440 --> 00:51:36,540 ja BAZ neņem tas ar atsauci. 565 00:51:43,510 --> 00:51:47,370 Tātad $ foo ['c'] + +; 566 00:51:47,370 --> 00:51:52,340 Tas ir tāds piemērs, kur mēs iet masīvs2 kā argumentu 567 00:51:52,340 --> 00:51:57,010 un tad tas ir pārveidojot īpašu indeksu masīva ar palielināšanai to. 568 00:51:57,010 --> 00:52:01,090 Es godīgi nav ne jausmas, ko PHP gatavojas darīt. 569 00:52:01,090 --> 00:52:07,200 To var viegli veikt kopiju visa lieta, bet, ja tas ir gudrs, 570 00:52:07,200 --> 00:52:15,030 tas dos kopiju šiem taustiņiem, ja tas būs tās atšķiras vērtību 571 00:52:15,030 --> 00:52:20,620 bet tas joprojām var norādīt uz paša masīva 1,2,3,4 572 00:52:20,620 --> 00:52:22,320 un tas joprojām var norādīt uz to pašu masīvu. 573 00:52:22,320 --> 00:52:24,170 Es ņemšu iPad to. 574 00:52:28,900 --> 00:52:45,950 Mums iet šajā masīvā, ja tas puisis norāda uz 3, šis puisis punktus [1,2,3,4], 575 00:52:45,950 --> 00:52:51,350 Šis puisis norāda uz [34, ...] 576 00:52:51,350 --> 00:52:58,590 Tagad, ka mēs esam iet to uz Baz, mēs mainīt to. 577 00:52:58,590 --> 00:53:03,550 Ja PHP ir gudra, tā var tikai darīt - 578 00:53:11,850 --> 00:53:18,230 Mums vēl bija kopēt dažas atmiņas, bet, ja tur bija šo milzīgo ligzdotu subarrays 579 00:53:18,230 --> 00:53:21,560 mums nav nepieciešams, lai kopētu tos. 580 00:53:21,560 --> 00:53:27,530 Es nezinu, ja tas, ko tā dara, bet es varu iedomāties to darām. 581 00:53:29,050 --> 00:53:36,690 Tas ir arī diezgan liela priekšrocība C virs PHP. 582 00:53:36,690 --> 00:53:40,320 >> PHP padara dzīvi tik daudz vieglāk par daudz lietām, 583 00:53:40,320 --> 00:53:45,060 bet jūs veida ir absolūti ne jausmas, cik labi tas pildīs 584 00:53:45,060 --> 00:53:52,530 jo man nav ne jausmas, zem motora pārsega, kad tas ir padarot šos kopijas lietām, 585 00:53:52,530 --> 00:53:55,170 Ak, ir tas, ka būs nemainīga laika kopija, 586 00:53:55,170 --> 00:54:01,140 tas ir tikai gatavojas mainīt 1 rādītāju, ir tas būs smieklīgi grūti lineārs kopija? 587 00:54:01,140 --> 00:54:03,000 Ko darīt, ja tā nevar atrast vietu? 588 00:54:03,000 --> 00:54:06,760 Vai tas tad ir nepieciešams, lai palaistu atkritumu vākšana, lai iegūtu dažas vairāk vietas? 589 00:54:06,760 --> 00:54:11,210 Un atkritumu savākšana var patvaļīgi garš. 590 00:54:11,210 --> 00:54:13,600 C jums nav jāuztraucas par šīm lietām. 591 00:54:13,600 --> 00:54:19,780 Katru līnija rakstīt jūs varat diezgan daudz spriest par to, kā tas notiek, lai veiktu. 592 00:54:26,800 --> 00:54:29,150 >> Apskatīsim atpakaļ šos. 593 00:54:35,400 --> 00:54:37,520 Cik jauki ir tas, ka jums nav, lai risinātu ar hash funkciju, 594 00:54:37,520 --> 00:54:39,010 saistīti saraksti, vai kaut kā tā? 595 00:54:39,010 --> 00:54:41,980 Tā strādā ar hash tabulas ir tik viegli tagad, šeit ir jautri puzzle strādāt. 596 00:54:41,980 --> 00:54:45,920 Atvērt failu ar nosaukumu unique.php un tajā uzrakstīt PHP programmu 597 00:54:45,920 --> 00:54:48,330 (Pazīstams arī kā "skriptu"). 598 00:54:48,330 --> 00:54:55,700 Mums ir tendence tos saucam skripti ja viņi īsi lietas, kas jums vadīt pie komandrindas. 599 00:54:55,700 --> 00:55:02,950 Būtībā, jebkurā valodā, kas jums nav sastādīt bet jūs gatavojas palaist izpildāmā 600 00:55:02,950 --> 00:55:05,920 pie komandrindas, jūs varat zvanīt šo izpildāmo skriptu. 601 00:55:05,920 --> 00:55:08,510 Es varētu tikpat labi uzrakstīt C programmu, kas to dara, 602 00:55:08,510 --> 00:55:12,300 bet es nesaucu to skriptu, jo es pirmo reizi apkopo to un tad palaist bināro. 603 00:55:12,300 --> 00:55:15,480 Bet šī PHP programmas, mēs ejam, lai izsauktu skriptu. 604 00:55:15,480 --> 00:55:23,830 Vai, ja mēs to uzrakstīju Python vai Perl vai Node.js vai kādu no šīm lietām, 605 00:55:23,830 --> 00:55:26,500 mēs gribētu aicināt tos visus skriptus, jo palaižot tos komandrindas 606 00:55:26,500 --> 00:55:30,040 bet mums nav apkopošanai. 607 00:55:30,860 --> 00:55:33,400 Mēs varētu izdarīt diezgan ātri. 608 00:55:36,960 --> 00:55:41,480 Mums nav gatavojas izmantot argv. Pieņemsim tikai izpūst caur šo. 609 00:55:41,480 --> 00:55:45,730 To sauc par unikālu, uzrakstīt programmu. 610 00:55:45,730 --> 00:55:49,400 Jūs varat pieņemt, ka ieejas būs viens vārds katrā rindā. 611 00:55:49,400 --> 00:55:52,020 Patiesībā, argv būs diezgan niecīgs izmantot. 612 00:56:03,730 --> 00:56:06,720 unique.php. 613 00:56:08,550 --> 00:56:13,750 Pirmā lieta, pirmkārt, mēs vēlamies, lai pārbaudītu, vai mums ir pagājuši 1 komandrindas argumentu. 614 00:56:13,750 --> 00:56:20,900 Tāpat kā jūs varētu gaidīt argc un argv, C, mums vēl ir tie, PHP. 615 00:56:20,900 --> 00:56:33,900 Tātad, ja ($ argc! == 2), tad man nebūs galā ar drukāšanas ziņu vai neko. 616 00:56:33,900 --> 00:56:37,340 Es ņemšu tikai izietu, kļūdas kods ir 1. 617 00:56:37,340 --> 00:56:41,340 Es varētu arī atgriezties 1. 618 00:56:41,340 --> 00:56:53,180 Reti PHP jūs šajā valstī, kur mēs esam pie - 619 00:56:53,180 --> 00:56:57,820 Parasti tu esi funkciju sauc par funkciju sauc par funkciju sauc par funkciju. 620 00:56:57,820 --> 00:57:02,070 Un, ja kaut kas noiet greizi un jūs vienkārši vēlaties, lai izietu viss pilnībā, 621 00:57:02,070 --> 00:57:05,680 izejas vienkārši beidz programmu. 622 00:57:05,680 --> 00:57:08,160 Tas pastāv arī C. 623 00:57:08,160 --> 00:57:10,700 Ja tu esi funkciju funkcija ir funkciju funkciju 624 00:57:10,700 --> 00:57:17,540 un jūs vēlaties, lai tikai nogalināt programmu, jūs varat zvanīt izeju un tas būs vienkārši izietu. 625 00:57:17,540 --> 00:57:23,120 Bet PHP tas ir vēl reti, ka mēs esam šajā augstākajā līmenī. 626 00:57:23,120 --> 00:57:26,090 Parasti mēs esam iekšā kaut kādu funkciju, tāpēc mēs saucam nobrauktuvi 627 00:57:26,090 --> 00:57:29,650 tāpēc, ka mums nav jāatgriežas līdz 1 lieta, ko tad saprot tur kļūda 628 00:57:29,650 --> 00:57:32,270 lai atgriež augšu, ja tas ir atzīts tur bija kļūda. 629 00:57:32,270 --> 00:57:35,270 Mēs nevēlamies, lai risinātu ar to, ka tā izietu (1); 630 00:57:35,270 --> 00:57:38,240 atgriešanās (1), kas šajā gadījumā būtu līdzvērtīgi. 631 00:57:38,240 --> 00:57:44,000 >> Tad ko mēs vēlamies atvērt mēs vēlamies fopen. 632 00:57:44,000 --> 00:57:46,760 Argumenti gatavojas izskatās diezgan līdzīgi. 633 00:57:46,760 --> 00:57:51,600 Mēs vēlamies fopen ($ argv [1], un mēs vēlamies, lai to atvērtu lasījumā. 634 00:57:51,600 --> 00:57:55,720 Kas atgriež resurss, ko mēs ejam, lai izsauktu f. 635 00:57:55,720 --> 00:58:02,180 Tas izskatās diezgan līdzīgi kā C to dara, ja mums nav ko teikt failu *. 636 00:58:02,180 --> 00:58:06,170 Tā vietā mēs tikai teikt $ f. Labi. 637 00:58:06,170 --> 00:58:17,190 Patiesībā, es domāju, ka tas pat mums dod mājienu par to PHP funkciju sauc failu. PHP File. 638 00:58:17,190 --> 00:58:23,990 Kas tas ir gatavojas darīt, ir lasīt visu failu masīvu. 639 00:58:23,990 --> 00:58:29,770 Jums pat nav nepieciešams, lai fopen to. Tas notiek, lai to izdarītu jums. 640 00:58:37,450 --> 00:58:43,700 Tātad $ līnijas = fails ($ argv [1]); 641 00:58:43,700 --> 00:58:49,680 Tagad visi no lietas materiāliem līnijas ir līnijas. Tagad mēs vēlamies sakārtot līnijas. 642 00:58:49,680 --> 00:58:52,180 Kā mēs varam sakārtot līnijas? 643 00:58:52,180 --> 00:58:54,920 Mēs kārtot līnijas. 644 00:58:54,920 --> 00:58:58,080 Un tagad mēs tos var izdrukāt vai neatkarīgi. 645 00:58:58,080 --> 00:59:05,580 Droši vien vienkāršākais veids ir foreach ($ līnijas, kā $ līnija) echo $ līnija; 646 00:59:05,580 --> 00:59:10,960 [Students] Vai ne mēs pat šķērsot līniju atsaucoties kaut uz kārtot? 647 00:59:10,960 --> 00:59:28,850 Tas ir, ja kārtošanas būtu jādefinē kā funkcija šķirot (& $ masīvs). 648 00:59:28,850 --> 00:59:32,650 Kad jūs zvanu funkciju, jums nav nodot to ar atsauci. 649 00:59:32,650 --> 00:59:36,900 Tas ir funkcija, kas to definē kā, ņemot to kā atsauces. 650 00:59:36,900 --> 00:59:40,900 Tas ir faktiski tieši tas nogāja greizi 651 00:59:40,900 --> 00:59:46,220 kad mēs likts viss uz mūsu serveriem, kad mēs devāmies 5,3-5,4. 652 00:59:46,220 --> 00:59:53,800 Līdz 5,4, tas bija pilnīgi pamatota. 653 00:59:53,800 --> 00:59:58,740 Funkcija neplāno pieņemt to kā atsauci, bet jūs varat nodot to kā atsauci 654 00:59:58,740 --> 01:00:02,860 tādēļ, ja funkcija tas notiek, lai mainītu to, tas joprojām modificēts. 655 01:00:02,860 --> 01:00:05,850 Kā no 5.4, jūs neesat vajadzēja darīt. 656 01:00:05,850 --> 01:00:11,740 Tāpēc tagad vienīgais veids, kā jūs iet ar atsauci ir, ja funkcija nepārprotami dara. 657 01:00:11,740 --> 01:00:19,840 Ja jūs nevēlaties to mainīt, tad jums ir nepieciešams darīt $ kopiju = $ līnijas un caurlaide kopija. 658 01:00:19,840 --> 01:00:24,820 Tātad tagad līnijas tiks saglabātas un kopija tiks mainīta. 659 01:00:27,670 --> 01:00:31,460 php.unique.php. Es varētu būt messed kaut augšu. 660 01:00:31,460 --> 01:00:33,190 Negaidīts "kārtot". 661 01:00:38,320 --> 01:00:43,850 Tur būs kaut kas tas par mums. 662 01:00:43,850 --> 01:00:45,820 Tas nav pat tur. 663 01:00:45,820 --> 01:00:52,140 Ievērosiet, kad jūs lasīt rokasgrāmata, kas pirmais arguments ir plānots masīvs 664 01:00:52,140 --> 01:00:56,490 un tas ir pieņemts ar atsauci. 665 01:00:58,160 --> 01:01:03,540 Kāpēc tas sūdzas ar mani? Jo man ir šī funkcija veida vēl šeit, ka es negribu. 666 01:01:03,540 --> 01:01:09,210 Labi, php.unique.php. Man nav nodot to arguments, jo man nav failu. 667 01:01:09,210 --> 01:01:13,560 Tas php.unique.php par test.php. 668 01:01:13,560 --> 01:01:19,080 Te ir test.php viss izdrukāti jaukā sakārtoti secībā. 669 01:01:19,080 --> 01:01:24,600 Ievērojiet, ka sakārtoti pasūtījums ir sava veida dīvaini koda failu 670 01:01:24,600 --> 01:01:27,460 jo visi mūsu tukšas rindas gatavojas jānāk vispirms 671 01:01:27,460 --> 01:01:30,190 tad gatavojas nākt visiem mūsu 1 līmenis iesēdumu 672 01:01:30,190 --> 01:01:33,360 tad nāk visas mūsu bez iesēdumu. 673 01:01:33,360 --> 01:01:38,620 Yeah. >> [Students] Tātad pirmkodu tā nav pieņemts, atsaucoties? 674 01:01:38,620 --> 01:01:42,240 Ir tas, ka parasti pieņēmis vērtību? 675 01:01:42,240 --> 01:01:50,240 [Bowden] Kad jūs zvanu funkciju, tā nekad nosaka, vai tas tika pieņemts ar atsauci. 676 01:01:50,240 --> 01:01:53,960 Tas ir funkcija definīcija, kas nosaka, vai tas tika pieņemts ar atsauci. 677 01:01:53,960 --> 01:01:59,450 Un skatoties uz funkciju definīcijas veida vai vienkārši meklē tas, 678 01:01:59,450 --> 01:02:02,820 tas aizņem argumentu ar atsauci. 679 01:02:02,820 --> 01:02:07,160 Tātad, neatkarīgi no tā, vai jūs to vēlaties ņemt to ar atsauci, tas ņemt to ar atsauci. 680 01:02:07,160 --> 01:02:10,200 Tas maina masīvs vietā. 681 01:02:10,200 --> 01:02:17,400 Tas ir tikai nav atļauta. Jums nav atļauts to darīt. >> [Students] Ak, labi. 682 01:02:17,400 --> 01:02:22,410 [Bowden] Tas, kārtot gatavojas veikt līnijas ar atsauci un mainīt to. 683 01:02:22,410 --> 01:02:26,850 Un atkal, ja jūs nevēlaties to darīt, jūs varētu veikt kopiju veida. 684 01:02:26,850 --> 01:02:35,850 Pat šajā gadījumā, kopija nav faktiski kopija līnijas. 685 01:02:35,850 --> 01:02:40,620 Tas tikai norāda uz to pašu, līdz tas vispirms izpaužas pārveidota, 686 01:02:40,620 --> 01:02:44,430 ja tas ir pirmais gatavojas saņemt mainīt kārtošanas funkcijas, 687 01:02:44,430 --> 01:02:50,940 kur, jo tas ir copy-uz-rakstīt, tagad kopijas kopija tiks veikti. 688 01:02:57,500 --> 01:03:04,250 Jūs varat arī izdarīt. Tas ir cits vieta, kur jūs varat redzēt aizvieto & zīmes. 689 01:03:04,250 --> 01:03:07,190 Jūs redzēt to foreach cilpas, jūs redzēt to funkciju deklarācijās, 690 01:03:07,190 --> 01:03:10,040 un jūs redzat to, kad tikai piešķirot mainīgos. 691 01:03:10,040 --> 01:03:12,350 Tagad mēs esam paveikuši neko, ko darīt 692 01:03:12,350 --> 01:03:15,600 jo kopēt un līnijas ir burtiski pats. 693 01:03:15,600 --> 01:03:19,940 Jūs varat izmantot līnijas un kopēt sinonīmi. 694 01:03:19,940 --> 01:03:25,430 Jūs varat darīt stāvoklī ($ kopiju), un ka tas nav atiestatīta līnijas, 695 01:03:25,430 --> 01:03:29,120 jūs tikai zaudēt savu atsauci uz to pašu. 696 01:03:29,120 --> 01:03:33,440 Tā kā no šā punkta, tagad līnijām ir vienīgais veids, kā jūs varat piekļūt līnijas. 697 01:03:36,450 --> 01:03:38,770 >> Jautājumi? 698 01:03:41,000 --> 01:03:42,460 Yeah. 699 01:03:42,460 --> 01:03:45,880 [Students] Pilnīgi off topic, bet jums nav slēgt PHP ar - >> jums nav. 700 01:03:45,880 --> 01:03:47,730 Labi. 701 01:03:47,730 --> 01:03:53,790 [Bowden] es varētu iet tik tālu, ka teikt, tas ir slikta prakse, lai aizvērtu. 702 01:03:53,790 --> 01:03:57,580 Tas ir iespējams, pārspīlējums, jo īpaši apstākļos, skriptu, 703 01:03:57,580 --> 01:04:03,740 bet pieņemsim redzēt, kas notiek, ja es to izdarītu. 704 01:04:03,740 --> 01:04:08,890 Kas neko nedarīja. Ko darīt, ja es gribēju - [nopūšas] 705 01:04:13,870 --> 01:04:16,960 Man vajag nodot argumentu. 706 01:04:19,000 --> 01:04:22,050 Šaut. I sauc to nepareizi. 707 01:04:24,340 --> 01:04:28,310 Tātad php.unique.php ar argumentu. 708 01:04:28,310 --> 01:04:30,980 Tagad man nav pat nepieciešams. 709 01:04:34,520 --> 01:04:37,740 Es iet to pamatotu argumentu. 710 01:04:37,740 --> 01:04:42,050 Tas iespiests kāda tā ir drukāšanas. 711 01:04:45,260 --> 01:04:50,080 Es esmu drukāšanas kopiju un kopija nav. Tik līnijas. 712 01:04:53,650 --> 01:04:58,270 Tas drukā viss, un tad pamanīt visu šo junk šeit lejā, 713 01:04:58,270 --> 01:05:06,690 jo PHP kaut kas ir ārpus PHP tagiem 714 01:05:06,690 --> 01:05:09,520 ir tikai gatavojas, lai iespiež burtiski. 715 01:05:09,520 --> 01:05:18,050 Tieši tāpēc HTML, tas ir tik jauki, ka es varu darīt div blah, blah, blah klasi vai kāds, 716 01:05:18,050 --> 01:05:25,140 blah, blah, blah un tad tie daži PHP kodu un pēc tam darīt beigu div. 717 01:05:25,140 --> 01:05:36,460 Un tagad drukāšanas tas man manu jauku div augšu augšu, viss, kas PHP drukātā, div apakšā. 718 01:05:36,460 --> 01:05:43,510 Katastrofāla, ja kaut kas līdzīgs tas notiek, kas ir diezgan bieži, 719 01:05:43,510 --> 01:05:47,930 tikai klaiņojošu newline apakšā failu. 720 01:05:47,930 --> 01:05:50,940 Jūs nebūtu domāju, ka varētu būt, ka liels ir galā 721 01:05:50,940 --> 01:05:58,660 līdz jūs uzskatāt, ka ar pārlūkprogrammām - 722 01:05:58,660 --> 01:06:03,880 >> Kā novirza darbu vai būtībā jebkurš galvenes darbu, 723 01:06:03,880 --> 01:06:07,980 ja jūs veicat savu savienojumu ar mājas lapā un tas nosūta atpakaļ visas šīs galvenes un lietas 724 01:06:07,980 --> 01:06:12,020 piemēram Atbildot 200 vai reaģēšanas novirzīt vai neatkarīgi, 725 01:06:12,020 --> 01:06:18,230 galvenes ir spēkā tikai līdz pirmajam datu baitam ir nosūtīts. 726 01:06:18,230 --> 01:06:23,140 Jūs varat novirzīt tūkstošiem reižu, bet tiklīdz pirmais baits dati tiek nosūtīti 727 01:06:23,140 --> 01:06:26,120 Jūs neesat vajadzēja novirzīt vēlreiz. 728 01:06:26,120 --> 01:06:31,860 >> Ja jums ir klaiņojošs newline apakšā faila 729 01:06:31,860 --> 01:06:37,260 un pieņemsim, ka jūs izmantot šo funkciju, un tad jūs vēlaties - 730 01:06:41,580 --> 01:06:52,870 Teiksim tā ir cita lieta, ka ir index.php un tu require_once kaut ko - 731 01:06:52,870 --> 01:06:56,920 Es nevaru iedomāties labu piemēru no tā. 732 01:06:56,920 --> 01:07:04,740 Jautājums notiek, ja šis apakšā līnija izpaužas atkārtojas. 733 01:07:04,740 --> 01:07:08,660 Jūs nevēlaties neko ir atbalsojās vēl. 734 01:07:10,820 --> 01:07:15,700 Pat ja jums nav paredzējis par kaut kļūst jūtams, kaut did get piebalsoja 735 01:07:15,700 --> 01:07:17,990 un tāpēc tagad jūs neesat vajadzēja sūtīt vēl citus virsrakstus 736 01:07:17,990 --> 01:07:20,030 un jūs gatavojas saņemt sūdzības. 737 01:07:22,170 --> 01:07:24,420 Jums vienkārši nav nepieciešams šos noslēguma tagus. 738 01:07:24,420 --> 01:07:27,420 Ja jūs plānojat par darot kaut ko ar HTML - 739 01:07:27,420 --> 01:07:30,490 un tas ir pilnīgi pamatoti izdarīt šeit lejā DIV neatkarīgi 740 01:07:30,490 --> 01:07:39,450 un tad šajā brīdī jūs varat vai nevarat tos iekļaut. 741 01:07:39,450 --> 01:07:41,590 Tas nav īsti jautājums. 742 01:07:41,590 --> 01:07:45,450 Bet PHP skriptus tas ir reti, lai to aizvērtu. 743 01:07:45,450 --> 01:07:50,400 Kad viss ir PHP, pilnīgi viss, 744 01:07:50,400 --> 01:07:55,460 Jums nav tiešām ir nepieciešams, lai to aizvērtu / Jums nevajadzētu aizvērt to. 745 01:08:02,030 --> 01:08:05,720 >> Nodarbojas ar stīgām ir daudz jaukāk, nekā C. 746 01:08:05,720 --> 01:08:09,470 PHP jūs varat norādīt virkni ar vienu vai pēdiņās. 747 01:08:09,470 --> 01:08:12,820 Ar vienu pēdiņām jūs nevarat izmantot "Escape" sekvences. 748 01:08:12,820 --> 01:08:17,640 Pastāvīgi aizbēgt, blah, blah, blah. 749 01:08:19,920 --> 01:08:24,010 Tātad printf ir ļoti reti PHP. 750 01:08:24,010 --> 01:08:32,290 Es domāju, es varētu izmantot printf ja es gribēju darīt veida lieta - 5 PSET tu izmanto sprintf vai neatkarīgi. 751 01:08:32,290 --> 01:08:36,060 Bet jūs vēlaties darīt 001.jpg un 002.jpg. 752 01:08:36,060 --> 01:08:40,300 Tāpēc, ka veida lieta, kur es tiešām gribu, lai formatētu tekstu es varētu izmantot printf. 753 01:08:40,300 --> 01:08:44,689 Bet citādi es tikai izmantot virkni konkatenācija. 754 01:08:44,689 --> 01:08:47,000 Es nekad īsti izmantot printf. 755 01:08:49,229 --> 01:09:00,170 Mēs esam tikai diferencējot detaļas starp vienu pēdiņām un pēdiņas. 756 01:09:00,170 --> 01:09:07,490 Lielākā atšķirība ir tā, ka vienu pēdiņām, tas tiks izdrukāts burtiski. 757 01:09:07,490 --> 01:09:15,390 Nav CHAR datu tips PHP, atšķirībā C, tāpēc tas ir līdzvērtīgs šo. 758 01:09:15,390 --> 01:09:17,970 Viņi abi stīgas. 759 01:09:17,970 --> 01:09:29,180 Un jauka lieta par vienu citātu virknes ir, es varētu teikt "Hello pasaule!" blah, blah, blah, 760 01:09:29,180 --> 01:09:33,340 $ $ Wooo. 761 01:09:33,340 --> 01:09:38,260 Kas notiek, kad es drukāt tas ir tas drukāt to burtiski. 762 01:09:38,260 --> 01:09:40,680 Pieņemsim atbrīvoties no visiem mūsu stuff. 763 01:09:40,680 --> 01:09:44,700 Tātad echo $ str1; 764 01:09:48,569 --> 01:09:56,570 Tā burtiski iespiež visas šīs lietas: dolāra zīmes, 765 01:09:56,570 --> 01:09:58,770 slīpsvītru n, ko jūs domājat, būtu newlines - 766 01:09:58,770 --> 01:10:01,500 visas šīs lietas tā izdrukas burtiski. 767 01:10:01,500 --> 01:10:05,650 Vienīgais, kas jums ir nepieciešams, lai izvairītos, ir vienu pēdiņām 768 01:10:05,650 --> 01:10:09,470 jo pretējā gadījumā tas būtu domāju, ka tas slēdzot vienu pēdiņām. 769 01:10:09,470 --> 01:10:15,050 Pēdiņas, pilnīgi atšķirīgas. 770 01:10:20,300 --> 01:10:25,870 Mēs jau redzam sintakse izceļot ir cluing mūs uz to, kas ir par iet briesmīgi nepareizi. 771 01:10:25,870 --> 01:10:36,190 php.unique. Undefined mainīgais: wooo jo tas tiek interpretēts kā mainīgo sauc wooo. 772 01:10:36,190 --> 01:10:42,400 Pēdiņas ļauj ievietot mainīgos lielumus - 773 01:10:42,400 --> 01:10:52,730 Teiksim $ nosaukums = "Robs"; 774 01:10:52,730 --> 01:10:58,020 Tātad echo "Sveiki, mans vārds ir $ nosaukums!"; 775 01:10:58,020 --> 01:11:09,260 Tā atzīst to par mainīgo. 776 01:11:09,260 --> 01:11:21,210 Kad es palaist, ka - un es ievietotu newline - Sveiki, mans vārds ir Rob! un sveiki pasaule! 777 01:11:21,210 --> 01:11:24,910 Tas ir tāpēc, ka es nekad noņemt drukāšanu wooo iepriekš. 778 01:11:24,910 --> 01:11:30,020 Ir 1 vēl viens solis, jūs varat darīt. 779 01:11:30,020 --> 01:11:39,250 $ Masīvs = [1, 2, 3]; 780 01:11:39,250 --> 01:11:43,270 Ko darīt, ja es gribu, lai drukātu pirmo indeksu masīva? 781 01:11:43,270 --> 01:11:45,150 Jūs darīt $ masīvs [0]. 782 01:11:45,150 --> 01:11:49,280 Sintakse izceļot ir pavediens. Kas tas ir gatavojas darīt? 783 01:11:52,320 --> 01:11:54,510 php.unique. 784 01:11:54,510 --> 01:11:59,860 Sveiki, mans vārds ir 1! kas nav tas, ko es gribēju. 785 01:11:59,860 --> 01:12:05,050 Sintakse izceļot meloja man. 786 01:12:05,050 --> 01:12:13,020 Pamēģināsim "" -> 1, "b" -> 2. 787 01:12:18,450 --> 01:12:21,440 Tas ir kā es būtu rakstīt to. 788 01:12:26,350 --> 01:12:32,160 Negaidīts viena citāts (T_ENCAPSED bla, bla, bla, bla, bla). 789 01:12:32,160 --> 01:12:41,780 Ideja ir tāda, ka tas nav atzīstot to kā daļu no masīva. 790 01:12:41,780 --> 01:12:46,620 Tas nav atzīstot to kā masīvu indeksēts vēstuli a. 791 01:12:46,620 --> 01:12:49,870 Jūs vēlaties darīt ieskauj cirtaini bikšturi, 792 01:12:49,870 --> 01:12:54,730 un tagad kāds ir šajā cirtaini lencēm tiks interpolē, 793 01:12:54,730 --> 01:13:00,340 kas ir vārds, mēs izmantot maģiski ievietojot šos mainīgos lielumus pareizajās vietās. 794 01:13:00,340 --> 01:13:04,280 Tagad darot, php.unique, un Sveiki, mans vārds ir 1! kā gaidīts 795 01:13:04,280 --> 01:13:07,720 vai Sveiki, mans vārds ir Rob! 796 01:13:14,110 --> 01:13:23,130 Viena lieta, ka ir sava veida jauki par vienu pēdiņām ir, ka - 797 01:13:23,130 --> 01:13:28,480 Tur ir dažas izmaksas intrapolējot. 798 01:13:30,520 --> 01:13:35,100 Ja jūs izmantojat dubultās pēdiņas, tulks ir iet pa šo stīgu, 799 01:13:35,100 --> 01:13:41,500 pārliecinoties, ka, "Ak, šeit mainīgs Tagad man ir nepieciešams, lai iet saņemt šo mainīgo un ievietot to šeit.". 800 01:13:41,500 --> 01:13:48,930 Pat ja jums nav izmantot jebkuru mainīgie, 801 01:13:48,930 --> 01:13:52,220 nekas iekšā šie pēdiņas ir interpolē, 802 01:13:52,220 --> 01:13:56,800 taču tas joprojām būs lēnāks, jo tā ir jāiet pa pēdiņas 803 01:13:56,800 --> 01:14:00,130 meklē lietas, kas jāņem interpolē. 804 01:14:00,130 --> 01:14:05,360 Tātad vienu pēdiņām var būt nedaudz ātrāk, ja nekas nepieciešams interpolē, 805 01:14:05,360 --> 01:14:15,650 un man ir tendence pat izmantot vienu pēdiņām, "Sveiki, mans vārds ir". $ Masīvs [''] vienalga. 806 01:14:15,650 --> 01:14:20,430 Tas būs līdzvērtīgs tam, ko mums bija pirms tam. 807 01:14:24,840 --> 01:14:28,440 Bet tas ir jautājums par priekšrocību. 808 01:14:28,440 --> 01:14:34,750 Ja jūs lietojat PHP, jūs, iespējams, nav jārūpējas par ātruma atšķirība. 809 01:14:34,750 --> 01:14:39,480 Tur nav pietiekami pamatojusi tos sākt ar. 810 01:14:39,480 --> 01:14:43,030 >> Galīgie jautājumi? 811 01:14:47,430 --> 01:14:51,710 >> Mēs tiešām nav pat saņemt caur visu to, bet tas pārējais bija garlaicīgi. 812 01:14:51,710 --> 01:14:59,080 Pēdējā lieta, ka ir sava veida jauki PHP ir, kad jūs nodarbojas ar HTML, 813 01:14:59,080 --> 01:15:06,450 jūs izmantojat to mazliet, tāpēc jauku īsceļu sintakse drukāšanai mainīgo. 814 01:15:32,400 --> 01:15:36,730 Nepakļaujot PHP šeit, to sauc par īso tagus. 815 01:15:36,730 --> 01:15:44,330 Oficiāli par 5,4 PHP, tas ir novecojis. 816 01:15:44,330 --> 01:15:48,640 Jums ir ieteicams likt PHP. 817 01:15:48,640 --> 01:15:55,770 Tas ir vēl jāatbalsta, tik īss tagus ar <= joprojām perfekti labi?. 818 01:15:55,770 --> 01:16:02,480 Tas ir par atbalstītā noklusējuma, lai jūs varētu izmantot tos kā vēlaties, un viņi diezgan ērti. 819 01:16:02,480 --> 01:16:05,700 >> Kādi jautājumi? 820 01:16:07,780 --> 01:16:09,270 Labi. 821 01:16:10,840 --> 01:16:13,800 >> Palieciet elegants, San Diego. 822 01:16:13,800 --> 01:16:16,070 [Chuckles] 823 01:16:18,620 --> 01:16:22,660 Bye. [Smejas] 824 01:16:24,350 --> 01:16:28,470 [Aplausiem] [smejas] 825 01:22:46,460 --> 01:22:49,460 >> [CS50.TV]