1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG LLOYD: Nii me oleme teinud palju tööd C, 3 00:00:07,370 --> 00:00:09,536 ja C on väga lahe keeles, sest see annab teile 4 00:00:09,536 --> 00:00:12,840 suudavad sukelduda tõesti madal oma programme. 5 00:00:12,840 --> 00:00:16,810 Me saame teha asju nagu tõesti minut nagu manipuleerimine 6 00:00:16,810 --> 00:00:18,800 üksikute baiti mälu. 7 00:00:18,800 --> 00:00:21,420 Tuletame meelde, et suunanäitajaks tõesti võimaldab meil paindlikkuse. 8 00:00:21,420 --> 00:00:25,260 >> Aga me alati olema et peeneteralist detailsus 9 00:00:25,260 --> 00:00:26,820 Meie programmid? 10 00:00:26,820 --> 00:00:28,210 Tõenäoliselt mitte, eks? 11 00:00:28,210 --> 00:00:30,376 Ja kui me ei kavatse olla kompromiss vahel on 12 00:00:30,376 --> 00:00:32,911 võimalik teha tõesti minut asju ja tõesti, tõesti 13 00:00:32,911 --> 00:00:35,910 suuri asju, et me ei pea mõtlema umbes, et me ei pea rakendama 14 00:00:35,910 --> 00:00:40,290 Nende tõesti suured ideed, kui nad juba ehitatud meile, 15 00:00:40,290 --> 00:00:43,980 üldiselt hoone suur programmide või suurte projektide, 16 00:00:43,980 --> 00:00:49,130 me ilmselt läheb Syyllistyä millel on rohkem keele värk ehitatud 17 00:00:49,130 --> 00:00:51,300 meile, selle asemel, Madala taseme kraami. 18 00:00:51,300 --> 00:00:53,970 Ja see, kui PHP tõesti jõuab. 19 00:00:53,970 --> 00:00:58,200 >> Nüüd üks põhjustest et me õpetame PHP CS50 20 00:00:58,200 --> 00:01:01,020 et see on tugevalt inspireeritud C. Ja tegelikult, minu arvates 21 00:01:01,020 --> 00:01:05,140 seal on tõesti kaks vereloome keelte 22 00:01:05,140 --> 00:01:08,200 on väga levinud tänapäeval. 23 00:01:08,200 --> 00:01:10,110 C ja Lisp. 24 00:01:10,110 --> 00:01:13,280 Ja nad on vereloome keeles sest iga teine ​​kaasaegne programmeerimine 25 00:01:13,280 --> 00:01:17,380 keelt, mis on välja töötatud Alates sellest ajast on inspireeritud 26 00:01:17,380 --> 00:01:20,330 ühe või teise lauseehituslikult. 27 00:01:20,330 --> 00:01:26,160 PHP on väga sarnane süntaktiliselt C, samas keeles nagu kava 28 00:01:26,160 --> 00:01:27,900 näiteks kus olete kuulnud, 29 00:01:27,900 --> 00:01:32,070 on tugevalt inspireeritud keeles nimetatakse LISPiga, mis on vanem keelt. 30 00:01:32,070 --> 00:01:34,220 >> Nii et miks me õpetame PHP CS50 on see, 31 00:01:34,220 --> 00:01:37,730 teades C fundamentaalselt kui sa sel hetkel, 32 00:01:37,730 --> 00:01:41,280 pealevõtmine PHP, mis annab teile võime teha palju kõrgem asju 33 00:01:41,280 --> 00:01:44,710 kui C teeb, ei ole et suur osa takistus, 34 00:01:44,710 --> 00:01:48,230 sest sul on juba põhiidee süntaks. 35 00:01:48,230 --> 00:01:50,590 C on juba peaaegu 45 aastat sel hetkel. 36 00:01:50,590 --> 00:01:52,780 PHP on olnud juba umbes 20 aastat. 37 00:01:52,780 --> 00:01:57,080 Ja et 25 aastat vahel, programmeerijate 38 00:01:57,080 --> 00:02:01,540 kindlaks, et tegemist oleks palju pigem on kõrgema taseme oskusi, 39 00:02:01,540 --> 00:02:04,970 ja vigu ja võitlused 20 aastat vahele 40 00:02:04,970 --> 00:02:08,210 viinud PHP ja muude kaasaegsete keelte. 41 00:02:08,210 --> 00:02:11,039 >> PHP on suurepärane valik keele tarkvara 42 00:02:11,039 --> 00:02:14,042 et allow-- eest tarkvara selle-- kus sa 43 00:02:14,042 --> 00:02:16,250 pead tegema asju, mis on C on tegelikult keeruline. 44 00:02:16,250 --> 00:02:18,480 Nii näiteks töötab koos stringid C 45 00:02:18,480 --> 00:02:21,709 on väga keeruline, sest Nagu me teame, stringid C 46 00:02:21,709 --> 00:02:23,250 on tõesti ainult massiive tähemärki. 47 00:02:23,250 --> 00:02:25,230 See ei ole sisseehitatud andmete tüübi. 48 00:02:25,230 --> 00:02:28,220 Või ehk on põhjapanevam midagi, mida me ei katnud isegi C, 49 00:02:28,220 --> 00:02:30,360 Mis siis, kui sa pead tegema mõned arvutivõrgu? 50 00:02:30,360 --> 00:02:30,860 Hästi? 51 00:02:30,860 --> 00:02:34,920 >> C on võimeline seda tegema, aga see on nii kauge ja nii raske tegelikult teevad. 52 00:02:34,920 --> 00:02:37,580 Kas poleks tore, kui keel oli ehitatud ja lihtne viis 53 00:02:37,580 --> 00:02:38,910 rakendada loomist? 54 00:02:38,910 --> 00:02:43,420 Ja PHP on keel, mis teeb, et või lihtsustab see, üsna natuke rohkem. 55 00:02:43,420 --> 00:02:47,740 Nagu ma ütlesin, PHP on väga tugevalt inspireeritud C. süntaks on väga sarnane. 56 00:02:47,740 --> 00:02:51,760 Ja nii see peaks loodetavasti tegema Üleminek ühelt teisele 57 00:02:51,760 --> 00:02:54,710 natuke pehmem kui mõned teisi keeli olla. 58 00:02:54,710 --> 00:02:58,800 >> Et alustada kirjalikult PHP, lihtsalt avada on fail Php faili laiend. 59 00:02:58,800 --> 00:03:00,670 Tehniliselt see ei ole tegelikult vaja, 60 00:03:00,670 --> 00:03:04,495 aga kui sa tahad asju süntaks rõhutades IDE, et seda tüüpi 61 00:03:04,495 --> 00:03:07,620 nimed, või muutujad, funktsioonid, sa tead, märksõnadeks keel 62 00:03:07,620 --> 00:03:10,090 on rõhutatud konkreetset värvi, siis üldiselt 63 00:03:10,090 --> 00:03:14,020 tahan nimetada oma faile Konkreetse faili laiend. 64 00:03:14,020 --> 00:03:18,430 Nii et me oleme nimeks meie faili Php laiendamine, aga siis ka PHP, 65 00:03:18,430 --> 00:03:23,310 kõik PHP koodi me kirjutame, et dokumendid peavad olema ümbritsetud need PHP 66 00:03:23,310 --> 00:03:25,190 piirajaid, et me näeme siin ekraanil. 67 00:03:25,190 --> 00:03:27,910 Kinnitusnurgik? Php alustada. 68 00:03:27,910 --> 00:03:30,860 Siis me kirjutame kõik meie PHP kood, mis me tahame vahel. 69 00:03:30,860 --> 00:03:32,260 Ja siis ? 70 00:03:32,260 --> 00:03:34,710 nurksulu sulgeda. 71 00:03:34,710 --> 00:03:37,170 >> Kui me seda ei tee, siis Mis juhtub? 72 00:03:37,170 --> 00:03:38,170 Ta ei kavatse krahhi. 73 00:03:38,170 --> 00:03:39,410 See ei lähe tõesti rikkuda oma programmi. 74 00:03:39,410 --> 00:03:41,440 Aga ta ei kavatse olla kohta, et me tahame. 75 00:03:41,440 --> 00:03:44,540 Mis juhtub, tõesti, on et kui me püüame käivitada programmi, 76 00:03:44,540 --> 00:03:50,330 kõik ei nende vahel piirajaid läheb välja trükkida sõna-sõnalt. 77 00:03:50,330 --> 00:03:52,210 See ei lähe tegelikult ellu kood, 78 00:03:52,210 --> 00:03:56,010 see läheb lihtsalt välja trükkida sõna-sõnalt. 79 00:03:56,010 --> 00:03:57,320 >> Nüüd, miks on nii? 80 00:03:57,320 --> 00:04:00,416 Nii C, mida on teada kui koostatud keeles. 81 00:04:00,416 --> 00:04:03,040 Sa oled ilmselt kursis samm on teha oma programme, 82 00:04:03,040 --> 00:04:07,820 keerates .c faili ja .h failid üheks käivitatava koos margi, 83 00:04:07,820 --> 00:04:11,130 eriti kasutades Rõkkama meie tõlkija. 84 00:04:11,130 --> 00:04:13,030 PHP, aga ei on see samaväärne. 85 00:04:13,030 --> 00:04:15,600 PHP on Mis nimetatakse tõlgendada keeles. 86 00:04:15,600 --> 00:04:16,760 Ja mida see tähendab? 87 00:04:16,760 --> 00:04:20,680 >> Noh, see tähendab, et me ei pea teisendada Meie lähtekoodi ühtede ja nullide 88 00:04:20,680 --> 00:04:21,470 eelnevalt. 89 00:04:21,470 --> 00:04:23,900 Pigem on see programm, mida nimetatakse ka 90 00:04:23,900 --> 00:04:29,771 PHP, mis mõistab PHP ja saab omamoodi teha seda sõita. 91 00:04:29,771 --> 00:04:32,520 See ei ole tõesti just õige, aga see on päris hea analoogia 92 00:04:32,520 --> 00:04:33,760 mis toimub. 93 00:04:33,760 --> 00:04:37,230 See on tõlgendatud neid nullidega ja need lennult. 94 00:04:37,230 --> 00:04:40,160 Ja kui ta ei tea kuidas protsess midagi, 95 00:04:40,160 --> 00:04:42,800 kui ta ei tea, kuidas protsessi PHP, siis ilmselt 96 00:04:42,800 --> 00:04:44,680 tahtsin panna, et teksti seal, eks? 97 00:04:44,680 --> 00:04:48,960 >> Sa ilmselt tahtis panna koodi seal, isegi kui see ei ole vahel PHP-- 98 00:04:48,960 --> 00:04:50,035 PHP piirajaid. 99 00:04:50,035 --> 00:04:51,910 Aga-- nii ta ei kavatse kustutada teie jaoks, 100 00:04:51,910 --> 00:04:53,576 see on lihtsalt läheb põhimõtteliselt loobuda. 101 00:04:53,576 --> 00:04:55,550 Nii see läheb printida see välja ekraanile. 102 00:04:55,550 --> 00:04:57,150 >> See tundub, et see on halb asi, kuid tegelikult on see 103 00:04:57,150 --> 00:04:58,220 saab olema tõesti hea, kui me tulen 104 00:04:58,220 --> 00:05:00,390 vaata, kui me räägime PHP veebiarendust, 105 00:05:00,390 --> 00:05:04,010 sest see tähendab, et saame Lomittaa PHP ja HTML. 106 00:05:04,010 --> 00:05:06,640 Me saame neid kasutada koos dünaamilisemaks veebilehel. 107 00:05:06,640 --> 00:05:10,650 Aga rohkem, et Video PHP veebiarendust. 108 00:05:10,650 --> 00:05:12,021 >> Mis on süntaksit PHP? 109 00:05:12,021 --> 00:05:13,520 Just see video on. 110 00:05:13,520 --> 00:05:14,850 Räägime siis. 111 00:05:14,850 --> 00:05:16,490 >> Nii hakata läbi, muutujad. 112 00:05:16,490 --> 00:05:18,030 PHP muutujad olemas. 113 00:05:18,030 --> 00:05:20,067 On ainult kaks suurt erinevusi C. 114 00:05:20,067 --> 00:05:21,900 Esimene on see, et seal on no tüübist specifier. 115 00:05:21,900 --> 00:05:24,245 Me ei pea ütlema int, char, float, kõik see kraam. 116 00:05:24,245 --> 00:05:25,620 Me ei pea seda tegema enam. 117 00:05:25,620 --> 00:05:26,810 PHP on kaasaegne keel. 118 00:05:26,810 --> 00:05:28,910 See võib aru saada, mida sa oled püüab teha või teha paremini 119 00:05:28,910 --> 00:05:30,451 arvan, et see, mida sa üritad teha. 120 00:05:30,451 --> 00:05:31,700 Nii et on päris kena. 121 00:05:31,700 --> 00:05:35,330 >> Teine asi on see, et kõik muutuva nimed on alustada dollari märk. 122 00:05:35,330 --> 00:05:36,940 See on lihtsalt midagi, et harjuda. 123 00:05:36,940 --> 00:05:39,496 See on natuke imelik, sest see on nii, et PHP ei saa aru 124 00:05:39,496 --> 00:05:40,870 Mis on varieeruv ja mis mitte. 125 00:05:40,870 --> 00:05:43,340 Nii et iga muutuja nimi algab dollari märk. 126 00:05:43,340 --> 00:05:46,884 Nii C võib öelda midagi niimoodi, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Me ei pea seda tegema enam PHP. 128 00:05:48,550 --> 00:05:52,540 Me saame vaid öelda $ x = 54. 129 00:05:52,540 --> 00:05:55,920 Ja võib öelda, näiteks C, kui oleksime naela-hõlmas CS50 .h 130 00:05:55,920 --> 00:06:00,314 päisefail, võiksime öelda string lause = "See on CS50." 131 00:06:00,314 --> 00:06:01,980 Me ei pea seda tegema PHP, kuigi. 132 00:06:01,980 --> 00:06:04,865 Me saame vaid öelda $ fraasi = "See on CS50." 133 00:06:04,865 --> 00:06:08,760 Ja tegelikult, string on nüüd sisseehitatud andmete tüübi PHP, 134 00:06:08,760 --> 00:06:10,950 või pigem PHP mõistab Mis string on. 135 00:06:10,950 --> 00:06:15,612 See on eraldi massiivi märke, nagu see on C. 136 00:06:15,612 --> 00:06:17,570 Kõik teie lemmik tingimisi avaldusi C 137 00:06:17,570 --> 00:06:19,520 on ikka olemas, kus saab kasutada. 138 00:06:19,520 --> 00:06:21,140 Nii ei ole suur üleminek olemas. 139 00:06:21,140 --> 00:06:23,400 Me ei say-- saame Kui avaldused niimoodi. 140 00:06:23,400 --> 00:06:28,210 kui $ y 43 või $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Nii et on üsna lihtne. 142 00:06:29,690 --> 00:06:31,980 Me võime olla, kas ja mujal. 143 00:06:31,980 --> 00:06:34,210 Me võime olla, kas ja teine, kui. 144 00:06:34,210 --> 00:06:36,430 >> Ja märkate midagi päris kena siin, ja see 145 00:06:36,430 --> 00:06:39,620 on omamoodi üks neist eelised PHP versus C, teate 146 00:06:39,620 --> 00:06:41,510 Mis funktsiooni me ei kasuta siin? 147 00:06:41,510 --> 00:06:47,737 Me kasutades == võrrelda muutuja $ nimi, string. 148 00:06:47,737 --> 00:06:49,070 Me ei saanud seda teha C, eks? 149 00:06:49,070 --> 00:06:53,200 Meil oli kasutada funktsiooni nimetatakse StrComp või StrEndComp või 150 00:06:53,200 --> 00:06:54,840 temaga seotud nõod. 151 00:06:54,840 --> 00:06:56,980 >> Ja nii juba näeme neid eeliseid. 152 00:06:56,980 --> 00:07:00,930 Meil ei ole midagi teha rumal või ehk unintuitive 153 00:07:00,930 --> 00:07:03,540 kui kõne funktsioon nimega StrComp kui ma tahan katsetada 154 00:07:03,540 --> 00:07:05,237 kas väärtus on string. 155 00:07:05,237 --> 00:07:07,820 Ma võiks lihtsalt kasutada võrdne võrdsete, nagu ma võiks teha midagi muud. 156 00:07:07,820 --> 00:07:09,560 Nii et eelis. 157 00:07:09,560 --> 00:07:13,350 >> Vahel, muide, võite vaata muidu, kui üks sõna, elseif. 158 00:07:13,350 --> 00:07:14,910 Ja see on OK PHP samuti. 159 00:07:14,910 --> 00:07:17,020 Nii et mõnikord võid näha. 160 00:07:17,020 --> 00:07:17,790 See ei ole kirjaviga. 161 00:07:17,790 --> 00:07:21,830 PHP tegelikult mõistab elseif. 162 00:07:21,830 --> 00:07:23,980 Ma ei tea, miks nad otsustanud rakendada, et 163 00:07:23,980 --> 00:07:28,220 kuid nagu me oleme näinud palju kordi kogu meie videoid seni, 164 00:07:28,220 --> 00:07:30,460 me programmeerijad armastan seda, kui me saame teha asju kiiremini, 165 00:07:30,460 --> 00:07:33,660 nii vabaneda, et ruumi on ilmselt suur eelis. 166 00:07:33,660 --> 00:07:34,800 >> Nii et see, kas ja elseif. 167 00:07:34,800 --> 00:07:37,540 Meil on ka kolmekomponendiliste operaator, tagasikutsumise küsimärk koolon 168 00:07:37,540 --> 00:07:43,262 jaoks tõesti lühikese vormi kui mujal või tingimisi hargnevate. 169 00:07:43,262 --> 00:07:45,470 Ja ilmselt selles, mida me üritame teha siin 170 00:07:45,470 --> 00:07:49,720 on määrata muutuja $ kirjas kas õige või vale, 171 00:07:49,720 --> 00:07:54,110 sõltuvalt sellest, kas $ var on tähte. 172 00:07:54,110 --> 00:07:57,320 Nii et see on üsna sarnane isalpha et me oleme tuttavad C. 173 00:07:57,320 --> 00:07:59,010 See on omamoodi ekvivalent PHP. 174 00:07:59,010 --> 00:08:01,550 Funktsioon on ilmselt nimetatakse ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 kuid see, kuidas me seda teeme PHP. 176 00:08:03,450 --> 00:08:08,560 Nii et kõik see saab olema on, kui $ var on kirjas, $ kirjas, on tõsi. 177 00:08:08,560 --> 00:08:13,820 Kui $ var ei ole kirjas, $ kirjas on vale. 178 00:08:13,820 --> 00:08:15,820 >> Meil on ka switch väited ikka. 179 00:08:15,820 --> 00:08:17,870 Tuletame meelde need, C samuti. 180 00:08:17,870 --> 00:08:22,480 Tipus on see, kuidas me seda teeme midagi get int või saada string. 181 00:08:22,480 --> 00:08:23,845 Nii PHP on see ehitatud. 182 00:08:23,845 --> 00:08:25,470 Me ei pea CS50 raamatukogu enam. 183 00:08:25,470 --> 00:08:27,237 Me võime lihtsalt kasutada funktsiooni readline. 184 00:08:27,237 --> 00:08:29,820 Mis see tegema hakkab on print välja sõnumi: "Sinu riik 185 00:08:29,820 --> 00:08:33,820 palun, "ja siis vilgub kiire ootab kasutajal sisestada 186 00:08:33,820 --> 00:08:34,739 mõned andmed. 187 00:08:34,739 --> 00:08:36,530 Nüüd Märka veel me saame teha lüliti. 188 00:08:36,530 --> 00:08:39,105 Kui olete kasutanud enne, ehk mäletate, et lüliti 189 00:08:39,105 --> 00:08:44,960 on piiratud päris palju täisarvud ja tegelased, kuid nüüd saame kasutada stringe. 190 00:08:44,960 --> 00:08:50,190 Ja tegelikult, lüliti avaldusega PHP on üsna natuke paindlikumad 191 00:08:50,190 --> 00:08:54,880 kui tema nõbu C. 192 00:08:54,880 --> 00:08:55,380 Loops. 193 00:08:55,380 --> 00:08:58,130 Just nagu conditionals kõik Teie vanad lemmikud on endiselt olemas. 194 00:08:58,130 --> 00:09:00,740 Meil on samas silmuseid, et loota 1-100 sel juhul. 195 00:09:00,740 --> 00:09:03,940 Oleme teha, kui silmad et loota 1-100, 196 00:09:03,940 --> 00:09:06,200 ja meil on silmad et loota 1-100. 197 00:09:06,200 --> 00:09:07,220 Nii ei ole suur hüpe seal. 198 00:09:07,220 --> 00:09:09,360 Süntaks on päris palju täpselt sama, 199 00:09:09,360 --> 00:09:11,760 va nüüd me kasutame dollari märk muutuja asemel 200 00:09:11,760 --> 00:09:17,260 deklareerimise täisarv muutujad või midagi sellist meie lugejad. 201 00:09:17,260 --> 00:09:20,090 >> Siin, kus asju saada Palju parem kui C, kuigi. 202 00:09:20,090 --> 00:09:21,020 Massiivid. 203 00:09:21,020 --> 00:09:23,020 Nii meenub, kui olime Rääkides C, et 204 00:09:23,020 --> 00:09:25,560 meil kasvada ja kahaneb komplekti saamiseks 205 00:09:25,560 --> 00:09:28,310 meil vaja sorteerida maksejõuetuse Selle idee ahelloend, 206 00:09:28,310 --> 00:09:30,780 sest C massiivid olid fikseeritud suurusega. 207 00:09:30,780 --> 00:09:31,800 Me ei saanud kahaneb neid. 208 00:09:31,800 --> 00:09:32,930 Me ei kasva neid. 209 00:09:32,930 --> 00:09:36,074 Me pidime ümber mälu ja seda kõike hullumeelsus 210 00:09:36,074 --> 00:09:38,490 või kasutada ahelloendid, mis võtavad üsna natuke rohkem ruumi. 211 00:09:38,490 --> 00:09:41,590 Aga PHP, massiivid on ole fikseeritud suurus enam. 212 00:09:41,590 --> 00:09:43,240 Nad võivad kasvada ja nad saavad kahaneb. 213 00:09:43,240 --> 00:09:46,660 Nii jälle need 20 aastat, mis eksisteeris vahel esimese versiooni C 214 00:09:46,660 --> 00:09:49,440 ja esimese versiooni PHP, Me otsustasime, et sa tead, 215 00:09:49,440 --> 00:09:51,670 oleks väga tore kui me võiks seda teha. 216 00:09:51,670 --> 00:09:54,100 Ja nii me rakendanud. 217 00:09:54,100 --> 00:09:58,040 >> Nii PHP massiivid ei fikseeritud suurus, ja kuna PHP ei ole tegelikult 218 00:09:58,040 --> 00:10:03,090 on programmeerija näoga sõidusuunas mõisted tüüpi, 219 00:10:03,090 --> 00:10:05,110 saame segada andmetüübid Meie massiivid, liiga. 220 00:10:05,110 --> 00:10:08,100 Nii et me isegi ei pea kasutama kõiki täisarvud või kõik ujuvad punktid, 221 00:10:08,100 --> 00:10:12,826 meil on mix kõik erinevaid ühe massiivi. 222 00:10:12,826 --> 00:10:14,700 Kuulutatakse massiivi on üsna lihtne. 223 00:10:14,700 --> 00:10:16,116 See on nagu iga teine ​​muutuja. 224 00:10:16,116 --> 00:10:20,020 $ nums = array (1, 2, 3, 4), massiiv on funktsioon 225 00:10:20,020 --> 00:10:22,760 mis on ehitatud PHP, et loob massiivi teile. 226 00:10:22,760 --> 00:10:28,315 See loob hulgaliselt neli väärtust, numbrid sel juhul nimetatakse $ nums. 227 00:10:28,315 --> 00:10:29,940 Ja seal on rohkem kui üks võimalus seda teha. 228 00:10:29,940 --> 00:10:32,420 Ja me ei kavatse vaata seda palju PHP. 229 00:10:32,420 --> 00:10:36,380 PHP on välja töötatud palju erinevaid inimesed ja kasvab ja kasvab ja kasvab. 230 00:10:36,380 --> 00:10:40,050 Seal ei ole tavaliselt vaid kaks või kolm võimalust teha midagi PHP, 231 00:10:40,050 --> 00:10:42,170 seal on tavaliselt nagu 10 või 20. 232 00:10:42,170 --> 00:10:45,300 Siin on ainult üks ühine kuidas kuulutada massiivi. 233 00:10:45,300 --> 00:10:48,310 $ nums = nurksulg 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Nii et see on omamoodi sarnane C nurka br-- lokkis traksidega märke, pigem. $ - 235 00:10:53,170 --> 00:10:58,525 või oleks int nums ruut Sulgudes on võrdne lokkis traksidega 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 PHP on $ nums = ruut Sulgudes 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Aga nii need näited siin mulle massiivi neli sel juhul täisarvud. 238 00:11:08,920 --> 00:11:10,920 >> Mis siis, kui ma tahan tack midagi nüüd? 239 00:11:10,920 --> 00:11:14,760 Noh ma lihtsalt öelda $ nums 4, mis uuesti, oleme endiselt lugedes 0 siin 240 00:11:14,760 --> 00:11:17,800 PHP, oleks viienda element massiivi. 241 00:11:17,800 --> 00:11:18,990 Võin öelda, et. 242 00:11:18,990 --> 00:11:22,860 Ma ei hakka kannatama seg süü, sest minu massiiv on lihtsalt 243 00:11:22,860 --> 00:11:24,337 läheb kasvama, et mahutada seda. 244 00:11:24,337 --> 00:11:25,420 See on päris kena, eks? 245 00:11:25,420 --> 00:11:28,400 Ja tegelikult, ma isegi ei pea täpsustada, kus ma tahan panna. 246 00:11:28,400 --> 00:11:31,220 Ma lihtsalt ütlen seda ja lihtsalt tack see otse lõpuni, 247 00:11:31,220 --> 00:11:34,099 või suutsin isegi ainult öelda $ nums 20 või 1000. 248 00:11:34,099 --> 00:11:35,140 See ei ole tegelikult küsimus. 249 00:11:35,140 --> 00:11:38,330 See on ikka lihtsalt läheb tack see otse lõpuni. 250 00:11:38,330 --> 00:11:41,490 >> Nii et ma ei kasva, ja kui-- me oleme ei kavatse katta see siin, 251 00:11:41,490 --> 00:11:45,360 aga ma ei Liimida või ribadena elemendid välja massiivi samuti, 252 00:11:45,360 --> 00:11:50,064 ja massiivi kahaneb mahutada mis nüüd puudu või tühi ruum. 253 00:11:50,064 --> 00:11:52,230 On veel üks võimalus tack midagi peale massiivi, 254 00:11:52,230 --> 00:11:54,330 mis on funktsioon nimega array_push. 255 00:11:54,330 --> 00:11:57,860 Nii jälle, just see idee on võimeline tegema asju mitmeti. 256 00:11:57,860 --> 00:12:01,950 Nii oleme näinud kolmel erineval viisil nüüd tack teise elemendi peale massiivi. 257 00:12:01,950 --> 00:12:06,900 Nii et see lisab teise elemendi kuni lõpuks $ nums massiivi. 258 00:12:06,900 --> 00:12:08,340 Ja me ei ajaks segamini meie andmetüüpe. 259 00:12:08,340 --> 00:12:13,110 Nii et ma võiks olla hulga ole 1, 2, 3, 4, kuid 1, tõsi, 3, 4, 260 00:12:13,110 --> 00:12:16,420 kus tõsi on Boole'i ​​ja seejärel kui ma tahan tack teise elemendi 261 00:12:16,420 --> 00:12:20,860 Selle massiivi, ehk string, string "viis" Ma ei suutnud seda teha. 262 00:12:20,860 --> 00:12:26,110 Ja nüüd minu rida oleks olla 1, tõsi, 3, 4, viie. 263 00:12:26,110 --> 00:12:28,640 Sõna viis, mitte täisarv 5. 264 00:12:28,640 --> 00:12:31,270 Nii palju paindlikkust seal. 265 00:12:31,270 --> 00:12:33,290 >> Paindlikkust saab isegi parem, kuigi 266 00:12:33,290 --> 00:12:37,530 sest PHP on toetust midagi nimetatakse assotsiatiivne massiiv. 267 00:12:37,530 --> 00:12:40,660 Ja me justkui ähmaselt rääkis umbes assotsiatiivne massiivid C 268 00:12:40,660 --> 00:12:44,740 kontekstis räsitabeli, sest Mis assotsiatiivne massiivid on tõesti kõik 269 00:12:44,740 --> 00:12:48,950 umbes teevad võti väärtus paar kaardistamisel. 270 00:12:48,950 --> 00:12:53,410 Ja sel juhul on keys-- kui me oleme tuttavad massiivide C, 271 00:12:53,410 --> 00:12:55,440 võtmed on indeksi numbrid. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 Ja väärtused, mida me leiame, et massiivi 0, String 1, 2, ja nii edasi. 274 00:13:03,070 --> 00:13:06,310 Nii võtmed indeksid, ja väärtused on 275 00:13:06,310 --> 00:13:10,060 Mis on selle massiivi asukohta, määratud, et indeks. 276 00:13:10,060 --> 00:13:15,130 >> Aga PHP, me ei pea seda tegema mõiste massiivi 0, String 1, 2 277 00:13:15,130 --> 00:13:15,830 enam. 278 00:13:15,830 --> 00:13:21,025 Nüüd on võimalik kasutada tegelikke sõnu kaardistada võtmed väärtusi. 279 00:13:21,025 --> 00:13:22,650 Ja nii ma võiks öelda midagi sellist. 280 00:13:22,650 --> 00:13:26,710 Ma ei suutnud luua massiivi abil nurksulg süntaks on järgmine. 281 00:13:26,710 --> 00:13:30,685 $ pitsad = nurksulg "juust" ja seejärel 282 00:13:30,685 --> 00:13:37,210 selline topelt nool märke, 8.99 "pepperoni," nool 10.99-- 9,99, 283 00:13:37,210 --> 00:13:37,880 ja nii edasi. 284 00:13:37,880 --> 00:13:39,060 Ja mis siin toimub? 285 00:13:39,060 --> 00:13:41,040 Mida ma tegelikult teeb? 286 00:13:41,040 --> 00:13:43,990 Ma loon põhiväärtus paari kaardistamisel. 287 00:13:43,990 --> 00:13:49,060 Nii et selle asemel, et öelda, näiteks, pitsad 0 tükki 1, pitsad 2, 288 00:13:49,060 --> 00:13:52,350 Nüüd saan öelda pitsad juust, pitsad pepperoni, 289 00:13:52,350 --> 00:13:55,120 ja esitada Euroopa väärtused nendega. 290 00:13:55,120 --> 00:13:56,970 >> Nii et siin on meie võtmed roheline. 291 00:13:56,970 --> 00:13:59,870 Juust, pepperoni, köögiviljade, pühvlid kana. 292 00:13:59,870 --> 00:14:04,200 Siin on nool, mis muudab Selle võtme väärtus paar kaardistamine. 293 00:14:04,200 --> 00:14:07,420 Ja siis siin on väärtused sel massiivi asukohta. 294 00:14:07,420 --> 00:14:10,330 Nii et see on nagu öelda massiivi 0 võrdub 8,99. 295 00:14:10,330 --> 00:14:11,720 Oluline on 0. 296 00:14:11,720 --> 00:14:13,600 Väärtus on 8,99. 297 00:14:13,600 --> 00:14:19,370 Nüüd saan öelda massiivi juust, või selle Juhul pitsad juust, juust on võti, 298 00:14:19,370 --> 00:14:23,340 ja mida ma teada kell pitsad juust on 8.99. 299 00:14:23,340 --> 00:14:25,540 See on väärtus, mida sealt leian. 300 00:14:25,540 --> 00:14:28,124 >> Nii et ma ei saa öelda asju meeldib. $ pizza juustu = 7,99. 301 00:14:28,124 --> 00:14:29,040 Ütle mul on müügiks. 302 00:14:29,040 --> 00:14:31,750 Ma tahan dis-- tahan langeda hind juustu pitsa. 303 00:14:31,750 --> 00:14:35,620 Või saan kasutada taimsed pitsa osana tingimusel, 304 00:14:35,620 --> 00:14:39,990 või võin lisada uus element minu massiiv, nagu ma võiks teha varem. 305 00:14:39,990 --> 00:14:44,680 Võin lisada uus element sellele assotsiatiivne massiiv võtmega "peekon" 306 00:14:44,680 --> 00:14:49,250 ja väärtus 13,49. 307 00:14:49,250 --> 00:14:53,820 >> Aga selline tutvustab probleem, kui mõtled seda teist. 308 00:14:53,820 --> 00:14:55,721 Kuidas me korrata läbi selle massiivi? 309 00:14:55,721 --> 00:14:56,220 Õigus? 310 00:14:56,220 --> 00:14:59,820 In C, me lihtsalt olla silmus, tüüpiliselt, et 311 00:14:59,820 --> 00:15:03,650 läheks 0 kuni suurus massiivi miinus 1. 312 00:15:03,650 --> 00:15:08,060 Array on n elementi juures on kehtib indeksid on 0 kuni n miinus 1. 313 00:15:08,060 --> 00:15:11,530 Nii et me võiks kasutada for loop sammult läbi iga element. 314 00:15:11,530 --> 00:15:13,530 >> Aga see ei ole tõesti puhul enam, eks? 315 00:15:13,530 --> 00:15:17,360 Nüüd, kus meil on põhiväärtus paari kaardistamisel, kus võtmed on sõnad, 316 00:15:17,360 --> 00:15:19,970 Kuidas me Käi kõik sõnad? 317 00:15:19,970 --> 00:15:22,420 Noh, õnneks PHP on viis käsitleda seda ka 318 00:15:22,420 --> 00:15:24,580 ja nii me hüpata tagasi to ring teist 319 00:15:24,580 --> 00:15:30,780 kehtestada neljas selline loop et olemas PHP nimetatakse foreach loop. 320 00:15:30,780 --> 00:15:34,430 Ja milline foreach loop teeb, on see on põhimõtteliselt sama idee. 321 00:15:34,430 --> 00:15:36,060 Võite kasutada ükskõik millist valikut. 322 00:15:36,060 --> 00:15:38,100 Aga see on põhimõtteliselt Sama idee jaoks silmus, 323 00:15:38,100 --> 00:15:40,750 Kuid selle asemel, et kasutada indeksid, sa lihtsalt 324 00:15:40,750 --> 00:15:45,830 on see imelik süntaks, kus helistate iga element 325 00:15:45,830 --> 00:15:47,550 nimi Käesolevas loop. 326 00:15:47,550 --> 00:15:49,258 >> Nii sel juhul foreach ($ array $ võti). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Põhimõtteliselt, kuna see kommentaar märkmed sees, et foreach loop, 329 00:15:56,450 --> 00:16:00,466 see saab minna üle iga element $ massiiv, mis on tavaliselt 330 00:16:00,466 --> 00:16:03,340 saab olema assotsiatiivne massiiv, kuid võib tõesti olla mingeid massiivi 331 00:16:03,340 --> 00:16:05,419 mis sa tahad PHP. 332 00:16:05,419 --> 00:16:07,210 Ja iga kord, et jaoks silmus võite 333 00:16:07,210 --> 00:16:13,780 on öelnud $ massiiv nurksulgudes $ i, siis võiks öelda $ võti. 334 00:16:13,780 --> 00:16:22,340 Nii et $ võti muutub alias iga indeks oma PHP assotsiatiivne massiiv, 335 00:16:22,340 --> 00:16:23,710 ja nii saab seda kasutada sellist. 336 00:16:23,710 --> 00:16:25,897 >> Nii näiteks oleme Nüüd sain oma pitsa massiivi. 337 00:16:25,897 --> 00:16:27,730 Olen selline tõmmatud see nurka seal 338 00:16:27,730 --> 00:16:31,080 nii et me ei kasuta seda teha kiire näide. 339 00:16:31,080 --> 00:16:36,420 Kui ma ütlen foreach ($ pitsad $ pizza), hästi, mis toimub? 340 00:16:36,420 --> 00:16:42,400 Noh, ma lähen itereerima läbi iga ühe elemendi massiivi $ pitsad, 341 00:16:42,400 --> 00:16:46,670 ja seda tehes, ma lähen kutsun iga element, kui ma olen sees 342 00:16:46,670 --> 00:16:49,400 keha selle jaoks silmus, $ pizza. 343 00:16:49,400 --> 00:16:52,440 >> Nii et omamoodi stand-in, meenutada, et $ pizza 344 00:16:52,440 --> 00:16:59,140 on stand-in öelda, $ pitsad nurksulgudes $ i 345 00:16:59,140 --> 00:17:03,370 kui olime kasutades silmus, kus me võiks minna alates $ i = 0, antud juhul, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 Kui meil poleks põhiväärtus paari Siit oleks see element 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 ja me kasutame jaoks silmus minna $ pitsad 0, $ pitsad 1, $ pitsad 2, 349 00:17:16,390 --> 00:17:17,750 $ pitsad 3. 350 00:17:17,750 --> 00:17:23,130 Nüüd ainult $ pitsa asendades eest, et üksikute võti. 351 00:17:23,130 --> 00:17:25,630 >> Mis see läheb välja printida? 352 00:17:25,630 --> 00:17:29,030 Ma väljatrükk $ pizza. 353 00:17:29,030 --> 00:17:35,270 Mida ma leida at-- kui ma välja printida $ pitsad, $ i? 354 00:17:35,270 --> 00:17:35,770 Õigus? 355 00:17:35,770 --> 00:17:38,680 Kui ma lähen välja printida nda osa pitsad, 356 00:17:38,680 --> 00:17:40,070 Mis ma nüüd välja printida? 357 00:17:40,070 --> 00:17:42,580 Ma lähen välja printida väärtused selles kohas, eks? 358 00:17:42,580 --> 00:17:45,370 Nagu siis, kui me teeme Käesoleva kontekstis C, 359 00:17:45,370 --> 00:17:49,786 Me ei kasuta tavaliselt meie iteraatoris varieeruv, int i = 0, i on väiksem kui 3, 360 00:17:49,786 --> 00:17:52,900 i ++, välja trükkida 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Me printida massiivi 0, String 1, 2, massiiv 3. 362 00:17:57,500 --> 00:17:59,580 Ja mis see prindib see. 363 00:17:59,580 --> 00:18:01,150 See on hinnakirja. 364 00:18:01,150 --> 00:18:05,750 8,99, 9,99, 10,99, 11,99. 365 00:18:05,750 --> 00:18:06,900 >> Nüüd kiire märkus siin. 366 00:18:06,900 --> 00:18:10,900 Foreach loop ei pruugi välja printida asju järjekorras. 367 00:18:10,900 --> 00:18:12,770 See ei ole tagatud. 368 00:18:12,770 --> 00:18:13,550 Tavaliselt teeb. 369 00:18:13,550 --> 00:18:17,667 See on tavaliselt põhineb järjekorras millised elemendid lisatakse massiivi, 370 00:18:17,667 --> 00:18:18,750 nii lihtsalt meeles pidada. 371 00:18:18,750 --> 00:18:20,830 See ei pruugi olla selleks. 372 00:18:20,830 --> 00:18:23,930 Aga foreach loop itereerima üle iga element 373 00:18:23,930 --> 00:18:25,060 massiivi küsimus. 374 00:18:25,060 --> 00:18:27,980 Sel juhul jällegi et massiiv on $ pitsad. 375 00:18:27,980 --> 00:18:32,920 >> Ma ei muuda süntaks, aga kui Ma tahan nii võti ja väärtus. 376 00:18:32,920 --> 00:18:37,179 Selle asemel, et öelda: $ pitsad kui $ pizza, võin öelda. 377 00:18:37,179 --> 00:18:39,470 Ja kui te vaatate, mida ma olen esile tõstetud roheline siin, 378 00:18:39,470 --> 00:18:42,130 tundub põhiväärtus paari kaardistamine. 379 00:18:42,130 --> 00:18:45,980 Ja nii kui sina-- isegi kui sa ei ole täiesti kindel, mida ta tegema hakkab, 380 00:18:45,980 --> 00:18:49,300 saab ilmselt vist et $ destillatsiooniseadmetest läheb 381 00:18:49,300 --> 00:18:53,800 olla võti sellisel juhul ja $ hind saab olema väärtus. 382 00:18:53,800 --> 00:18:59,200 Nii et ma asendades nüüd iga element of $ pitsad põhiväärtus paari, 383 00:18:59,200 --> 00:19:03,900 ja nüüd ma ei viita võti ja väärtus, mis võib abiks, 384 00:19:03,900 --> 00:19:05,590 näiteks järgmiselt. 385 00:19:05,590 --> 00:19:10,170 >> "Terve" - ​​see on palju trükkimine toimub siin-- "Terve" 386 00:19:10,170 --> 00:19:17,300 destillatsiooniseadmetest "pizza maksab $" hind, ning seejärel Ma printida jooksul ja kaldkriips n. 387 00:19:17,300 --> 00:19:23,420 Nüüd, teate uuesti Mul on juurdepääs oluline, $ kattega ja väärtus, $ hind. 388 00:19:23,420 --> 00:19:26,647 Nii saab ära arvata, mida see läheb välja printida? 389 00:19:26,647 --> 00:19:29,480 Seal on palju print avaldused, kuid seal on ainult üks kurakriips n, 390 00:19:29,480 --> 00:19:33,410 nii see läheb printida midagi entire-- ühe rida koodi. 391 00:19:33,410 --> 00:19:36,965 >> Kui ma ei saa viidata võti ja väärtus, siis nüüd, 392 00:19:36,965 --> 00:19:39,090 selle asemel, et lihtsalt on võimalik välja trükkida hinnad 393 00:19:39,090 --> 00:19:41,330 Võin välja printida midagi sellist. 394 00:19:41,330 --> 00:19:43,780 "Terve juustu pizza maksab $ 8,99." 395 00:19:43,780 --> 00:19:47,150 Ja nüüd ma kasutan kõik keys-- juust, pepperoni, köögiviljade, 396 00:19:47,150 --> 00:19:49,640 Buffalo chicken-- ja väärtusi. 397 00:19:49,640 --> 00:19:53,980 8,99, 9,99, 10,99, 11,99 Nii see on lihtsalt teistmoodi 398 00:19:53,980 --> 00:19:57,840 teha foreach loop, et selle asemel, et lihtsalt annab teile juurdepääsu väärtused, 399 00:19:57,840 --> 00:20:02,950 see lihtsalt annab sina-- see annab teile juurdepääsu võtmed ja väärtused. 400 00:20:02,950 --> 00:20:04,411 >> Nii väljatrükk informatsiooni. 401 00:20:04,411 --> 00:20:07,410 Olen seda juba teinud paar erinevalt, siis võib-olla märganud. 402 00:20:07,410 --> 00:20:11,080 Need kaks funktsiooni me oleme peamiselt näinud on print ja kaja. 403 00:20:11,080 --> 00:20:14,380 Ja päris palju kõik kavatsused ja eesmärkidel, nad täpselt sama. 404 00:20:14,380 --> 00:20:17,130 They're-- seal on väga peen erinevusega, et ei ole isegi väärt 405 00:20:17,130 --> 00:20:21,130 sattumist, kuid põhimõtteliselt kõikjal saate printida saab ilmselt kasutada 406 00:20:21,130 --> 00:20:22,370 Kaja samuti. 407 00:20:22,370 --> 00:20:23,610 >> Ja see ei ole ainult kaks. 408 00:20:23,610 --> 00:20:26,970 PHP on palju erinevaid kuidas printida asju teha, 409 00:20:26,970 --> 00:20:30,520 ja see on ka võimalusi integreerida muutujad keset string. 410 00:20:30,520 --> 00:20:32,860 Nii mäletate C, sa mäleta, mida funktsioon 411 00:20:32,860 --> 00:20:37,580 saame kasutada, et asendada muutujad arvesse asju, mida me tahame välja printida? 412 00:20:37,580 --> 00:20:40,160 Sa ilmselt kasutada seda toimida üsna palju. 413 00:20:40,160 --> 00:20:42,290 printf, eks? 414 00:20:42,290 --> 00:20:45,290 Nii et see on see, mis meil oli enne sees konteksti meie foreach loop. 415 00:20:45,290 --> 00:20:48,000 Meil oli neid viis Eraldi print avaldused, 416 00:20:48,000 --> 00:20:50,330 kuna see oli ainus Kuidas ma tõesti teadis ajal 417 00:20:50,330 --> 00:20:52,450 kuidas printida välja sõnumeid. 418 00:20:52,450 --> 00:20:59,560 Ma ei tea, kuidas integreerida muutuja $ kerkinud minu PHP koodi. 419 00:20:59,560 --> 00:21:03,700 Noh, kui ma lihtsalt võtnud huupi, printf, et tegelikult oleks teinud. 420 00:21:03,700 --> 00:21:08,980 printf on funktsioon, et ma ei kasuta PHP, nagu ma seda kasutada C. 421 00:21:08,980 --> 00:21:11,880 >> Ja nii midagi sellist, printf, jälle, me oleme tuttavad, et. 422 00:21:11,880 --> 00:21:16,420 Esimene% s asendatakse väärtusega $ kattega. 423 00:21:16,420 --> 00:21:19,700 Teine% s asendatakse väärtusega $ hind. 424 00:21:19,700 --> 00:21:22,630 Ja nii ma interpellating, mis on lihtsalt fancy viis 425 00:21:22,630 --> 00:21:25,400 öelda ma kleepuvad muutujad selles kohas. 426 00:21:25,400 --> 00:21:31,000 Nii et ma ühendades $ kärpimine red% s on ja $ hind, kui sinine% s 427 00:21:31,000 --> 00:21:36,060 on, ja siis ma saan sõnumi, "Terve juustu pizza maksab $ 8,99." 428 00:21:36,060 --> 00:21:37,750 >> Mitte ainult nii ma ei saa seda teha, kuigi. 429 00:21:37,750 --> 00:21:39,760 Võib-olla ma ei tahaks seda meetodit kasutada. 430 00:21:39,760 --> 00:21:44,890 See on tegelikult see, mis on kõige sagedamini nimetatakse muutuva arupärimise. 431 00:21:44,890 --> 00:21:45,690 Oskan kasutada kaja. 432 00:21:45,690 --> 00:21:47,737 Ma võiks kasutada print liiga, sest me näeme. 433 00:21:47,737 --> 00:21:48,820 Aga mis siin toimub? 434 00:21:48,820 --> 00:21:51,520 >> Esiteks, ma pean põgeneda dollari märk. 435 00:21:51,520 --> 00:21:55,140 Sest mäletan, kui me olime tegelikult väljatrükk hinnad pitsad, 436 00:21:55,140 --> 00:21:59,370 Ma olin tegelikult vormingu neid rahalisi näitajaid dollari märk. 437 00:21:59,370 --> 00:22:05,635 Aga me kasutame dollar märke ka esindada muutuja nimed PHP, 438 00:22:05,635 --> 00:22:08,010 eriti kui ma olen seda meetodit kasutades lokkis 439 00:22:08,010 --> 00:22:10,040 traksidega muutuja Arupärimine meetod, ma vajan 440 00:22:10,040 --> 00:22:13,490 põgeneda oma dollari märk, et see ei ole arvan, et ma räägin muutuv. 441 00:22:13,490 --> 00:22:16,920 See läheb tegelikult, sõna otseses mõttes trükkida dollari märk. 442 00:22:16,920 --> 00:22:19,530 >> Nii omamoodi analogize seda mida sa näed lõpus seal. 443 00:22:19,530 --> 00:22:22,832 See ei ole tegelikult print kurakriips n, eks? 444 00:22:22,832 --> 00:22:24,290 See prindib reavahetusmärki. 445 00:22:24,290 --> 00:22:26,750 See on-- see ei kavatse print kurakriips dollari märk, 446 00:22:26,750 --> 00:22:30,130 see saab printida ainult dollari märk iseloomu. 447 00:22:30,130 --> 00:22:30,640 Sama mõte. 448 00:22:30,640 --> 00:22:32,760 Paojada, mida need asjad on nn. 449 00:22:32,760 --> 00:22:37,080 >> Aga teate, et ma ei tee mingit% s asendust 450 00:22:37,080 --> 00:22:40,050 Ma lihtsalt sõna otseses mõttes kõrvaldamine Nende muutujaid. 451 00:22:40,050 --> 00:22:45,110 Ja nii see-- mis juhtuks siin on selle väärtus $ topping-- uuesti, 452 00:22:45,110 --> 00:22:48,390 lihtsalt hoida seda, mida me oleme räägi nii far-- juustu saaksin 453 00:22:48,390 --> 00:22:49,720 ühendatud on. 454 00:22:49,720 --> 00:22:54,780 Ja $ hind oleks ükskõik väärtus on kell pitsad, nurksulgudes, juust, 455 00:22:54,780 --> 00:22:56,270 mis oli 8,99. 456 00:22:56,270 --> 00:23:01,860 Ja nii see ka välja printida "Terve juustu pizza maksab $ 8,99." 457 00:23:01,860 --> 00:23:05,160 Ja nagu ma ütlesin, ma kasutan prindi siin, mitte kaja, 458 00:23:05,160 --> 00:23:08,040 ja funktsionaalsust olla päris palju täpselt sama. 459 00:23:08,040 --> 00:23:09,660 Oleks välja printida sama asi. 460 00:23:09,660 --> 00:23:12,680 >> On veel üks viis seda teha, ja see on veel üks eelis 461 00:23:12,680 --> 00:23:14,710 PHP töötavad stringid. 462 00:23:14,710 --> 00:23:17,130 Me ei saa teha stringi liitmise tehe. 463 00:23:17,130 --> 00:23:19,660 Me võiksime seda teha C Ka kasutades funktsiooni nimetatakse strcat, 464 00:23:19,660 --> 00:23:21,180 aga jälle, pidime kutsuda erinevaid ülesandeid. 465 00:23:21,180 --> 00:23:22,640 See oli kogu see jama teha. 466 00:23:22,640 --> 00:23:24,590 Me pidime naela-hõlmavad string. 467 00:23:24,590 --> 00:23:25,780 See oli tootmise, eks? 468 00:23:25,780 --> 00:23:30,070 Aga nüüd ma lihtsalt kasutada seda dot operaator to concatenate stringid koos. 469 00:23:30,070 --> 00:23:34,910 >> Nii et ma concatenating "kogu" ja siis iganes väärtus $ destillatsiooniseadmetest on, 470 00:23:34,910 --> 00:23:38,860 ja siis veel string, "pizza maksab $" 471 00:23:38,860 --> 00:23:42,340 ja siis concatenating iganes väärtus $ hind on 472 00:23:42,340 --> 00:23:45,670 ja siis päris lõpus ma olen laveerimine perioodi kurakriips n. 473 00:23:45,670 --> 00:23:47,926 Ja nii see oleks ka prindi välja "Terve" - ​​jälle, 474 00:23:47,926 --> 00:23:50,550 kui me räägime esimesest element, mis pitsasid array-- 475 00:23:50,550 --> 00:23:54,710 "Terve juustu pizza maksab $ 8,99." 476 00:23:54,710 --> 00:24:01,260 Periood, kurakriips n, jälle koos on $ kattega ja $ hind asendava 477 00:24:01,260 --> 00:24:06,580 mida olime nimetatud meie foreach loop kui põhiväärtus paari kaardistamine. 478 00:24:06,580 --> 00:24:08,050 >> PHP saavad hakkama funktsioone. 479 00:24:08,050 --> 00:24:11,250 Funktsioonid olid omamoodi lahutamatu C, nagu me nägime. 480 00:24:11,250 --> 00:24:14,870 Nagu muutujad, me ei pea määrata tüübi tagastamise funktsiooni, 481 00:24:14,870 --> 00:24:16,350 sest see ei ole tegelikult küsimus. 482 00:24:16,350 --> 00:24:18,660 Ja me ei täpsusta andmetüübid tahes parameetreid, 483 00:24:18,660 --> 00:24:21,410 sest nad tõesti ei asi, nagu oleme näinud PHP. 484 00:24:21,410 --> 00:24:24,510 Iga funktsioon on sisse funktsiooniga märksõna. 485 00:24:24,510 --> 00:24:27,920 See, kuidas me näitavad PHP, et mida me räägime on funktsioon. 486 00:24:27,920 --> 00:24:29,720 >> Ja me ei pea tegeleda peamised üldse 487 00:24:29,720 --> 00:24:33,690 sest tõlk, PHP tõlk, toimib ülevalt alla, 488 00:24:33,690 --> 00:24:34,190 sõltumata. 489 00:24:34,190 --> 00:24:35,640 Kui ta näeb saate funktsioon kõne, siis see 490 00:24:35,640 --> 00:24:37,850 minna leida funktsioon kõne, isegi kui see on hilisem. 491 00:24:37,850 --> 00:24:40,360 Aga see läheb lugeda ülevalt alt, nii et me ei vaja täpsustada, 492 00:24:40,360 --> 00:24:41,500 Siin on koht, kus hakkate. 493 00:24:41,500 --> 00:24:46,700 Hakkad real 1 oma PHP ja tööd sealt alla. 494 00:24:46,700 --> 00:24:49,690 >> Nii et siin on, kuidas me looks funktsioon nimega hard_square. 495 00:24:49,690 --> 00:24:54,100 See ilmselt võtab ühe parameeter, mis ma helistan $ x. 496 00:24:54,100 --> 00:24:58,424 See funktsioon on keeruline lihtsalt illustreerimaks erinevaid asju. 497 00:24:58,424 --> 00:24:59,590 Meil on veel tagasipöördumist väärtusi. 498 00:24:59,590 --> 00:25:00,870 Ma kasutan silmus siin. 499 00:25:00,870 --> 00:25:04,970 Aga see on põhimõtteliselt ainult, mida see ulatub on just $ x korda $ x. 500 00:25:04,970 --> 00:25:10,520 Mida ma tegelikult seda on lihtsalt lisades x 0 x korda või $ x null $ x korda. 501 00:25:10,520 --> 00:25:15,850 Aga see on tegelikult täpselt sama korrutades $ x korda $ x. 502 00:25:15,850 --> 00:25:18,700 Ma ei saa ikka tagasta väärtust, sel juhul $ tulemus, 503 00:25:18,700 --> 00:25:22,060 ja ma tegin funktsiooni PHP. 504 00:25:22,060 --> 00:25:24,160 >> Siin on, kuidas sa võiksid seda kasutada kontekstis. 505 00:25:24,160 --> 00:25:26,020 Ehk ma olen sees mõned PHP fail. 506 00:25:26,020 --> 00:25:29,240 Teate sinine seal, et Olen kasutanud minu PHP piirajaid, 507 00:25:29,240 --> 00:25:31,010 nurksulu küsimärk php. 508 00:25:31,010 --> 00:25:35,180 In nende vahel on kõik PHP, et ma tahan kirjutada. 509 00:25:35,180 --> 00:25:37,840 Nii et ma olen ilmselt läheb get-- Ma lähen kiire kasutaja 510 00:25:37,840 --> 00:25:41,550 mulle number, pood varieeruv, kaupluse, et muutuja $ x, 511 00:25:41,550 --> 00:25:43,320 mida iganes nad andsid mulle. 512 00:25:43,320 --> 00:25:48,590 Siis ma lähen kaja hard_square selle väärtust, 513 00:25:48,590 --> 00:25:50,370 ja ilmselt läheb tack uuele reale 514 00:25:50,370 --> 00:25:53,590 samuti, ja siis hiljem ma tulen määrab funktsiooni hard_square nii 515 00:25:53,590 --> 00:25:55,550 et kui ma teen helistage hard_square, 516 00:25:55,550 --> 00:25:58,160 ta teab, mida ma räägin. 517 00:25:58,160 --> 00:26:00,705 >> Nüüd, ma võiks ka teha midagi sellist. 518 00:26:00,705 --> 00:26:02,050 See on veidi erinev. 519 00:26:02,050 --> 00:26:04,190 See on peaaegu täpselt sama, mida me nägime enne, 520 00:26:04,190 --> 00:26:08,400 Kuid selle asemel, et öelda lihtsalt $ x seal parameetrina hard_square, 521 00:26:08,400 --> 00:26:11,730 Ma räägin $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Nii et see on näide kaitsev programmeerimine, 523 00:26:14,330 --> 00:26:17,070 valve oma programmides pahatahtliku kasutajad. 524 00:26:17,070 --> 00:26:20,020 >> See on üks viis seda teha mõni viga kontrollides, et me ei ole tegelikult 525 00:26:20,020 --> 00:26:24,670 on ühe variandina C. Me ei tohtinud määrata vaikeväärtus midagi. 526 00:26:24,670 --> 00:26:27,010 Oleme alati olnud kontrollida kas näiteks 527 00:26:27,010 --> 00:26:30,820 kui me teinud kõne getString, see oli kõige sobivam, kui kohe pärast me 528 00:26:30,820 --> 00:26:33,300 kontrollida, et me kontrollisime kas string 529 00:26:33,300 --> 00:26:35,504 et kasutaja andis meile ei ole võrdne null, 530 00:26:35,504 --> 00:26:37,920 sest me ei taha hakata töötavad null string. 531 00:26:37,920 --> 00:26:39,670 >> Siin on see viis kaitsevad seda. 532 00:26:39,670 --> 00:26:43,480 Kui kasutaja ei anna meile midagi kuidagi, mida me saame teha? 533 00:26:43,480 --> 00:26:46,080 Noh, me lihtsalt öelda, mida iganes nad ei anna meile, 534 00:26:46,080 --> 00:26:47,705 me lihtsalt läheb pistik 10 asemel. 535 00:26:47,705 --> 00:26:52,030 Nii et kui nad ei ole meile väärtus, lihtsalt kasutada 10 vaikimisi. Ja nii siin, 536 00:26:52,030 --> 00:26:53,940 märgata, et ma teen Kõne hard_square, 537 00:26:53,940 --> 00:26:55,980 kuid seal ei ole kiire kasutajale, eks? 538 00:26:55,980 --> 00:26:57,540 Ma lihtsalt tegemist tühja kõne. 539 00:26:57,540 --> 00:27:00,860 >> Aga minu funktsioon hard_square ootab parameeter. 540 00:27:00,860 --> 00:27:02,222 Millega see välja printida? 541 00:27:02,222 --> 00:27:03,680 See saab välja trükkida 100, eks? 542 00:27:03,680 --> 00:27:05,720 Kuna kasutaja ei anna mulle midagi. 543 00:27:05,720 --> 00:27:08,970 Ja nii ma lähen lihtsalt eeldada, et 10-- 10 on vaikeväärtus. 544 00:27:08,970 --> 00:27:13,760 Ja nii see printida välja 100 oma rida. 545 00:27:13,760 --> 00:27:16,390 >> PHP faile ei pea olla ainult üks fail. 546 00:27:16,390 --> 00:27:19,480 Võite ühendada mitu faili kokku, lihtsalt meeldib saad C. viis 547 00:27:19,480 --> 00:27:24,330 me tegime, et C oli tavaliselt teha #include saada päisfailid tõmmata. 548 00:27:24,330 --> 00:27:26,180 Me ei tee seda PHP. 549 00:27:26,180 --> 00:27:29,110 Me teeme midagi, mida nimetatakse require_once. 550 00:27:29,110 --> 00:27:33,360 Ja siis on see kogu asi, mis see __dir__? 551 00:27:33,360 --> 00:27:36,510 See on lihtsalt eriline muutuja, või spetsiaalsed pidev, 552 00:27:36,510 --> 00:27:39,030 tõesti, mis määrab, milline Sinu praegune kataloog on. 553 00:27:39,030 --> 00:27:41,320 Ja nii see läheb otsima oma praeguse kataloogi 554 00:27:41,320 --> 00:27:44,900 faili nimega cs50.php Selles näites siin, 555 00:27:44,900 --> 00:27:50,490 ja siis läheb kinni, et faili ülaosas oma PHP programm, 556 00:27:50,490 --> 00:27:56,980 eeldades, et paned vaja kui joone peal oma PHP fail. 557 00:27:56,980 --> 00:28:01,474 >> Nii PHP kasutatakse peamiselt, kuid mitte ainult kasutada, 558 00:28:01,474 --> 00:28:03,140 keele veebipõhiste programmeerimine. 559 00:28:03,140 --> 00:28:05,270 See on tõesti, kuidas ta sai olla. 560 00:28:05,270 --> 00:28:06,980 Aga see on täielik keeles, nagu me oleme näinud. 561 00:28:06,980 --> 00:28:10,105 Me oleme näinud päris palju kõike et seda saab teha, mis on sarnased C, 562 00:28:10,105 --> 00:28:13,290 ja seda saab teha Heck palju rohkem. 563 00:28:13,290 --> 00:28:16,950 >> Aga kuna see on täis keeles ja me saab teha käsurea programmeerimine ta. 564 00:28:16,950 --> 00:28:18,630 Meil saab sõita käsureaprogrammis. 565 00:28:18,630 --> 00:28:22,580 Kõik, mida on vaja käivitada käsku line programm, mis on kirjutatud PHP 566 00:28:22,580 --> 00:28:24,260 on see, et teil on PHP tõlk. 567 00:28:24,260 --> 00:28:27,460 Nii et see on omamoodi analoogne võttes tõlkija oma süsteemis 568 00:28:27,460 --> 00:28:31,100 Kui soovid kompileerida C koodi muuta see käivitatava faili. 569 00:28:31,100 --> 00:28:33,810 Sa pead olema PHP tõlk et on olemas oma süsteem 570 00:28:33,810 --> 00:28:37,330 nii et võite tõlgendada PHP faile. 571 00:28:37,330 --> 00:28:40,370 >> Eeldades, te, ja tavaliselt Selle tõlk nimetatakse PHP, 572 00:28:40,370 --> 00:28:44,300 ja see on tavaliselt komplekteeritud kõige downloads või rajatiste PHP 573 00:28:44,300 --> 00:28:47,430 et saad online, ja kindlasti nimi PHP tõlk 574 00:28:47,430 --> 00:28:49,550 meil CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Kõik, mida tegema, on tüüpi php faili. 576 00:28:51,819 --> 00:28:53,610 Ja mida teie programmi lähen tegema, on see 577 00:28:53,610 --> 00:28:55,360 läbiks tõlk, see on 578 00:28:55,360 --> 00:28:58,040 läheb ignoreerida kõike, mis on mitte vahel küsimus mark-- 579 00:28:58,040 --> 00:29:03,160 või nurksulu küsimärk php, PHP piirajaid ning välja printida, 580 00:29:03,160 --> 00:29:07,660 ja ta tõlgendab ja täidab koodi sees oma PHP piirajaid. 581 00:29:07,660 --> 00:29:12,850 >> Nii saab pop üle CS50 IDE ja on pilk mõned PHP faile, 582 00:29:12,850 --> 00:29:19,850 töötab paar PHP faile, in käsurea liides CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Nii et siin me oleme CS50 IDE, ja ma olen võtnud vabaduse 584 00:29:22,100 --> 00:29:25,800 avada fail nimega hello1.php. 585 00:29:25,800 --> 00:29:29,920 Ja ilmselt sisu käesoleva faili on lihtsalt PHP piirajaid seal, 586 00:29:29,920 --> 00:29:32,220 ja vahel, kaja ("Hello, world"). 587 00:29:32,220 --> 00:29:34,710 See on üsna lihtne PHP programm. 588 00:29:34,710 --> 00:29:37,670 Ma lihtsalt kerige minu terminal window siin 589 00:29:37,670 --> 00:29:44,320 ja ma lähen kirjutada php hello1.php, vajuta enter. 590 00:29:44,320 --> 00:29:44,950 Tere, Maailm. 591 00:29:44,950 --> 00:29:48,110 See on ilmselt see, mida me olime ootasin seda teha, eks? 592 00:29:48,110 --> 00:29:51,140 >> Lähme üles ja võtta teise vaadata programmi. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 Päris palju sama asi, ei ole palju siin toimub. 595 00:29:55,090 --> 00:29:57,190 Seekord küll, ma lähen kiire kasutaja anda mulle oma nime. 596 00:29:57,190 --> 00:29:59,290 Ma kasutan selle readline uuesti funktsiooni. 597 00:29:59,290 --> 00:30:01,340 $ name = readline. 598 00:30:01,340 --> 00:30:03,070 See on kiire, "Mis su nimi on?" 599 00:30:03,070 --> 00:30:04,880 >> Ilmselt ma olen trükkimine see on oma rida. 600 00:30:04,880 --> 00:30:07,220 Ja siis, et joon alla mis saab olema kiire 601 00:30:07,220 --> 00:30:08,750 kus kasutaja saab sisestada oma nime. 602 00:30:08,750 --> 00:30:12,030 Ja siis ma kasutan natuke muutuja arupärimise siin on line 3 603 00:30:12,030 --> 00:30:14,780 välja printida "Tere" ja olenemata kasutaja liigid. 604 00:30:14,780 --> 00:30:22,040 Nii et see on analoogne öeldes Tere, koma,% s, kui olime kasutades printf C. 605 00:30:22,040 --> 00:30:24,910 >> Nii lähme ja tõlgendada seda programmi. 606 00:30:24,910 --> 00:30:27,400 Nii jälle, ma keri minu terminali aknas. 607 00:30:27,400 --> 00:30:29,070 php hello2.php. 608 00:30:29,070 --> 00:30:31,920 609 00:30:31,920 --> 00:30:33,820 Mis on Sinu nimi? 610 00:30:33,820 --> 00:30:35,490 Doug. 611 00:30:35,490 --> 00:30:36,526 Tere, Doug. 612 00:30:36,526 --> 00:30:39,440 Mul on ka teine fail nimega hello3.php. 613 00:30:39,440 --> 00:30:42,850 Ma kustutan oma ekraan kontroll L, 614 00:30:42,850 --> 00:30:46,210 ja ma lähen täita selle. 615 00:30:46,210 --> 00:30:47,640 Mis on Sinu nimi? 616 00:30:47,640 --> 00:30:49,020 Doug. 617 00:30:49,020 --> 00:30:49,780 Tere, Doug. 618 00:30:49,780 --> 00:30:56,540 Nii käitumist on identne hello2.php, kuid miks on see hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Noh, siin on vahe. 620 00:30:58,040 --> 00:31:00,620 Sel juhul teatamata et real 1 siin, 621 00:31:00,620 --> 00:31:04,270 Mul on midagi, mis ei ole vahel PHP piirajaid. 622 00:31:04,270 --> 00:31:07,760 Ma lihtsalt printimisel out-- või ma lihtsalt kirjutada, "Mis su nimi on?" 623 00:31:07,760 --> 00:31:12,060 Kui PHP tõlk näeb seda, et ei tea, kuidas seda tõlgendada kui PHP, 624 00:31:12,060 --> 00:31:15,060 ja nii, mitte ei suuda, see on lihtsalt läheb sülitada. 625 00:31:15,060 --> 00:31:19,010 >> Nii märkate real 3 nüüd, minu kõne readline, pole kiiret enam. 626 00:31:19,010 --> 00:31:21,750 Ma lihtsalt tegelikult läheb mina-- kui PHP tõlk näeb seda, 627 00:31:21,750 --> 00:31:23,400 see saab välja trükkida "Mis on Sinu nimi?" 628 00:31:23,400 --> 00:31:25,941 Siis ta näeb, oh, OK, here's-- kõik muu läheb 629 00:31:25,941 --> 00:31:29,970 tõlgendada kui PHP, nii sellepärast see töötab. 630 00:31:29,970 --> 00:31:34,990 Ma ei pea tingimata kiire kasutaja mina-- sees readline, 631 00:31:34,990 --> 00:31:37,490 Võin lihtsalt seda väljaspool PHP piirajaid 632 00:31:37,490 --> 00:31:41,490 ja võimaldavad tõlk lihtsalt printida välja minu jaoks. 633 00:31:41,490 --> 00:31:45,364 >> Nii et sa tegelikult ei ainult on üks komplekt PHP piirajaid 634 00:31:45,364 --> 00:31:46,030 oma programmi. 635 00:31:46,030 --> 00:31:49,887 Võite tegelikult on mitu, avamise ja sulgemise neid vajatakse. 636 00:31:49,887 --> 00:31:51,720 Võtame pilk at paar programmide 637 00:31:51,720 --> 00:31:55,070 in CS50 IDE kus me Selle idee illustreerimiseks, millel 638 00:31:55,070 --> 00:31:58,376 mitu komplekti piiritletud PHP. 639 00:31:58,376 --> 00:32:02,010 >> OK, nii et ma olen avatud faili siin nimetatakse add1.php. 640 00:32:02,010 --> 00:32:03,390 Ja pane tähele, mis siin toimub. 641 00:32:03,390 --> 00:32:08,077 Just nagu enne, mul on ühe PHP komplekt piirajaid. 642 00:32:08,077 --> 00:32:10,660 Ma lähen välja printida sõnum: "Palun anna mulle number." 643 00:32:10,660 --> 00:32:13,394 Siis ma loen rida ja pange see muutuja $ num1. 644 00:32:13,394 --> 00:32:14,810 Siis ma lähen välja trükkida uuesti. 645 00:32:14,810 --> 00:32:16,310 Andke mulle teine ​​number. 646 00:32:16,310 --> 00:32:20,450 Loe rida kasutaja, poest mida iganes nad kirjutasid in $ num2. 647 00:32:20,450 --> 00:32:23,980 Lisa need kokku ja hoidke, et tulemuseks muutuja nimega $ Kokkuvõttes 648 00:32:23,980 --> 00:32:26,180 ja siis välja printida, et " summa need kaks numbrit 649 00:32:26,180 --> 00:32:29,254 on, "ja siis aru pärima seal muutuja $ summa. 650 00:32:29,254 --> 00:32:31,170 Nii saab lihtsalt käivitada läbi tõlgi 651 00:32:31,170 --> 00:32:33,720 kinnitada, et see on see, mida me ootame. 652 00:32:33,720 --> 00:32:37,540 php add1.php. 653 00:32:37,540 --> 00:32:38,665 Palun andke mulle number, 3. 654 00:32:38,665 --> 00:32:40,410 Palun andke mulle teine ​​number 4. 655 00:32:40,410 --> 00:32:43,370 Summa need kaks numbrit on 7. 656 00:32:43,370 --> 00:32:45,030 See on 3 pluss 4. 657 00:32:45,030 --> 00:32:45,530 OKEI? 658 00:32:45,530 --> 00:32:47,770 Nii midagi kohutavalt meeldib seal. 659 00:32:47,770 --> 00:32:51,080 >> Ja nüüd lähme avada add2.php. 660 00:32:51,080 --> 00:32:54,460 Siin on mul paar PHP piiritletud komplekti seal, eks? 661 00:32:54,460 --> 00:32:59,107 Liinid 1, 3-- read 1 ja 3 ei ole PHP piirajaid. 662 00:32:59,107 --> 00:33:00,940 Nii et kui tõlk näeb neid, see on lihtsalt 663 00:33:00,940 --> 00:33:03,220 läheb sülitama täpselt mida ma olen siin annad. 664 00:33:03,220 --> 00:33:05,011 Nii et kus ma olen teeme kõik minu õhutusel. 665 00:33:05,011 --> 00:33:11,220 On rida 2 ja 4, näeme väga tuttav $? php omamoodi piirajaid, 666 00:33:11,220 --> 00:33:15,210 Nii et need kaks rida on läheb täide kui PHP. 667 00:33:15,210 --> 00:33:18,270 Ja siis rida 5, mul on see imelik asi siin, eks? 668 00:33:18,270 --> 00:33:20,480 See nurksulu küsimärk võrdusmärk. 669 00:33:20,480 --> 00:33:22,660 Ma isegi suurendada natuke edasi. 670 00:33:22,660 --> 00:33:29,270 Näete see, mida ma olen räägime seal, see $? =. 671 00:33:29,270 --> 00:33:33,420 >> Selgub, et see on nii tavaline, et põhjusel, et me avada kogum PHP 672 00:33:33,420 --> 00:33:36,055 piirajaid on välja trükkida raha. 673 00:33:36,055 --> 00:33:37,430 Ja see on kõik, mida me teeme. 674 00:33:37,430 --> 00:33:39,220 Aga seal on ka stenografist eest. 675 00:33:39,220 --> 00:33:46,490 $? = On PHP lühendvormina öelda midagi $? php echo summa 676 00:33:46,490 --> 00:33:48,350 of num1 ja num2. 677 00:33:48,350 --> 00:33:51,900 Nii et see on lihtsalt üks stenografist eest. 678 00:33:51,900 --> 00:33:55,550 >> Nii et kui ma saan selle programmi, php add2.php. 679 00:33:55,550 --> 00:33:57,530 Ma suurendada veidi allapoole. 680 00:33:57,530 --> 00:33:59,000 Palun andke mulle number, 4. 681 00:33:59,000 --> 00:34:00,350 Palun andke mulle teine ​​number. 682 00:34:00,350 --> 00:34:04,650 Ja kuna ma tõesti ei hooli andmetüübid PHP, võin öelda 4.8. 683 00:34:04,650 --> 00:34:07,160 Summa need kaks numbrit on 8.8. 684 00:34:07,160 --> 00:34:10,179 See funktsioon käitub päris palju täpselt sama ootame, 685 00:34:10,179 --> 00:34:10,989 samuti. 686 00:34:10,989 --> 00:34:13,114 Ja mul on veel üks avatud siin nimetatakse dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Proovige seda uuesti. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Mul on veel üks siin nimetatakse dice1.php, mis ka näha, 691 00:34:33,280 --> 00:34:37,440 on, et nurksulu küsimus märgi võrdusmärk märke seal, 692 00:34:37,440 --> 00:34:40,659 kuid teade, et sel juhul ma olen kutsutakse funktsioon rand, mis, nagu te 693 00:34:40,659 --> 00:34:42,790 Võib eeldada, genereerib juhusliku arvu. 694 00:34:42,790 --> 00:34:46,889 "Sa veeretas," ja see läheb arvutada mingi suvaline number, mod 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Nii et sa annad mulle number vahemikus 1 kuni 6. 697 00:34:49,989 --> 00:34:53,040 >> Pea meeles, et mod 6 annaks mulle number vahemikus 0 kuni 5, 698 00:34:53,040 --> 00:34:56,630 aga kui ma simuleerib täringuviskeid, mis on see, mida ma siin teen, 699 00:34:56,630 --> 00:35:00,040 Ma ei taha neid täringut minna 0 5 Ma tahan täringut, et minna 1-6. 700 00:35:00,040 --> 00:35:02,800 Ja nii see on võimalus saada mulle jääb vahemikku 1 kuni 6. 701 00:35:02,800 --> 00:35:04,720 Ma teen seda kaks korda. 702 00:35:04,720 --> 00:35:08,630 Nii ilmselt ma olen jooksvalt kaks täringut selles programmis. 703 00:35:08,630 --> 00:35:15,210 >> Nii et ma kustutan oma ekraanil, ja ma teen php dice1.php. 704 00:35:15,210 --> 00:35:16,640 Sa veeretas 4 ja 2. 705 00:35:16,640 --> 00:35:19,156 Ja kui ma saan programmi uuesti, siis veeretas 5 ja 5. 706 00:35:19,156 --> 00:35:21,780 Nii et iga kord, kui ma käivitada programmi, Saan erinevat arvu, 707 00:35:21,780 --> 00:35:24,280 sest iga kord, kui ma seda teha Nii, see on hakanud üle. 708 00:35:24,280 --> 00:35:27,250 See saab genereerida uus määratud juhuslike arvude minu jaoks. 709 00:35:27,250 --> 00:35:29,790 >> Nii et kui me oleme harjunud programmide käivitamise C, 710 00:35:29,790 --> 00:35:32,520 oleme harjunud kirjutama ./ nimi programm, eks? 711 00:35:32,520 --> 00:35:35,090 See, kuidas me oleme teinud kõik Meie programmid C siiani. 712 00:35:35,090 --> 00:35:37,555 Me saame seda teha PHP samuti lisada midagi, mida nimetatakse 713 00:35:37,555 --> 00:35:40,026 Jutt üles meie PHP fail. 714 00:35:40,026 --> 00:35:41,400 Ma tean, et see on selline tobe sõna. 715 00:35:41,400 --> 00:35:44,540 See on lühike hash paugu. 716 00:35:44,540 --> 00:35:46,300 See on esimene kaks märki seal. 717 00:35:46,300 --> 00:35:50,030 Pea meeles, me nimetame hüüumärk Sageli paugu infotehnoloogia. 718 00:35:50,030 --> 00:35:51,690 Samuti võib olla terav pauk. 719 00:35:51,690 --> 00:35:53,273 Seal on paar võimalust tõlgendada. 720 00:35:53,273 --> 00:35:57,320 Aga see on põhimõtteliselt eriline omamoodi Käsu et PHP tõlk 721 00:35:57,320 --> 00:36:00,160 mõistab nii, oh, ma tahan sa programmi käivitamiseks, 722 00:36:00,160 --> 00:36:05,250 mis on ilmselt / user / bin / php, mis tegelikult, kui PHP tõlk 723 00:36:05,250 --> 00:36:08,590 spetsiaalselt elab meie süsteemi. 724 00:36:08,590 --> 00:36:12,530 Nii it's-- mis juhtub siin tõlk mõistab, oh, 725 00:36:12,530 --> 00:36:17,270 Ma ilmselt peaks kasutama Selles programmis käivitada seda faili. 726 00:36:17,270 --> 00:36:20,010 Ja nii see võimaldab vahele üle sammu 727 00:36:20,010 --> 00:36:22,979 võttes öelda php something.php. 728 00:36:22,979 --> 00:36:25,020 On veel üks saak Siit, mis on, et kui me 729 00:36:25,020 --> 00:36:27,320 tahame, et meie programmid töötada ootuspäraselt, oleme 730 00:36:27,320 --> 00:36:30,220 pead tegema midagi, mida nimetatakse faili luba muutus. 731 00:36:30,220 --> 00:36:33,380 Ja me go-- ja me räägime veidi veidi rohkem faili loata muutusi 732 00:36:33,380 --> 00:36:37,550 meie video MVC, kuid piisab, kui öelda, et see on see, mida sa pead tegema 733 00:36:37,550 --> 00:36:42,760 et muuta oma Php faile käivitatava. 734 00:36:42,760 --> 00:36:49,330 Võtame pilk seda Meie lõplik näiteks üle CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Nii et siin on IDE Mul on kaks faile selles PHP kataloog, mis ilmselt ei oleks 736 00:36:53,910 --> 00:36:55,310 nimetatakse Php. 737 00:36:55,310 --> 00:36:58,170 Mul on funktsioon nimega add-- Mul on fail nimega ADD3 738 00:36:58,170 --> 00:37:00,650 ja fail nimega dice2. 739 00:37:00,650 --> 00:37:03,680 Võtame kiire otsida ja avada ADD3. 740 00:37:03,680 --> 00:37:08,300 Ja nagu näete, alguses minu faili Mul on see Jutt, eks? 741 00:37:08,300 --> 00:37:11,420 See hash mark hüüumärk. 742 00:37:11,420 --> 00:37:15,115 Nüüd saate ka võibolla märgata, et mingil põhjusel 743 00:37:15,115 --> 00:37:16,990 Mul ei ole mingeid süntaks rõhutades enam, 744 00:37:16,990 --> 00:37:20,198 ja see on see, mida ma vihjas varem mis oli see, et kui ma ei nimeta oma faili 745 00:37:20,198 --> 00:37:23,040 Php, ma ei ole kasu süntaksi esiletõstmine enam. 746 00:37:23,040 --> 00:37:26,220 See fail kuulub just helistas ADD3. 747 00:37:26,220 --> 00:37:30,960 Nii et ma saan kasutada seda hiljem koos ./ ADD3 ja ei ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Nii reason-- see on ikka fine, see on veel kehtiv PHP, 749 00:37:33,680 --> 00:37:37,000 Aga see ei ole süntaksit esile, sest Selle faili ei kutsuta something.php. 750 00:37:37,000 --> 00:37:41,580 See on ainus tõeline erinevus siin, pluss Jutt. 751 00:37:41,580 --> 00:37:45,170 Vaatame, mis juhtub siis, kui Püüan ja käivitada programmi. 752 00:37:45,170 --> 00:37:50,780 ./ ADD3, nagu ma oleks koos C. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ ADD3 luba keelduda. 754 00:37:53,190 --> 00:37:55,390 See on see, mida sa lähed et näha, kas te unustate 755 00:37:55,390 --> 00:37:59,280 kasutada chmod käsk muuta õigused faili. 756 00:37:59,280 --> 00:38:03,845 >> Nagu selgub, regulaarne PHP faile ei saa lihtsalt täide. 757 00:38:03,845 --> 00:38:06,970 Neid võib tõlgendada, kuid me oleme midagi natuke erinev siin. 758 00:38:06,970 --> 00:38:07,761 Me käivitamata. 759 00:38:07,761 --> 00:38:12,970 Ja nii ma pean lisama loata täitmise, chmod a + x ADD3. 760 00:38:12,970 --> 00:38:15,680 Siis ma ei saa öelda ./ ADD3. 761 00:38:15,680 --> 00:38:16,860 Palun andke mulle number. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Summa need kaks numbrit on 11. 764 00:38:20,490 --> 00:38:26,530 >> Samuti olen juba chmoded dice2, nii et ma ei kirjuta ./ dice2, 765 00:38:26,530 --> 00:38:31,260 sa veeretas 1 ja 1, siis valtsitud 5 ja 4, ja nii edasi. 766 00:38:31,260 --> 00:38:33,680 >> Nii et päris palju Idee PHP süntaksit, eks? 767 00:38:33,680 --> 00:38:35,221 Seal on palju läbi saama, ma tean. 768 00:38:35,221 --> 00:38:39,160 Aga loodetavasti olete näinud nüüd, et PHP ei ole tegelikult nii erinev C 769 00:38:39,160 --> 00:38:43,670 ja tõesti annab meile võime võtta asju pügala või kaks. 770 00:38:43,670 --> 00:38:48,230 Me tõesti ei pea muretsema liiga palju about-- me tõesti ei 771 00:38:48,230 --> 00:38:51,605 pea muretsema liiga palju Madala taseme üksikasju me 772 00:38:51,605 --> 00:38:52,980 pidid muretsema C, eks? 773 00:38:52,980 --> 00:38:56,170 Me saame keskenduda suurem tasemel värk, et PHP 774 00:38:56,170 --> 00:39:01,090 võimaldab meil teha ja võtta vastu antud, et ta töötab meie jaoks. 775 00:39:01,090 --> 00:39:04,350 Nii et see annab meile võime nüüd, üleminekutel C PHP, 776 00:39:04,350 --> 00:39:08,280 teha programme, mis on palju rohkem keeruline ja võib-olla palju tugevam. 777 00:39:08,280 --> 00:39:13,070 >> Nii et ma loodan, et teil on lõbus töö PHP, ja ma olen Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 See on CS50. 779 00:39:15,050 --> 00:39:17,637