1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG LLOYD: Kwa hiyo tumekuwa amefanya mengi ya kazi katika C, 3 00:00:07,370 --> 00:00:09,536 na C ni kweli baridi lugha kwa sababu anakupa 4 00:00:09,536 --> 00:00:12,840 uwezo wa kupiga mbizi kweli kiwango cha chini katika programu yako. 5 00:00:12,840 --> 00:00:16,810 Sisi kupata kufanya mambo kama kweli dakika kama kufanyia 6 00:00:16,810 --> 00:00:18,800 ka mtu binafsi ya kumbukumbu. 7 00:00:18,800 --> 00:00:21,420 Kumbuka kwamba kuyatumia kwa kweli kuruhusu sisi kwamba kubadilika. 8 00:00:21,420 --> 00:00:25,260 >> Lakini sisi daima haja ya kuwa na kwamba kiwango cha faini nafaka ya kina 9 00:00:25,260 --> 00:00:26,820 katika mipango yetu? 10 00:00:26,820 --> 00:00:28,210 Pengine, sawa? 11 00:00:28,210 --> 00:00:30,376 Na kama sisi ni kwenda na biashara-off kati ya kuwa 12 00:00:30,376 --> 00:00:32,911 uwezo wa kufanya kweli, kweli dakika mambo na kweli, kweli 13 00:00:32,911 --> 00:00:35,910 mambo makubwa kwamba hatuna kufikiri kuhusu, hatuna kutekeleza 14 00:00:35,910 --> 00:00:40,290 hizi mawazo kweli kubwa ikiwa wao uko tayari kujengwa katika kwa ajili yetu, 15 00:00:40,290 --> 00:00:43,980 ujumla kwa ajili ya kujenga kubwa mipango au miradi mikubwa, 16 00:00:43,980 --> 00:00:49,130 sisi ni pengine ni kwenda kupotea kwa upande ya kuwa mambo lugha zaidi kujengwa katika 17 00:00:49,130 --> 00:00:51,300 kwa ajili yetu, badala ya kuwa ngazi ya chini mambo ya ajabu. 18 00:00:51,300 --> 00:00:53,970 Na hapo ndipo PHP kweli inakuja katika. 19 00:00:53,970 --> 00:00:58,200 >> Sasa, moja ya sababu tunazowafunza PHP katika CS50 20 00:00:58,200 --> 00:01:01,020 ni kwamba ni sana aliongoza kwa C. Na kwa kweli, kwa maoni yangu, 21 00:01:01,020 --> 00:01:05,140 kuna kweli mbili Lugha progenitor kwamba 22 00:01:05,140 --> 00:01:08,200 ni ya kawaida sana siku hizi. 23 00:01:08,200 --> 00:01:10,110 C na LISP. 24 00:01:10,110 --> 00:01:13,280 Na wao uko lugha progenitor kwa sababu kila programu nyingine ya kisasa 25 00:01:13,280 --> 00:01:17,380 lugha ambayo ina maendeleo tangu wakati huo ni aliongoza 26 00:01:17,380 --> 00:01:20,330 kwa moja au syntactically mengine. 27 00:01:20,330 --> 00:01:26,160 PHP ni sawa syntactically kwa C, ambapo lugha kama Mpango, 28 00:01:26,160 --> 00:01:27,900 Kwa mfano, ambayo unaweza kuwa na habari za, 29 00:01:27,900 --> 00:01:32,070 ni uzito aliongoza kwa lugha aitwaye LISP, ambayo ni lugha ya zamani. 30 00:01:32,070 --> 00:01:34,220 >> Hivyo sababu sisi kufundisha PHP katika CS50 ni kwamba, 31 00:01:34,220 --> 00:01:37,730 kwa kujua C kama kimsingi kama wewe kufanya katika hatua hii, 32 00:01:37,730 --> 00:01:41,280 kuokota PHP, ambayo inatoa uwezo wa kufanya kiwango cha mambo ya juu sana 33 00:01:41,280 --> 00:01:44,710 kuliko C gani, siyo kwamba sehemu kubwa ya tatizo, 34 00:01:44,710 --> 00:01:48,230 kwa sababu tayari una wazo la msingi la syntax. 35 00:01:48,230 --> 00:01:50,590 C Imekuwa ni kuzunguka kwa karibu Miaka 45 katika hatua hii. 36 00:01:50,590 --> 00:01:52,780 PHP imekuwa karibu kwa miaka 20. 37 00:01:52,780 --> 00:01:57,080 Na kwa kuwa miaka 25 katika kati ya, programmers 38 00:01:57,080 --> 00:02:01,540 kuamua kwamba wangeweza mengi badala ya kuwa na uwezo ngazi za juu, 39 00:02:01,540 --> 00:02:04,970 na makosa na mapambano ya miaka 20 katika kati ya 40 00:02:04,970 --> 00:02:08,210 ulisababisha PHP na lugha nyingine za kisasa. 41 00:02:08,210 --> 00:02:11,039 >> PHP ya uchaguzi mkuu wa lugha ya programu 42 00:02:11,039 --> 00:02:14,042 kwamba allow-- kwa programu that-- ambapo 43 00:02:14,042 --> 00:02:16,250 haja ya kufanya mambo ambayo katika C ni kweli ngumu. 44 00:02:16,250 --> 00:02:18,480 Hivyo kwa mfano, kufanya kazi na masharti katika C 45 00:02:18,480 --> 00:02:21,709 ni ngumu sana, kwa sababu kama sisi kujua, masharti katika C 46 00:02:21,709 --> 00:02:23,250 ni kweli arrays tu ya wahusika. 47 00:02:23,250 --> 00:02:25,230 Siyo kujengwa katika aina data. 48 00:02:25,230 --> 00:02:28,220 Au labda zaidi kimsingi, kitu sisi hawakuwa hata kufunika katika C, 49 00:02:28,220 --> 00:02:30,360 kama unahitaji kufanya kile baadhi ya mitandao ya kompyuta? 50 00:02:30,360 --> 00:02:30,860 Sawa? 51 00:02:30,860 --> 00:02:34,920 >> C ina uwezo wa kufanya hivyo, lakini ni hivyo arcane na hivyo vigumu kwa kweli kufanya. 52 00:02:34,920 --> 00:02:37,580 Je, si ni kuwa nzuri kama Lugha alikuwa kujengwa katika, njia rahisi 53 00:02:37,580 --> 00:02:38,910 kutekeleza mitandao? 54 00:02:38,910 --> 00:02:43,420 Na PHP ni lugha ambayo inafanya kuwa, au kuwezesha hilo, kidogo kabisa zaidi. 55 00:02:43,420 --> 00:02:47,740 Kama nilivyosema, PHP ni sana sana aliongoza na C. syntax ni sawa sana. 56 00:02:47,740 --> 00:02:51,760 Na hivyo ni lazima hopefully kufanya mpito kutoka moja hadi nyingine 57 00:02:51,760 --> 00:02:54,710 kidogo laini kuliko baadhi lugha zingine inaweza kuwa. 58 00:02:54,710 --> 00:02:58,800 >> Kuanza kuandika PHP, tu kufungua faili na php faili ugani. 59 00:02:58,800 --> 00:03:00,670 Kitaalam hii si kweli anahitajika, 60 00:03:00,670 --> 00:03:04,495 lakini kama unataka mambo kama syntax kuonyesha katika IDE, hivyo kwamba aina 61 00:03:04,495 --> 00:03:07,620 majina, au majina kutofautiana, kazi, unajua, maneno ya lugha 62 00:03:07,620 --> 00:03:10,090 ni yalionyesha katika rangi maalum, wewe kwa ujumla 63 00:03:10,090 --> 00:03:14,020 unataka jina mafaili yako na Hasa faili ugani. 64 00:03:14,020 --> 00:03:18,430 Hivyo tumekuwa aitwaye faili wetu na php ugani, lakini basi pia na PHP, 65 00:03:18,430 --> 00:03:23,310 zote PHP kificho sisi kuandika katika kwamba faili ina kuwa iliyoambatanishwa katika hizi PHP 66 00:03:23,310 --> 00:03:25,190 delimiters kwamba sisi kuona hapa kwenye screen. 67 00:03:25,190 --> 00:03:27,910 Pembe mabano php? Kuanza. 68 00:03:27,910 --> 00:03:30,860 Kisha sisi kuandika yote ya PHP yetu kificho kwamba tunataka kati. 69 00:03:30,860 --> 00:03:32,260 Na kisha? 70 00:03:32,260 --> 00:03:34,710 pembe mabano kwa karibu. 71 00:03:34,710 --> 00:03:37,170 >> Kama hatuwezi kufanya hivyo, basi nini kitatokea? 72 00:03:37,170 --> 00:03:38,170 Ni si kwenda kwa ajali. 73 00:03:38,170 --> 00:03:39,410 Ni si kwenda kwa kweli uharibifu mpango wetu. 74 00:03:39,410 --> 00:03:41,440 Lakini si kwenda na athari kwamba tunataka. 75 00:03:41,440 --> 00:03:44,540 Nini kitatokea, kwa kweli, ni kwamba wakati sisi kujaribu na kuendesha mpango huu, 76 00:03:44,540 --> 00:03:50,330 kila kitu si kati ya wale delimiters ni kwenda kuwa kuchapishwa verbatim. 77 00:03:50,330 --> 00:03:52,210 Ni si kwenda kwa kweli nitafanya kificho, 78 00:03:52,210 --> 00:03:56,010 itakuja tu magazeti ya nje verbatim. 79 00:03:56,010 --> 00:03:57,320 >> Sasa kwa nini ni kesi? 80 00:03:57,320 --> 00:04:00,416 Hivyo C ni nini inayojulikana kama lugha ulioandaliwa. 81 00:04:00,416 --> 00:04:03,040 Wewe pengine ukoo na hatua ya kufanya mipango yako, 82 00:04:03,040 --> 00:04:07,820 kugeuka mafaili c na h mafaili ndani ya kutekelezwa moja na kufanya, 83 00:04:07,820 --> 00:04:11,130 hasa kwa kutumia Clang kama mkusanyaji yetu. 84 00:04:11,130 --> 00:04:13,030 PHP, ingawa, haina na hii sawa. 85 00:04:13,030 --> 00:04:15,600 PHP ni kile kinachoitwa kufasiriwa lugha. 86 00:04:15,600 --> 00:04:16,760 Na nini maana gani? 87 00:04:16,760 --> 00:04:20,680 >> Vizuri, ina maana hatuna kubadili chanzo kanuni zetu kwa zeros na ndio 88 00:04:20,680 --> 00:04:21,470 kabla ya wakati. 89 00:04:21,470 --> 00:04:23,900 Badala yake, kuna mpango ni, ambayo pia hujulikana 90 00:04:23,900 --> 00:04:29,771 PHP, kwamba anaelewa PHP na Unaweza aina ya kufanya hivyo juu ya kuruka. 91 00:04:29,771 --> 00:04:32,520 Hiyo ni kweli hasa sahihi, lakini ni mfano nzuri 92 00:04:32,520 --> 00:04:33,760 ya nini kinatokea. 93 00:04:33,760 --> 00:04:37,230 Ni kutafsiri wale zeroes na wale juu ya kuruka. 94 00:04:37,230 --> 00:04:40,160 Na hivyo kama hajui jinsi mchakato kitu, 95 00:04:40,160 --> 00:04:42,800 kama haina kujua jinsi ya mchakato PHP, pengine 96 00:04:42,800 --> 00:04:44,680 alitaka kuweka maandishi kwamba katika huko, sawa? 97 00:04:44,680 --> 00:04:48,960 >> Pengine alitaka kuweka kanuni katika pale, hata kama siyo kati ya PHP-- 98 00:04:48,960 --> 00:04:50,035 PHP delimiters. 99 00:04:50,035 --> 00:04:51,910 But-- hivyo si kwenda kufuta ni kwa ajili yenu, 100 00:04:51,910 --> 00:04:53,576 ni tu kwenda kwa kimsingi kuondokana nayo. 101 00:04:53,576 --> 00:04:55,550 Hivyo ni kwenda magazeti hivyo nje screen. 102 00:04:55,550 --> 00:04:57,150 >> Hii inaonekana kama ni mbaya Jambo, lakini kwa kweli ni 103 00:04:57,150 --> 00:04:58,220 kwenda kuwa kweli jambo zuri, kama tutaweza 104 00:04:58,220 --> 00:05:00,390 kuona wakati sisi majadiliano juu ya PHP maendeleo ya mtandao, 105 00:05:00,390 --> 00:05:04,010 kwa sababu ina maana tunaweza intersperse PHP na HTML. 106 00:05:04,010 --> 00:05:06,640 Tunaweza kutumia yao pamoja na kujenga nguvu zaidi mtandao ukurasa. 107 00:05:06,640 --> 00:05:10,650 Lakini zaidi juu ya kwamba katika video juu ya PHP maendeleo ya mtandao. 108 00:05:10,650 --> 00:05:12,021 >> Hivyo ni syntax ya PHP nini? 109 00:05:12,021 --> 00:05:13,520 Hiyo ni nini video hii ni yote juu. 110 00:05:13,520 --> 00:05:14,850 Hebu majadiliano kuhusu hilo. 111 00:05:14,850 --> 00:05:16,490 >> Hivyo kuanza nje, vigezo. 112 00:05:16,490 --> 00:05:18,030 PHP vigezo kuwepo. 113 00:05:18,030 --> 00:05:20,067 Kuna tu kubwa mbili tofauti kutoka C. 114 00:05:20,067 --> 00:05:21,900 Kwanza ni kwamba kuna hakuna aina specifier. 115 00:05:21,900 --> 00:05:24,245 Hatuna cha kusema int, Char, kuelea, mambo ambayo yote. 116 00:05:24,245 --> 00:05:25,620 Hatuna kufanya hivyo tena. 117 00:05:25,620 --> 00:05:26,810 PHP ni lugha ya kisasa. 118 00:05:26,810 --> 00:05:28,910 Ni inaweza kufikiri nini wewe ni kujaribu kufanya au kufanya bora 119 00:05:28,910 --> 00:05:30,451 nadhani kama yale wewe ni kujaribu kufanya. 120 00:05:30,451 --> 00:05:31,700 Hivyo hiyo ni pretty nzuri. 121 00:05:31,700 --> 00:05:35,330 >> Jambo jingine ni kwamba wote kutofautiana majina kuanza na ishara ya dola. 122 00:05:35,330 --> 00:05:36,940 Hiyo tu kitu cha kupata kutumika. 123 00:05:36,940 --> 00:05:39,496 Ni kidogo weird, kwa sababu hivyo ni kwamba PHP anaweza kuelewa 124 00:05:39,496 --> 00:05:40,870 nini kutofautiana na nini si. 125 00:05:40,870 --> 00:05:43,340 Hivyo kila jina kutofautiana huanza na ishara ya dola. 126 00:05:43,340 --> 00:05:46,884 Hivyo katika C tupate kusema kitu kama hii, int x = 54. 127 00:05:46,884 --> 00:05:48,550 Hatuna kufanya hivyo tena katika PHP. 128 00:05:48,550 --> 00:05:52,540 Tunaweza tu kusema $ x = 54. 129 00:05:52,540 --> 00:05:55,920 Na tunaweza kusema, kwa mfano, katika C, kama sisi alikuwa chupa-pamoja CS50 h 130 00:05:55,920 --> 00:06:00,314 kichwa faili, tunaweza kusema kamba maneno = "Hii ni CS50." 131 00:06:00,314 --> 00:06:01,980 Hatuna kufanya hivyo katika PHP, ingawa. 132 00:06:01,980 --> 00:06:04,865 Tunaweza tu kusema $ maneno = "Hii ni CS50." 133 00:06:04,865 --> 00:06:08,760 Na kwa kweli, kamba ni sasa kujengwa katika aina data katika PHP, 134 00:06:08,760 --> 00:06:10,950 au tuseme PHP anaelewa nini kamba ni. 135 00:06:10,950 --> 00:06:15,612 Ni tofauti na safu ya wahusika kama ni katika C. 136 00:06:15,612 --> 00:06:17,570 Yako favorite zote kauli masharti kutoka C 137 00:06:17,570 --> 00:06:19,520 bado zinapatikana kwa wewe kutumia. 138 00:06:19,520 --> 00:06:21,140 Hivyo hakuna kipindi cha mpito kubwa huko. 139 00:06:21,140 --> 00:06:23,400 Tunaweza say-- tunaweza kuwa kama kauli kama hii. 140 00:06:23,400 --> 00:06:28,210 kama $ y 43, au $ z = 15. 141 00:06:28,210 --> 00:06:29,690 Hivyo hiyo ni pretty moja kwa moja. 142 00:06:29,690 --> 00:06:31,980 Tunaweza kuwa kama na kingine chochote. 143 00:06:31,980 --> 00:06:34,210 Tunaweza kuwa kama na mwingine kama. 144 00:06:34,210 --> 00:06:36,430 >> Na taarifa kitu pretty nzuri hapa, na hii 145 00:06:36,430 --> 00:06:39,620 ni aina ya mmoja wa wale faida ya PHP dhidi C, ilani 146 00:06:39,620 --> 00:06:41,510 nini kazi sisi siyo kutumia hapa? 147 00:06:41,510 --> 00:06:47,737 Sisi ni kutumia == kulinganisha kutofautiana, $ majina yao, ili kamba. 148 00:06:47,737 --> 00:06:49,070 Sisi hawakuweza kufanya hivyo katika C, sawa? 149 00:06:49,070 --> 00:06:53,200 Tulikuwa na kutumia kazi kuitwa StrComp au StrEndComp au yoyote 150 00:06:53,200 --> 00:06:54,840 ya binamu yake kuhusiana. 151 00:06:54,840 --> 00:06:56,980 >> Na hivyo tayari tunaona faida hizi. 152 00:06:56,980 --> 00:07:00,930 Hatuna kufanya kitu kama silly au labda unintuitive 153 00:07:00,930 --> 00:07:03,540 kama kuwaita kazi kuitwa StrComp kama nataka tu mtihani 154 00:07:03,540 --> 00:07:05,237 iwapo thamani sawa na kamba. 155 00:07:05,237 --> 00:07:07,820 Mimi nilikuwa tu kutumia sawa sawa, kama mimi naweza kufanya kitu kingine chochote. 156 00:07:07,820 --> 00:07:09,560 Hivyo kuna faida. 157 00:07:09,560 --> 00:07:13,350 >> Wakati mwingine, kwa njia, waweza ona kingine neno kama vile moja, elseif. 158 00:07:13,350 --> 00:07:14,910 Na hiyo ni sawa katika PHP pia. 159 00:07:14,910 --> 00:07:17,020 Hivyo wakati mwingine unaweza kuona kwamba. 160 00:07:17,020 --> 00:07:17,790 Siyo typo. 161 00:07:17,790 --> 00:07:21,830 PHP kweli anaelewa elseif. 162 00:07:21,830 --> 00:07:23,980 Mimi sijui ni kwa nini wao aliamua kutekeleza hilo, 163 00:07:23,980 --> 00:07:28,220 lakini kama tumeona mara nyingi katika video yetu hadi sasa, 164 00:07:28,220 --> 00:07:30,460 sisi programmers kupenda kama tunaweza kufanya mambo kwa haraka, 165 00:07:30,460 --> 00:07:33,660 hivyo kupata kuondoa nafasi hiyo ni inaonekana faida kubwa. 166 00:07:33,660 --> 00:07:34,800 >> Hivyo hiyo ni kama na elseif. 167 00:07:34,800 --> 00:07:37,540 Sisi pia kuwa alama ternary, wanakumbuka alama swali matumbo, 168 00:07:37,540 --> 00:07:43,262 kwa namna kweli mfupi kama mwingine au masharti matawi. 169 00:07:43,262 --> 00:07:45,470 Na inaonekana, katika hili, kile sisi ni kujaribu kufanya hapa 170 00:07:45,470 --> 00:07:49,720 ni kuwapa kutofautiana $ barua ama kweli au uongo, 171 00:07:49,720 --> 00:07:54,110 kutegemea kama $ var ni tabia kialfabeti. 172 00:07:54,110 --> 00:07:57,320 Hivyo hii ni pretty sawa na isalpha kwamba sisi ni ukoo na kutoka C. 173 00:07:57,320 --> 00:07:59,010 Hii ni aina ya sawa katika PHP. 174 00:07:59,010 --> 00:08:01,550 Kazi ni dhahiri aitwaye ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 lakini hiyo ni jinsi sisi kufanya hivyo katika PHP. 176 00:08:03,450 --> 00:08:08,560 Hivyo yote haya ni kwenda kuwa ni, kama $ var ni barua, $ barua ni ya kweli. 177 00:08:08,560 --> 00:08:13,820 Kama $ var si barua, $ barua ni ya uongo. 178 00:08:13,820 --> 00:08:15,820 >> Sisi pia kuwa kauli kubadili bado. 179 00:08:15,820 --> 00:08:17,870 Tunakumbuka wale wanaotoka C vilevile. 180 00:08:17,870 --> 00:08:22,480 Juu sana huko, hiyo ni jinsi sisi kufanya kitu kama kupata int au kupata kamba. 181 00:08:22,480 --> 00:08:23,845 Hivyo PHP ina kuwa kujengwa katika. 182 00:08:23,845 --> 00:08:25,470 Hatuna haja ya maktaba CS50 tena. 183 00:08:25,470 --> 00:08:27,237 Tunaweza tu kutumia kazi readline. 184 00:08:27,237 --> 00:08:29,820 Nini kwamba kinaendelea kufanya magazeti ni ujumbe, "hali yako, 185 00:08:29,820 --> 00:08:33,820 tafadhali, "na kisha blinking haraka kusubiri kwa mtumiaji pembejeo 186 00:08:33,820 --> 00:08:34,739 baadhi ya habari. 187 00:08:34,739 --> 00:08:36,530 Sasa angalia kile kingine tunaweza kufanya na kubadili. 188 00:08:36,530 --> 00:08:39,105 Ikiwa umetumia hivyo kabla, unaweza kukumbuka kwamba kubadili 189 00:08:39,105 --> 00:08:44,960 ni mdogo pretty much kwa integers na wahusika, lakini sasa tunaweza kutumia kamba. 190 00:08:44,960 --> 00:08:50,190 Na kwa kweli, kauli kubadili katika PHP ni kidogo kabisa zaidi rahisi 191 00:08:50,190 --> 00:08:54,880 kuliko binamu yake kutokana na C. 192 00:08:54,880 --> 00:08:55,380 Loops. 193 00:08:55,380 --> 00:08:58,130 Tu kama conditionals, wote wa favorites yako ya zamani bado kuna. 194 00:08:58,130 --> 00:09:00,740 Tuna wakati tanzi kuwa hesabu 1-100 katika kesi hii. 195 00:09:00,740 --> 00:09:03,940 Sisi kufanya wakati tanzi kuwa hesabu 1-100, 196 00:09:03,940 --> 00:09:06,200 na tuna kwa tanzi kuwa hesabu 1-100. 197 00:09:06,200 --> 00:09:07,220 Hivyo hakuna hatua kubwa huko. 198 00:09:07,220 --> 00:09:09,360 Syntax ni mzuri kiasi sawa, 199 00:09:09,360 --> 00:09:11,760 ila sasa sisi ni kutumia dola ishara kutofautiana badala 200 00:09:11,760 --> 00:09:17,260 ya kutangaza integer vigezo au kitu kama hicho kwa counters wetu. 201 00:09:17,260 --> 00:09:20,090 >> Hapa ni ambapo mambo kupata mengi zaidi kuliko C, ingawa. 202 00:09:20,090 --> 00:09:21,020 Arrays. 203 00:09:21,020 --> 00:09:23,020 Hivyo kukumbuka tulipokuwa kuzungumza juu C, ili 204 00:09:23,020 --> 00:09:25,560 kwa ajili yetu kukua na kuogopa seti wa habari, 205 00:09:25,560 --> 00:09:28,310 sisi zinahitajika kutatua ya msingi kwa wazo hili la orodha wanaohusishwa, 206 00:09:28,310 --> 00:09:30,780 kwa sababu C arrays walikuwa fasta katika kawaida. 207 00:09:30,780 --> 00:09:31,800 Hatukuweza kuogopa kwao. 208 00:09:31,800 --> 00:09:32,930 Hatukuweza kukua kwao. 209 00:09:32,930 --> 00:09:36,074 Tulikuwa na reallocate kumbukumbu na kufanya wazimu hii yote 210 00:09:36,074 --> 00:09:38,490 au kutumia orodha wanaohusishwa, ambayo kuchukua kidogo zaidi kabisa nafasi. 211 00:09:38,490 --> 00:09:41,590 Lakini katika PHP, arrays ni si za kudumu katika ukubwa tena. 212 00:09:41,590 --> 00:09:43,240 Wanaweza kukua na wanaweza kuogopa. 213 00:09:43,240 --> 00:09:46,660 Hivyo tena, miaka hii 20 iliyokuwepo kati ya kwanza kutolewa ya C 214 00:09:46,660 --> 00:09:49,440 na kwanza kutolewa PHP, tuliamua kwamba, unajua, 215 00:09:49,440 --> 00:09:51,670 itakuwa kubwa kweli kama tunaweza kufanya hivyo. 216 00:09:51,670 --> 00:09:54,100 Na hivyo sisi kutekelezwa hii. 217 00:09:54,100 --> 00:09:58,040 >> Hivyo PHP arrays si za kudumu katika ukubwa, na kwa sababu PHP haina kweli 218 00:09:58,040 --> 00:10:03,090 na programu mbele-yanayowakabili fikra ya aina, 219 00:10:03,090 --> 00:10:05,110 tunaweza kuchanganya aina data katika arrays wetu, pia. 220 00:10:05,110 --> 00:10:08,100 Hivyo hatuna hata kuwa na matumizi yote integers au pointi zote yaliyo, 221 00:10:08,100 --> 00:10:12,826 tunaweza kuwa na mchanganyiko wa wote aina mbalimbali katika safu moja. 222 00:10:12,826 --> 00:10:14,700 Kutangaza safu ni pretty moja kwa moja. 223 00:10:14,700 --> 00:10:16,116 Ni kama tu kutofautiana nyingine yoyote. 224 00:10:16,116 --> 00:10:20,020 $ nums = safu (1, 2, 3, 4), safu kuwa kazi 225 00:10:20,020 --> 00:10:22,760 hiyo ni kujengwa katika PHP kwamba kujenga safu kwa ajili yenu. 226 00:10:22,760 --> 00:10:28,315 Hii inajenga safu ya maadili nne, idadi katika kesi hiyo, inayoitwa $ nums. 227 00:10:28,315 --> 00:10:29,940 Na kuna njia zaidi ya moja ya kufanya hivyo. 228 00:10:29,940 --> 00:10:32,420 Na tunakwenda kuona hii mengi katika PHP. 229 00:10:32,420 --> 00:10:36,380 PHP imekuwa maendeleo na watu wengi tofauti watu na kukua na kukua na kukua. 230 00:10:36,380 --> 00:10:40,050 Kuna kawaida si mbili tu au tatu njia ya kufanya kitu katika PHP, 231 00:10:40,050 --> 00:10:42,170 kuna kawaida kama 10 au 20. 232 00:10:42,170 --> 00:10:45,300 Hapa ni mwingine tu wa kawaida njia ya kutangaza safu. 233 00:10:45,300 --> 00:10:48,310 $ nums = Mabano ya mraba 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Hivyo hii ni aina ya sawa na pembe C ya br-- curly brace nukuu, hasa. $ - 235 00:10:53,170 --> 00:10:58,525 au itakuwa int nums mraba mabano ni sawa na curly brace 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 Katika PHP ni $ nums = mraba mabano 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Lakini wote wawili wa mifano hii hapa nipe safu ya nne katika kesi hii integers. 238 00:11:08,920 --> 00:11:10,920 >> Nini kama nataka upepo kitu juu ya sasa? 239 00:11:10,920 --> 00:11:14,760 Naam naweza kusema tu $ nums 4, ambayo tena, bado tuko kuhesabu kutoka 0 hapa 240 00:11:14,760 --> 00:11:17,800 katika PHP, itakuwa tano kipengele cha safu. 241 00:11:17,800 --> 00:11:18,990 Naweza kusema tu kwamba. 242 00:11:18,990 --> 00:11:22,860 Sitakuja kuteseka seg kosa, kwa sababu safu yangu ni ya haki 243 00:11:22,860 --> 00:11:24,337 kwenda kukua kwa ajili ya malazi kwamba. 244 00:11:24,337 --> 00:11:25,420 Hiyo ni pretty nzuri, sawa? 245 00:11:25,420 --> 00:11:28,400 Na kwa kweli, sijui hata haja ya kutaja ambapo nataka kuiweka. 246 00:11:28,400 --> 00:11:31,220 Naweza kusema tu hii na tu upepo ni haki juu ya mpaka mwisho, 247 00:11:31,220 --> 00:11:34,099 au mimi naweza hata tu kusema $ nums 20 au 1000. 248 00:11:34,099 --> 00:11:35,140 Ni kweli haina jambo. 249 00:11:35,140 --> 00:11:38,330 Ni bado tu kwenda upepo ni haki juu ya mpaka mwisho. 250 00:11:38,330 --> 00:11:41,490 >> Hivyo siwezi kukua, na as-- tuko si kwenda kufunika katika hapa, 251 00:11:41,490 --> 00:11:45,360 lakini siwezi ganga au ukanda mambo nje ya safu pia, 252 00:11:45,360 --> 00:11:50,064 na safu mapenzi shrink kwa ajili ya malazi kwamba sasa kukosa au tupu nafasi. 253 00:11:50,064 --> 00:11:52,230 Kuna njia nyingine ya upepo kitu kwenye safu, 254 00:11:52,230 --> 00:11:54,330 ambayo ni kazi kuitwa array_push. 255 00:11:54,330 --> 00:11:57,860 Hivyo tena, tu wazo hili la kuwa uwezo wa kufanya mambo njia nyingi tofauti. 256 00:11:57,860 --> 00:12:01,950 Hivyo tumeona njia tatu tofauti sasa kwa upepo mwingine kipengele kwenye safu. 257 00:12:01,950 --> 00:12:06,900 Hivyo hii anaongeza mwingine kipengele hadi mwisho wa $ nums safu. 258 00:12:06,900 --> 00:12:08,340 Na tunaweza kuchanganya aina yetu ya data. 259 00:12:08,340 --> 00:12:13,110 Ili niweze kuwa na safu ya si 1, 2, 3, 4, lakini 1, kweli, 3, 4, 260 00:12:13,110 --> 00:12:16,420 ambapo kweli ni Boolean, na kisha kama nataka upepo juu ya kipengele nyingine 261 00:12:16,420 --> 00:12:20,860 kwa kuwa safu, labda kamba, kamba "tano," mimi naweza kufanya hivyo. 262 00:12:20,860 --> 00:12:26,110 Na sasa safu yangu ingekuwa 1, wa kweli, 3, 4, tano. 263 00:12:26,110 --> 00:12:28,640 Neno tano, si integer 5. 264 00:12:28,640 --> 00:12:31,270 Hivyo mengi ya kubadilika huko. 265 00:12:31,270 --> 00:12:33,290 >> Kubadilika anapata hata bora zaidi, ingawa, 266 00:12:33,290 --> 00:12:37,530 kwa sababu PHP ina msaada kwa ajili ya kitu aitwaye safu associative. 267 00:12:37,530 --> 00:12:40,660 Na sisi aina ya kuongelea bila kufafanua arrays kuhusu associative katika C 268 00:12:40,660 --> 00:12:44,740 katika mazingira ya meza hash, kwa sababu nini associative arrays ni kweli wote 269 00:12:44,740 --> 00:12:48,950 kuhusu maamuzi muhimu ni jozi thamani upangaji. 270 00:12:48,950 --> 00:12:53,410 Na katika kesi hii, keys-- kama sisi ni ukoo na arrays kutoka C, 271 00:12:53,410 --> 00:12:55,440 funguo ni idadi index. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 Na maadili ni nini tunaona kwamba safu 0, safu ya 1, safu ya 2, na kadhalika. 274 00:13:03,070 --> 00:13:06,310 Hivyo funguo ni bahati, na maadili ni 275 00:13:06,310 --> 00:13:10,060 yaliyomo ndani ya kwamba safu eneo, maalum na kwamba ripoti. 276 00:13:10,060 --> 00:13:15,130 >> Lakini katika PHP, hatuna kufanya hivyo dhana ya safu 0, safu ya 1, safu ya 2 277 00:13:15,130 --> 00:13:15,830 tena. 278 00:13:15,830 --> 00:13:21,025 Sasa tunaweza kutumia maneno halisi ramani funguo za maadili. 279 00:13:21,025 --> 00:13:22,650 Na hivyo mimi naweza kusema kitu kama hiki. 280 00:13:22,650 --> 00:13:26,710 Mimi naweza kujenga safu kutumia Mabano ya mraba syntax kama ifuatavyo. 281 00:13:26,710 --> 00:13:30,685 $ pizzas = Mabano ya mraba "cheese" na kisha 282 00:13:30,685 --> 00:13:37,210 aina hii ya mara mbili mshale nukuu, 8.99, "pepperoni," mshale 10.99-- 9.99, 283 00:13:37,210 --> 00:13:37,880 na kadhalika. 284 00:13:37,880 --> 00:13:39,060 Na hivyo nini kinaendelea hapa? 285 00:13:39,060 --> 00:13:41,040 Hivi mimi kweli kufanya? 286 00:13:41,040 --> 00:13:43,990 Mimi kujenga ufunguo jozi thamani upangaji. 287 00:13:43,990 --> 00:13:49,060 Hivyo badala ya kusema, kwa mfano, pizzas 0, vipande 1, pizzas 2, 288 00:13:49,060 --> 00:13:52,350 Sasa naweza kusema pizzas chizi, pizzas pepperoni, 289 00:13:52,350 --> 00:13:55,120 na rejea maadili kuhusishwa na wao. 290 00:13:55,120 --> 00:13:56,970 >> Hivyo hapa ni funguo yetu katika kijani. 291 00:13:56,970 --> 00:13:59,870 Chizi, pepperoni, mboga, nyati kuku. 292 00:13:59,870 --> 00:14:04,200 Hapa ni mshale ambayo inafanya hii muhimu jozi thamani ramani. 293 00:14:04,200 --> 00:14:07,420 Na kisha hapa ni maadili wakati huo safu eneo. 294 00:14:07,420 --> 00:14:10,330 Hivyo ni kama kusema safu 0 ni sawa na 8.99. 295 00:14:10,330 --> 00:14:11,720 Muhimu ni 0. 296 00:14:11,720 --> 00:14:13,600 Thamani ya kitu 8.99. 297 00:14:13,600 --> 00:14:19,370 Sasa naweza kusema safu chizi, au katika hii kesi pizzas jibini, jibini ni muhimu, 298 00:14:19,370 --> 00:14:23,340 na kile kupata katika pizzas jibini ni 8.99. 299 00:14:23,340 --> 00:14:25,540 Hiyo ni thamani ya kuwa mimi kupata huko. 300 00:14:25,540 --> 00:14:28,124 >> Hivyo siwezi kusema mambo kama. $ pizza jibini = 7.99. 301 00:14:28,124 --> 00:14:29,040 Kusema mimi nina kuwa kuuza. 302 00:14:29,040 --> 00:14:31,750 Nataka dis-- Nataka kuacha bei ya jibini pizza. 303 00:14:31,750 --> 00:14:35,620 Au naweza kutumia mboga pizza kama sehemu ya hali, 304 00:14:35,620 --> 00:14:39,990 au naweza kuongeza kipengele mpya ya yangu safu, tu kama mimi naweza kufanya hapo awali. 305 00:14:39,990 --> 00:14:44,680 Naweza kuongeza kipengele mpya hii safu associative na ufunguo "Bacon" 306 00:14:44,680 --> 00:14:49,250 na thamani 13.49. 307 00:14:49,250 --> 00:14:53,820 >> Lakini hii ni aina ya utangulizi tatizo, kama wewe kufikiri juu yake kwa mara ya pili. 308 00:14:53,820 --> 00:14:55,721 Jinsi gani sisi iterate kupitia safu hii? 309 00:14:55,721 --> 00:14:56,220 Sawa? 310 00:14:56,220 --> 00:14:59,820 Katika C, tunataka tu na kwa kitanzi, kawaida, kwamba 311 00:14:59,820 --> 00:15:03,650 ingekuwa kukimbia kutoka 0 kwa ukubwa wa safu bala 1. 312 00:15:03,650 --> 00:15:08,060 Safu ina mambo n katika utafutaji, halali bahati ni 0 kwa n bala 1. 313 00:15:08,060 --> 00:15:11,530 Hivyo tunaweza kutumia kwa kitanzi kwa hatua kupitia kila kipengele moja. 314 00:15:11,530 --> 00:15:13,530 >> Lakini hiyo si kweli kesi tena, sawa? 315 00:15:13,530 --> 00:15:17,360 Sasa ambapo tuna jozi ufunguo thamani upangaji ambapo funguo ni maneno, 316 00:15:17,360 --> 00:15:19,970 jinsi gani sisi iterate juu ya maneno yote? 317 00:15:19,970 --> 00:15:22,420 Naam, kwa bahati nzuri, PHP ina njia ya kukabiliana na hii pia, 318 00:15:22,420 --> 00:15:24,580 na hivyo tutaweza kuruka nyuma kwa loops kwa pili 319 00:15:24,580 --> 00:15:30,780 kuanzisha aina nne ya kitanzi kwamba lipo katika PHP aitwaye foreach kitanzi. 320 00:15:30,780 --> 00:15:34,430 Na nini foreach kitanzi gani ni ni kimsingi wazo moja. 321 00:15:34,430 --> 00:15:36,060 Unaweza kutumia kwa aina yoyote ya safu. 322 00:15:36,060 --> 00:15:38,100 Lakini kimsingi Wazo sawa kwa kitanzi, 323 00:15:38,100 --> 00:15:40,750 isipokuwa badala ya kutumia nambari ripoti, wewe tu 324 00:15:40,750 --> 00:15:45,830 na hii syntax weird ambapo wewe piga kila kipengele moja 325 00:15:45,830 --> 00:15:47,550 jina kwa madhumuni ya kitanzi hii. 326 00:15:47,550 --> 00:15:49,258 >> Hivyo katika kesi hii, foreach ($ safu kama $ muhimu). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Kimsingi, kama kwamba maoni maelezo, ndani ya kwamba kitanzi foreach, 329 00:15:56,450 --> 00:16:00,466 ni kwenda juu kila moja kipengele cha $ safu, ambayo ni kawaida 330 00:16:00,466 --> 00:16:03,340 kwenda kuwa safu associative, lakini wanaweza kweli kuwa aina yoyote ya safu 331 00:16:03,340 --> 00:16:05,419 kwamba unataka katika PHP. 332 00:16:05,419 --> 00:16:07,210 Na kila wakati kwamba katika a kwa kitanzi waweza 333 00:16:07,210 --> 00:16:13,780 wamesema $ safu mabano mraba $ i, unaweza tu kusema $ muhimu. 334 00:16:13,780 --> 00:16:22,340 Ili $ ufunguo inakuwa vinginevyo, kwa kila ripoti ya PHP yako safu associative, 335 00:16:22,340 --> 00:16:23,710 na hivyo unaweza kuitumia kama hicho. 336 00:16:23,710 --> 00:16:25,897 >> Hivyo kwa mfano, tumekuwa sasa got pizzas yetu safu. 337 00:16:25,897 --> 00:16:27,730 Nimekuwa aina ya tucked katika kona kuna 338 00:16:27,730 --> 00:16:31,080 ili tuweze kuitumia kufanya mfano wa haraka. 339 00:16:31,080 --> 00:16:36,420 Kama mimi kusema foreach ($ pizzas kama $ pizza), vizuri, nini kinatokea? 340 00:16:36,420 --> 00:16:42,400 Naam, mimi nina kwenda iterate kupitia kila kipengele moja ya safu $ pizzas, 341 00:16:42,400 --> 00:16:46,670 na kwa kufanya hivyo, mimi nina kwenda kuwaita kila kipengele, wakati mimi niko ndani ya 342 00:16:46,670 --> 00:16:49,400 mwili wa kwamba kwa kitanzi, $ pizza. 343 00:16:49,400 --> 00:16:52,440 >> Hivyo hiyo ni aina ya kusimama katika, kukumbuka, kwamba $ pizza 344 00:16:52,440 --> 00:16:59,140 ni kusimama katika kauli $ pizzas mabano mraba $ i 345 00:16:59,140 --> 00:17:03,370 kama tungetumia kwa kitanzi, ambapo sisi anaweza kwenda kutoka $ i = 0 kwa, katika kesi hii, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 Kama hatukuwa na thamani jozi ufunguo hapa, hii itakuwa ni kipengele 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 na tunataka kutumia kwa kitanzi kwenda $ pizzas 0, $ pizzas 1, $ pizzas 2, 349 00:17:16,390 --> 00:17:17,750 $ pizzas 3. 350 00:17:17,750 --> 00:17:23,130 Hivyo sasa $ tu pizza ni kugeuza kwa muhimu ambayo mtu binafsi. 351 00:17:23,130 --> 00:17:25,630 >> Kwa hiyo kile ni hii kwenda magazeti nje? 352 00:17:25,630 --> 00:17:29,030 Mimi uchapishaji nje $ pizza. 353 00:17:29,030 --> 00:17:35,270 Nataka kwenda kupata at-- kama mimi magazeti nje $ pizzas, $ i? 354 00:17:35,270 --> 00:17:35,770 Sawa? 355 00:17:35,770 --> 00:17:38,680 Kama mimi nina kwenda magazeti nje ith kipengele cha pizzas, 356 00:17:38,680 --> 00:17:40,070 je, Mimi kwenda magazeti? 357 00:17:40,070 --> 00:17:42,580 Mimi nina kwenda magazeti nje maadili katika eneo hilo, sawa? 358 00:17:42,580 --> 00:17:45,370 Kama ikiwa tunafanya huu katika mazingira ya C, 359 00:17:45,370 --> 00:17:49,786 hatuna kawaida kutumia iterator yetu kutofautiana, int i = 0, i ni chini ya 3, 360 00:17:49,786 --> 00:17:52,900 i ++, magazeti nje 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Sisi ni uchapishaji nje safu 0, safu ya 1, safu ya 2, safu ya 3. 362 00:17:57,500 --> 00:17:59,580 Na hivyo kile huu Prints nje ni hii. 363 00:17:59,580 --> 00:18:01,150 Ni orodha ya bei. 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 >> Sasa kumbuka haraka hapa. 366 00:18:06,900 --> 00:18:10,900 Kitanzi foreach gani si lazima magazeti nje mambo katika mpangilio. 367 00:18:10,900 --> 00:18:12,770 Siyo uhakika. 368 00:18:12,770 --> 00:18:13,550 Ni kawaida gani. 369 00:18:13,550 --> 00:18:17,667 Ni kawaida kwa kuzingatia utaratibu ambayo mambo ni aliongeza kwa safu, 370 00:18:17,667 --> 00:18:18,750 hivyo tu kubeba kwamba katika akili. 371 00:18:18,750 --> 00:18:20,830 Ni wanaweza kuwa katika utaratibu. 372 00:18:20,830 --> 00:18:23,930 Lakini foreach kitanzi iterate hela kila kipengele moja 373 00:18:23,930 --> 00:18:25,060 wa safu katika swali. 374 00:18:25,060 --> 00:18:27,980 Katika kesi hiyo, tena, kwamba safu ni $ pizzas. 375 00:18:27,980 --> 00:18:32,920 >> Mimi naweza kubadili syntax, ingawa, kama Nataka wote wawili muhimu na thamani. 376 00:18:32,920 --> 00:18:37,179 Badala ya kusema $ pizzas kama $ pizza, naweza kusema hii. 377 00:18:37,179 --> 00:18:39,470 Na kama wewe kuangalia nini nimekuwa yalionyesha katika kijani hapa, 378 00:18:39,470 --> 00:18:42,130 inaonekana kama muhimu jozi thamani ramani. 379 00:18:42,130 --> 00:18:45,980 Na hivyo kama you-- hata kama wewe si kabisa na uhakika nini ni kwenda kufanya, 380 00:18:45,980 --> 00:18:49,300 pengine unaweza nadhani kuwa $ topping ni kwenda 381 00:18:49,300 --> 00:18:53,800 kuwa muhimu katika kesi hii na $ bei ni kwenda kuwa thamani. 382 00:18:53,800 --> 00:18:59,200 Hivyo mimi nina kugeuza sasa kila kipengele ya $ pizzas kama jozi ufunguo thamani, 383 00:18:59,200 --> 00:19:03,900 na sasa siwezi kutaja muhimu na thamani, ambayo huenda katika Handy, 384 00:19:03,900 --> 00:19:05,590 Kwa mfano, kama ifuatavyo. 385 00:19:05,590 --> 00:19:10,170 >> "Zima" - hii ni mengi ya uchapishaji kinachoendelea here-- "zima" 386 00:19:10,170 --> 00:19:17,300 topping "pizza gharama $" bei, na kisha Mimi magazeti nje kipindi na backslash n. 387 00:19:17,300 --> 00:19:23,420 Hivyo sasa, ilani tena mimi wanapata ufunguo, $ topping, na thamani, $ bei. 388 00:19:23,420 --> 00:19:26,647 Hivyo unaweza nadhani nini hii ni kwenda magazeti nje? 389 00:19:26,647 --> 00:19:29,480 Kuna mengi ya kauli magazeti, lakini kuna moja tu backslash n ni, 390 00:19:29,480 --> 00:19:33,410 hivyo ni kwenda magazeti kitu kwenye entire-- juu ya line moja ya kanuni. 391 00:19:33,410 --> 00:19:36,965 >> Kama naweza rejea muhimu na thamani, basi sasa, 392 00:19:36,965 --> 00:19:39,090 badala ya kuwa na uwezo magazeti nje bei, 393 00:19:39,090 --> 00:19:41,330 Siwezi magazeti nje kitu kama hiki. 394 00:19:41,330 --> 00:19:43,780 "Jibini nzima pizza gharama $ 8.99." 395 00:19:43,780 --> 00:19:47,150 Na sasa mimi nina kutumia yote ya keys-- chizi, pepperoni, mboga, 396 00:19:47,150 --> 00:19:49,640 nyati chicken-- na maadili. 397 00:19:49,640 --> 00:19:53,980 8.99, 9.99, 10.99, 11.99 Hivyo hiyo ni njia mbalimbali 398 00:19:53,980 --> 00:19:57,840 kufanya foreach kitanzi kwamba badala ya kutoa tu wewe kupata maadili, 399 00:19:57,840 --> 00:20:02,950 ni tu anatoa you-- inakupa upatikanaji wa funguo na maadili. 400 00:20:02,950 --> 00:20:04,411 >> Hivyo uchapishaji nje ya kampuni. 401 00:20:04,411 --> 00:20:07,410 Nimekuwa tayari amefanya hivyo michache ya njia tofauti, unaweza kuwa niliona. 402 00:20:07,410 --> 00:20:11,080 Kazi mbili tumekuwa kimsingi kuonekana ni magazeti na echo. 403 00:20:11,080 --> 00:20:14,380 Na kwa pretty much wote makusudi na madhumuni, wao uko sawa. 404 00:20:14,380 --> 00:20:17,130 They're-- kuna hila sana Tofauti hiyo ni hata thamani 405 00:20:17,130 --> 00:20:21,130 kuingia katika, lakini kimsingi kila mahali unaweza kutumia magazeti pengine unaweza kutumia 406 00:20:21,130 --> 00:20:22,370 echo pia. 407 00:20:22,370 --> 00:20:23,610 >> Na si kwamba mbili tu. 408 00:20:23,610 --> 00:20:26,970 PHP ana mengi ya tofauti njia ya magazeti mambo ya nje, 409 00:20:26,970 --> 00:20:30,520 na pia ina njia za kuunganisha vigezo ndani ya katikati ya kamba. 410 00:20:30,520 --> 00:20:32,860 Hivyo kukumbuka kutoka C, je kukumbuka nini kazi 411 00:20:32,860 --> 00:20:37,580 tunaweza kutumia mbadala vigezo ndani ya vitu tunataka magazeti nje? 412 00:20:37,580 --> 00:20:40,160 Pengine kutumia hii kazi mengi kabisa. 413 00:20:40,160 --> 00:20:42,290 printf, sawa? 414 00:20:42,290 --> 00:20:45,290 Hivyo hii ni nini tulikuwa kabla ndani ya ya mazingira ya foreach yetu kitanzi. 415 00:20:45,290 --> 00:20:48,000 Tulikuwa na hizi tano kauli tofauti magazeti, 416 00:20:48,000 --> 00:20:50,330 kwa sababu hiyo ilikuwa tu njia ya mimi kweli alijua wakati huo 417 00:20:50,330 --> 00:20:52,450 jinsi ya magazeti nje ujumbe. 418 00:20:52,450 --> 00:20:59,560 Sikujua jinsi ya kuunganisha $ kutofautiana topping katika kanuni PHP yangu. 419 00:20:59,560 --> 00:21:03,700 Naam, kama mimi tu kuchukuliwa nadhani pori, printf, ni kweli ingekuwa kazi. 420 00:21:03,700 --> 00:21:08,980 printf ni kazi ambayo naweza kutumia katika PHP, tu like ninaweza kuitumia katika C. 421 00:21:08,980 --> 00:21:11,880 >> Na hivyo kitu kama hii, printf, tena, sisi ni ukoo na jambo hilo. 422 00:21:11,880 --> 00:21:16,420 % S kwanza ni kubadilishwa na thamani ya $ topping. 423 00:21:16,420 --> 00:21:19,700 Pili% s ni kubadilishwa na thamani ya $ bei. 424 00:21:19,700 --> 00:21:22,630 Na hivyo mimi nina interpellating, ambayo ni njia tu ya dhana 425 00:21:22,630 --> 00:21:25,400 ya kusema mimi nina sticking vigezo katika eneo hilo. 426 00:21:25,400 --> 00:21:31,000 Hivyo mimi nina plugging katika $ topping ambapo nyekundu% s ni na $ bei ambapo% s bluu 427 00:21:31,000 --> 00:21:36,060 ni, na kisha napenda kupata ujumbe, "Jibini nzima pizza gharama $ 8.99." 428 00:21:36,060 --> 00:21:37,750 >> Si njia pekee siwezi kufanya hivyo, ingawa. 429 00:21:37,750 --> 00:21:39,760 Labda napenda wanataka kutumia njia hii. 430 00:21:39,760 --> 00:21:44,890 Hii ni kweli nini kawaida aitwaye kutofautiana interpellation. 431 00:21:44,890 --> 00:21:45,690 Naweza kutumia mwangwi. 432 00:21:45,690 --> 00:21:47,737 Mimi naweza kutumia magazeti pia, kama tutaweza kuona. 433 00:21:47,737 --> 00:21:48,820 Lakini nini kinatokea hapa? 434 00:21:48,820 --> 00:21:51,520 >> Awali ya yote, nina kutoroka ishara ya dola. 435 00:21:51,520 --> 00:21:55,140 Kwa sababu kumbuka, tulipokuwa kweli uchapishaji nje bei ya pizzas, 436 00:21:55,140 --> 00:21:59,370 Mimi kwa kweli formatting yao kama takwimu ya fedha kwa ishara ya dola. 437 00:21:59,370 --> 00:22:05,635 Lakini sisi ni kutumia dola ishara pia kuiwakilisha majina kutofautiana katika PHP, 438 00:22:05,635 --> 00:22:08,010 na hasa wakati mimi niko kutumia njia hii ya curly 439 00:22:08,010 --> 00:22:10,040 Brace kutofautiana interpellation mbinu, nahitaji 440 00:22:10,040 --> 00:22:13,490 kutoroka dola ishara zangu hivyo hana kufikiri Mimi kuzungumza juu ya kutofautiana. 441 00:22:13,490 --> 00:22:16,920 Ni kwenda kweli, halisi magazeti ishara ya dola. 442 00:22:16,920 --> 00:22:19,530 >> Hivyo aina ya analogize kwa nini kuona mwishoni huko. 443 00:22:19,530 --> 00:22:22,832 Haina kweli magazeti backslash n, haki? 444 00:22:22,832 --> 00:22:24,290 Prints nje mpya mstari tabia. 445 00:22:24,290 --> 00:22:26,750 Hii is-- si kwenda kwa magazeti ishara ya dola backslash, 446 00:22:26,750 --> 00:22:30,130 ni kwenda magazeti nje tu ishara ya dola tabia. 447 00:22:30,130 --> 00:22:30,640 Sawa wazo. 448 00:22:30,640 --> 00:22:32,760 Kutoroka Utaratibu, nini mambo haya ni kuitwa. 449 00:22:32,760 --> 00:22:37,080 >> Lakini taarifa kwamba mimi si kufanya aina yoyote ya mabadilisho% s, 450 00:22:37,080 --> 00:22:40,050 Mimi tu halisi kuziba katika vigezo hivi. 451 00:22:40,050 --> 00:22:45,110 Na hivyo katika Haya nini kitatokea hapa ni kwamba thamani ya $ topping-- tena, 452 00:22:45,110 --> 00:22:48,390 kuweka tu na kile tumekuwa kuzungumza juu ya jibini hivyo far-- bila kupata 453 00:22:48,390 --> 00:22:49,720 plugged katika huko. 454 00:22:49,720 --> 00:22:54,780 Na $ bei itakuwa chochote thamani ya katika pizzas, mabano mraba, chizi, 455 00:22:54,780 --> 00:22:56,270 ambayo ilikuwa 8.99. 456 00:22:56,270 --> 00:23:01,860 Na hivyo hii itakuwa pia magazeti nje "Jibini nzima pizza gharama $ 8.99." 457 00:23:01,860 --> 00:23:05,160 Na kama nilivyosema, mimi naweza kutumia magazeti hapa badala ya echo, 458 00:23:05,160 --> 00:23:08,040 na utendaji kuwa pretty much sawa. 459 00:23:08,040 --> 00:23:09,660 Ingekuwa magazeti nje kitu kimoja. 460 00:23:09,660 --> 00:23:12,680 >> Kuna njia nyingine ya kufanya ni, na hii ni faida nyingine 461 00:23:12,680 --> 00:23:14,710 ya PHP kufanya kazi na masharti. 462 00:23:14,710 --> 00:23:17,130 Tunaweza kufanya kamba concatenation. 463 00:23:17,130 --> 00:23:19,660 Tuliweza kufanya hivyo katika C, pia, kutumia kazi kuitwa strcat, 464 00:23:19,660 --> 00:23:21,180 lakini tena, tulikuwa na piga kazi tofauti. 465 00:23:21,180 --> 00:23:22,640 Ilikuwa ni fujo nzima hii ya kufanya. 466 00:23:22,640 --> 00:23:24,590 Tulikuwa na chupa-ni pamoja na string.h. 467 00:23:24,590 --> 00:23:25,780 Ilikuwa uzalishaji, sawa? 468 00:23:25,780 --> 00:23:30,070 Lakini sasa naweza tu kutumia hii dot operator kwa concatenate masharti pamoja. 469 00:23:30,070 --> 00:23:34,910 >> Hivyo mimi nina concatenating "zima" na kisha chochote thamani ya $ topping ni, 470 00:23:34,910 --> 00:23:38,860 na kisha mwingine kamba, "gharama pizza $" 471 00:23:38,860 --> 00:23:42,340 na kisha concatenating chochote thamani ya $ bei ni, 472 00:23:42,340 --> 00:23:45,670 na kisha mwishoni sana mimi nina bisho juu ya kipindi backslash n. 473 00:23:45,670 --> 00:23:47,926 Na hivyo hii ingekuwa pia magazeti nje "zima" - tena, 474 00:23:47,926 --> 00:23:50,550 kama tunazungumzia kuhusu kwanza kipengele cha kwamba pizzas array-- 475 00:23:50,550 --> 00:23:54,710 "Jibini nzima pizza gharama $ 8.99." 476 00:23:54,710 --> 00:24:01,260 Kipindi, backslash n, tena, kwa $ topping na $ bei kuandika badala 477 00:24:01,260 --> 00:24:06,580 kwa nini tulikuwa maalum katika foreach yetu kitanzi kama ufunguo jozi thamani ramani. 478 00:24:06,580 --> 00:24:08,050 >> PHP inaweza kushughulikia kazi. 479 00:24:08,050 --> 00:24:11,250 Kazi zilikuwa aina ya muhimu kwa C, kama tuliona. 480 00:24:11,250 --> 00:24:14,870 Kama vigezo, hatuna haja ya kutaja aina ya kurudi kazi, 481 00:24:14,870 --> 00:24:16,350 kwa sababu haina kweli jambo. 482 00:24:16,350 --> 00:24:18,660 Na hatuna bayana aina ya data ya vigezo yoyote, 483 00:24:18,660 --> 00:24:21,410 kwa sababu wao si kweli suala hilo, kama tumeona katika PHP. 484 00:24:21,410 --> 00:24:24,510 Kila kazi ni vishawishi na kazi Keyword. 485 00:24:24,510 --> 00:24:27,920 Hiyo ni jinsi sisi zinaonyesha kwa PHP kwamba nini tunazungumzia ni kazi. 486 00:24:27,920 --> 00:24:29,720 >> Na hatuna kwa kukabiliana na kuu wakati wote, 487 00:24:29,720 --> 00:24:33,690 kwa sababu mkalimani, PHP mkalimani, kazi kutoka juu mpaka chini, 488 00:24:33,690 --> 00:24:34,190 bila kujali. 489 00:24:34,190 --> 00:24:35,640 Kama anaona unaweza kufanya kazi ya wito, ni itabidi 490 00:24:35,640 --> 00:24:37,850 kwenda kupata kazi ya wito, hata kama anakuja baadaye. 491 00:24:37,850 --> 00:24:40,360 Lakini itakuja kusoma kutoka juu hadi chini, hivyo hatuna haja ya kutaja, 492 00:24:40,360 --> 00:24:41,500 hapa ni wapi kuanza. 493 00:24:41,500 --> 00:24:46,700 Unaweza kuanza kwenye mstari 1 wa yako PHP na kazi chini kutoka huko. 494 00:24:46,700 --> 00:24:49,690 >> Hivyo hapa ni jinsi gani tunataka kujenga kazi kuitwa hard_square. 495 00:24:49,690 --> 00:24:54,100 Ni inaonekana inachukua moja parameter, ambayo mimi nina wito $ x. 496 00:24:54,100 --> 00:24:58,424 Kazi hii ni ngumu tu kuonyesha mambo mbalimbali. 497 00:24:58,424 --> 00:24:59,590 Bado tuna maadili kurudi. 498 00:24:59,590 --> 00:25:00,870 Mimi nina kutumia kwa kitanzi hapa. 499 00:25:00,870 --> 00:25:04,970 Lakini ni kimsingi tu, jambo hili ni sawa na ni tu $ x nyakati $ x. 500 00:25:04,970 --> 00:25:10,520 Nini mimi kweli kufanya ni kuongeza tu x kwa x 0 nyakati wala $ x na sifuri $ x nyakati. 501 00:25:10,520 --> 00:25:15,850 Lakini ni ufanisi hasa sawa na kuzidisha mara $ x $ x. 502 00:25:15,850 --> 00:25:18,700 Mimi bado anaweza kurudi thamani, katika hii $ matokeo ya kesi, 503 00:25:18,700 --> 00:25:22,060 na nimepata alifanya kazi katika PHP. 504 00:25:22,060 --> 00:25:24,160 >> Hapa ni jinsi gani unaweza kuitumia katika mazingira. 505 00:25:24,160 --> 00:25:26,020 Hivyo labda mimi nina ndani ya baadhi ya faili PHP. 506 00:25:26,020 --> 00:25:29,240 Taarifa katika bluu pale kwamba Nimekuwa kutumika PHP yangu delimiters, 507 00:25:29,240 --> 00:25:31,010 pembe mabano alama swali php. 508 00:25:31,010 --> 00:25:35,180 Katika kati ya hizo ni wote wa PHP kwamba nataka kuandika. 509 00:25:35,180 --> 00:25:37,840 Hivyo mimi nina inaonekana kwenda get-- Mimi nina kwenda kuchochea mtumiaji 510 00:25:37,840 --> 00:25:41,550 kunipa idadi, kuhifadhi kwamba kutofautiana, kuhifadhi kwa kuwa kutofautiana $ x, 511 00:25:41,550 --> 00:25:43,320 chochote alinipa. 512 00:25:43,320 --> 00:25:48,590 Kisha mimi nina kwenda kurudia hard_square ya thamani kwamba, 513 00:25:48,590 --> 00:25:50,370 na inaonekana kwenda kwa upepo kwenye mstari mpya 514 00:25:50,370 --> 00:25:53,590 pamoja, na kisha baadaye mimi itabidi kufafanua kazi hard_square hivyo 515 00:25:53,590 --> 00:25:55,550 kwamba wakati mimi kufanya wito kwa hard_square, 516 00:25:55,550 --> 00:25:58,160 ni anajua nini mimi kuzungumza juu. 517 00:25:58,160 --> 00:26:00,705 >> Sasa, mimi naweza pia kufanya kitu kama hiki. 518 00:26:00,705 --> 00:26:02,050 Hii ni tofauti kidogo. 519 00:26:02,050 --> 00:26:04,190 Ni karibu hasa sawa na yale tuliona kabla, 520 00:26:04,190 --> 00:26:08,400 isipokuwa badala ya kusema tu $ x kuna kama parameter hard_square, 521 00:26:08,400 --> 00:26:11,730 Mimi kusema $ x = 10. 522 00:26:11,730 --> 00:26:14,330 Hivyo hii ni mfano wa kujihami programu, 523 00:26:14,330 --> 00:26:17,070 kulinda programu yako dhidi ya watumiaji hatarishi. 524 00:26:17,070 --> 00:26:20,020 >> Hii ni njia moja ya kufanya makosa baadhi kuangalia kwamba sisi si kweli 525 00:26:20,020 --> 00:26:24,670 na kama chaguo katika C. Tunaweza kamwe kutaja chaguo-msingi thamani ya kitu. 526 00:26:24,670 --> 00:26:27,010 Sisi daima alikuwa kuangalia iwapo, kwa mfano, 527 00:26:27,010 --> 00:26:30,820 kama sisi alitoa wito kwa GetString, ilikuwa zaidi sahihi kama mara baada ya sisi 528 00:26:30,820 --> 00:26:33,300 kuchunguzwa kwamba, sisi kuchunguzwa iwapo kamba 529 00:26:33,300 --> 00:26:35,504 kwamba mtumiaji alitupa si sawa kwa null, 530 00:26:35,504 --> 00:26:37,920 kwa sababu hatutaki kuanza kufanya kazi na null kamba. 531 00:26:37,920 --> 00:26:39,670 >> Hapa, hii ni njia kulinda dhidi ya kwamba. 532 00:26:39,670 --> 00:26:43,480 Kama mtumiaji haitoi sisi kitu namna fulani, ni sisi kwenda kufanya? 533 00:26:43,480 --> 00:26:46,080 Naam, tutaweza kusema tu chochote hawakuwa kutoa yetu, 534 00:26:46,080 --> 00:26:47,705 sisi ni kwenda tu kuziba katika 10 badala yake. 535 00:26:47,705 --> 00:26:52,030 Hivyo kama wao hakutupa thamani, tu kutumia 10 by default. Na hivyo hapa, 536 00:26:52,030 --> 00:26:53,940 taarifa kwamba mimi nina kufanya a kuwaita kwa hard_square, 537 00:26:53,940 --> 00:26:55,980 lakini hakuna haraka kwa mtumiaji, sawa? 538 00:26:55,980 --> 00:26:57,540 Mimi tu kupiga simu mtupu. 539 00:26:57,540 --> 00:27:00,860 >> Lakini kazi yangu hard_square inatarajia parameter. 540 00:27:00,860 --> 00:27:02,222 Kile ni hii kwenda magazeti nje? 541 00:27:02,222 --> 00:27:03,680 Ni kwenda magazeti nje 100, sawa? 542 00:27:03,680 --> 00:27:05,720 Kwa sababu mtumiaji hakuwa nipe kitu chochote. 543 00:27:05,720 --> 00:27:08,970 Na hivyo mimi nina kwenda tu kudhani kwamba 10-- 10 ni thamani ya msingi. 544 00:27:08,970 --> 00:27:13,760 Na hivyo hii itakuwa magazeti nje 100 kwenye mstari wake mwenyewe. 545 00:27:13,760 --> 00:27:16,390 >> PHP mafaili huna kuwa tu faili moja. 546 00:27:16,390 --> 00:27:19,480 Unaweza kuchanganya files nyingi kwa pamoja, tu kama unaweza katika C. njia 547 00:27:19,480 --> 00:27:24,330 sisi alifanya hivyo katika C ni kawaida ya kufanya # ni pamoja na kupata kichwa mafaili kujiondoa katika. 548 00:27:24,330 --> 00:27:26,180 Hatuna kufanya hivyo katika PHP. 549 00:27:26,180 --> 00:27:29,110 Sisi kufanya kitu kinachoitwa require_once. 550 00:27:29,110 --> 00:27:33,360 Na kisha kuna zima huu Jambo, nini __dir__ hili? 551 00:27:33,360 --> 00:27:36,510 Hiyo tu maalum kutofautiana, au mara kwa mara maalum, 552 00:27:36,510 --> 00:27:39,030 kweli, kwamba unasema nini saraka yako ya sasa ni. 553 00:27:39,030 --> 00:27:41,320 Na hivyo kwenda kuangalia katika orodha yako ya sasa 554 00:27:41,320 --> 00:27:44,900 kwa faili inayoitwa cs50.php katika mfano huu hapa, 555 00:27:44,900 --> 00:27:50,490 na ni kwenda kwa fimbo faili kwamba juu ya PHP mpango wako, 556 00:27:50,490 --> 00:27:56,980 kuchukua kwamba wewe kuweka the zinahitaji mara moja mstari juu ya PHP faili yako. 557 00:27:56,980 --> 00:28:01,474 >> Hivyo PHP kimsingi ni kutumika, lakini si peke kutumika, 558 00:28:01,474 --> 00:28:03,140 kama lugha ya programu mtandao msingi. 559 00:28:03,140 --> 00:28:05,270 Hiyo ni kweli jinsi alikuja kuwa. 560 00:28:05,270 --> 00:28:06,980 Lakini ni kamili lugha, kama tumeona. 561 00:28:06,980 --> 00:28:10,105 Tumeona pretty much kila kitu iweze kufanya hivyo ni sawa na C, 562 00:28:10,105 --> 00:28:13,290 na inaweza kufanya heck ya mengi zaidi kuliko hiyo. 563 00:28:13,290 --> 00:28:16,950 >> Lakini kwa sababu ni lugha kamili na sisi anaweza kufanya mstari amri programu ndani yake. 564 00:28:16,950 --> 00:28:18,630 Tunaweza kuendesha programu mstari amri. 565 00:28:18,630 --> 00:28:22,580 Wote wa zinazohitajika kuendesha amri mstari mpango huo imeandikwa katika PHP 566 00:28:22,580 --> 00:28:24,260 ni kwamba una mkalimani PHP. 567 00:28:24,260 --> 00:28:27,460 Hivyo ni aina ya sawa na kuwa compiler kwenye mfumo wako 568 00:28:27,460 --> 00:28:31,100 kama unataka kukusanya C kanuni yako kugeuka ndani kutekelezwa mafaili. 569 00:28:31,100 --> 00:28:33,810 Unahitaji kuwa na mkalimani PHP ambayo ipo kwenye mfumo wako 570 00:28:33,810 --> 00:28:37,330 ili uweze kutafsiri PHP mafaili. 571 00:28:37,330 --> 00:28:40,370 >> Kutokana huna, na kwa kawaida mkalimani hii inaitwa PHP, 572 00:28:40,370 --> 00:28:44,300 na ni kawaida kutunza na zaidi downloads au mitambo ya PHP 573 00:28:44,300 --> 00:28:47,430 uweze kupata online, na kwa hakika jina la mkalimani PHP 574 00:28:47,430 --> 00:28:49,550 tuna katika CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Wote kufanya ni aina php file. 576 00:28:51,819 --> 00:28:53,610 Na nini mpango wako kwenda kufanya ni ni 577 00:28:53,610 --> 00:28:55,360 kwenda kukimbia kupitia mkalimani, ni 578 00:28:55,360 --> 00:28:58,040 kwenda kupuuza kila kitu kilicho si katika kati ya swali mark-- 579 00:28:58,040 --> 00:29:03,160 au, pembe mabano swali chapa php, delimiters PHP, na magazeti ya nje, 580 00:29:03,160 --> 00:29:07,660 na itakuwa kutafsiri na kutekeleza kificho ndani ya PHP yako delimiters. 581 00:29:07,660 --> 00:29:12,850 >> Basi hebu pop juu ya CS50 IDE na kuwa na kuangalia michache ya PHP mafaili, 582 00:29:12,850 --> 00:29:19,850 mbio michache ya PHP mafaili, katika amri Mpya interface ya CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Hivyo hapa sisi ni katika CS50 IDE, na nimekuwa kuchukuliwa uhuru 584 00:29:22,100 --> 00:29:25,800 ya kufungua faili inayoitwa hello1.php. 585 00:29:25,800 --> 00:29:29,920 Na inaonekana, yaliyomo ya hii faili ni baadhi tu ya delimiters PHP huko, 586 00:29:29,920 --> 00:29:32,220 na katika kati ya, echo ("hello, ulimwengu"). 587 00:29:32,220 --> 00:29:34,710 Hii ni pretty rahisi PHP mpango. 588 00:29:34,710 --> 00:29:37,670 Mimi tu kwenda kwa kitabu chini terminal dirisha yangu hapa, 589 00:29:37,670 --> 00:29:44,320 na mimi nina kwenda aina php hello1.php, enter. 590 00:29:44,320 --> 00:29:44,950 Salamu, Dunia. 591 00:29:44,950 --> 00:29:48,110 Kwamba pengine ni nini tulikuwa tegemeo la kufanya, sawa? 592 00:29:48,110 --> 00:29:51,140 >> Hebu kwenda juu na kuchukua mwingine kuangalia mpango. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 Pretty much kitu kimoja, si mengi kinachoendelea hapa. 595 00:29:55,090 --> 00:29:57,190 Wakati huu, ingawa, mimi nina kwenda kwa kuchochea mtumiaji nipe majina yao. 596 00:29:57,190 --> 00:29:59,290 Mimi nina kutumia readline kwamba kazi tena. 597 00:29:59,290 --> 00:30:01,340 $ jina = readline. 598 00:30:01,340 --> 00:30:03,070 Hiyo ni haraka, "Jina lako nani?" 599 00:30:03,070 --> 00:30:04,880 >> Inavyoonekana mimi nina uchapishaji kwenye mstari wake mwenyewe. 600 00:30:04,880 --> 00:30:07,220 Na kisha, hivyo mstari chini ambayo itakuwa haraka 601 00:30:07,220 --> 00:30:08,750 ambapo mtumiaji anaweza kuingia jina yao. 602 00:30:08,750 --> 00:30:12,030 Na kisha mimi nina kutumia kidogo ya kutofautiana interpellation hapa kwenye mstari 3 603 00:30:12,030 --> 00:30:14,780 magazeti nje "Habari" na chochote mtumiaji aina. 604 00:30:14,780 --> 00:30:22,040 Hivyo hii ni sawa na kusema, Habari, comma,% s kama tungetumia printf katika C. 605 00:30:22,040 --> 00:30:24,910 >> Basi hebu kwenda na kutafsiri mpango huu. 606 00:30:24,910 --> 00:30:27,400 Hivyo tena, mimi itabidi kitabu chini terminal dirisha yangu. 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 Jina lako nani? 610 00:30:33,820 --> 00:30:35,490 Doug. 611 00:30:35,490 --> 00:30:36,526 Hello, Doug. 612 00:30:36,526 --> 00:30:39,440 Mimi pia kuwa mwingine faili inayoitwa hello3.php. 613 00:30:39,440 --> 00:30:42,850 Mimi nina kwenda wazi yangu screen na Kudhibiti L, 614 00:30:42,850 --> 00:30:46,210 na mimi nina kwenda kutekeleza jambo hilo. 615 00:30:46,210 --> 00:30:47,640 Jina lako nani? 616 00:30:47,640 --> 00:30:49,020 Doug. 617 00:30:49,020 --> 00:30:49,780 Hello, Doug. 618 00:30:49,780 --> 00:30:56,540 Hivyo tabia ni sawa na hello2.php, lakini kwa nini ni hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Naam, hapa ni tofauti. 620 00:30:58,040 --> 00:31:00,620 Katika kesi hiyo, taarifa kuwa kwenye mstari 1 hapa, 621 00:31:00,620 --> 00:31:04,270 Nina kitu ambacho si katika kati ya delimiters PHP. 622 00:31:04,270 --> 00:31:07,760 Mimi nina uchapishaji out-- au mimi tu tu typed, "Jina lako nani?" 623 00:31:07,760 --> 00:31:12,060 Wakati mkalimani PHP anaona hii, hana wazo jinsi ya kutafsiri kama PHP, 624 00:31:12,060 --> 00:31:15,060 na hivyo badala ya kushindwa, ni tu kwenda kwa kuitema. 625 00:31:15,060 --> 00:31:19,010 >> Hivyo taarifa juu ya mstari 3 sasa, wito wangu kwa readline, hakuna haraka tena. 626 00:31:19,010 --> 00:31:21,750 Mimi tu kweli kwenda to-- wakati mkalimani PHP anaona hili, 627 00:31:21,750 --> 00:31:23,400 ni kwenda magazeti nje "Jina lako nani?" 628 00:31:23,400 --> 00:31:25,941 Kisha anaona, loo, sawa, here's-- kila kitu kingine ni kwenda kuwa 629 00:31:25,941 --> 00:31:29,970 kufasiriwa kama PHP, hivyo hiyo ndiyo sababu hii matendo. 630 00:31:29,970 --> 00:31:34,990 Sina kwa lazima kuchochea user to-- ndani ya readline, 631 00:31:34,990 --> 00:31:37,490 Naweza tu kuwa ni nje ya delimiters PHP 632 00:31:37,490 --> 00:31:41,490 na kuruhusu mkalimani tu magazeti ya nje kwa ajili yangu. 633 00:31:41,490 --> 00:31:45,364 >> Hivyo huna kweli tu na kuwa na seti moja ya PHP delimiters 634 00:31:45,364 --> 00:31:46,030 katika mpango wako. 635 00:31:46,030 --> 00:31:49,887 Unaweza kweli kuwa baadhi yao, kufungua na kufunga yao kama inahitajika. 636 00:31:49,887 --> 00:31:51,720 Hivyo hebu tuangalie katika michache ya mipango 637 00:31:51,720 --> 00:31:55,070 katika CS50 IDE ambapo sisi kuonyesha wazo hili la kuwa na 638 00:31:55,070 --> 00:31:58,376 seti mbalimbali ya delimited PHP. 639 00:31:58,376 --> 00:32:02,010 >> OK, hivyo nimekuwa kufunguliwa faili hapa aitwaye add1.php. 640 00:32:02,010 --> 00:32:03,390 Na taarifa nini kinatokea hapa. 641 00:32:03,390 --> 00:32:08,077 Kama vile kabla, nina PHP moja seti ya delimiters. 642 00:32:08,077 --> 00:32:10,660 Mimi nina kwenda magazeti nje ujumbe, "Nipe mimi idadi." 643 00:32:10,660 --> 00:32:13,394 Kisha mimi nina kwenda kusoma mstari na kuhifadhi katika kutofautiana $ num1. 644 00:32:13,394 --> 00:32:14,810 Kisha mimi nina kwenda magazeti nje tena. 645 00:32:14,810 --> 00:32:16,310 Nipe namba ya pili. 646 00:32:16,310 --> 00:32:20,450 Kusoma mstari kutoka kwa mtumiaji, kuhifadhi chochote typed katika katika $ num2. 647 00:32:20,450 --> 00:32:23,980 Kuongeza yao pamoja na kuhifadhi kwamba kusababisha kutofautiana kuitwa $ ujumla, 648 00:32:23,980 --> 00:32:26,180 na kisha magazeti nje, " Jumla ya namba hizi mbili 649 00:32:26,180 --> 00:32:29,254 ni, "na kisha interpellate kuna kutofautiana $ jibu. 650 00:32:29,254 --> 00:32:31,170 Basi hebu kukimbia tu hii kupitia mkalimani 651 00:32:31,170 --> 00:32:33,720 kuthibitisha kwamba hii ni nini tunatarajia. 652 00:32:33,720 --> 00:32:37,540 php add1.php. 653 00:32:37,540 --> 00:32:38,665 Tafadhali nipe namba, 3. 654 00:32:38,665 --> 00:32:40,410 Tafadhali nipe idadi ya pili, 4. 655 00:32:40,410 --> 00:32:43,370 Jumla ya namba hizi mbili ni 7. 656 00:32:43,370 --> 00:32:45,030 Hiyo ni 3 pamoja na 4. 657 00:32:45,030 --> 00:32:45,530 SAWA? 658 00:32:45,530 --> 00:32:47,770 Hivyo kitu sana dhana huko. 659 00:32:47,770 --> 00:32:51,080 >> Na sasa hebu kufungua add2.php. 660 00:32:51,080 --> 00:32:54,460 Hapa, mimi nimepata michache ya PHP delimited seti huko, sawa? 661 00:32:54,460 --> 00:32:59,107 Mistari 1, 3-- mistari 1 na 3 sina delimiters PHP. 662 00:32:59,107 --> 00:33:00,940 Hivyo wakati mkalimani anaona yao, ni tu 663 00:33:00,940 --> 00:33:03,220 kwenda mate nje hasa kile Mimi typed huko. 664 00:33:03,220 --> 00:33:05,011 Hivyo hiyo ambapo mimi nina kufanya yote na kusababisha yangu. 665 00:33:05,011 --> 00:33:11,220 Juu ya mistari 2 na 4, tunaona sana ukoo $? php aina ya delimiters, 666 00:33:11,220 --> 00:33:15,210 hivyo wale mistari miwili ni kwenda kutekeleza kama PHP. 667 00:33:15,210 --> 00:33:18,270 Na kisha kwenye mstari 5, nina hii weird jambo sahihi hapa, sawa? 668 00:33:18,270 --> 00:33:20,480 Mabano huu pembe swali chapa ishara sawa. 669 00:33:20,480 --> 00:33:22,660 Mimi itabidi hata kuvuta kidogo zaidi. 670 00:33:22,660 --> 00:33:29,270 Unaweza kuona hii ni nini mimi nina kuzungumza juu ya haki pale, $ hili? =. 671 00:33:29,270 --> 00:33:33,420 >> Ni zinageuka kuwa ni jambo la kawaida kwamba sababu ya kuwa sisi kufungua seti ya PHP 672 00:33:33,420 --> 00:33:36,055 delimiters ni magazeti nje thamani. 673 00:33:36,055 --> 00:33:37,430 Na kwamba wote sisi ni kwenda kufanya. 674 00:33:37,430 --> 00:33:39,220 Lakini kuna hata shorthand kwa ajili hiyo. 675 00:33:39,220 --> 00:33:46,490 $? = Ni PHP shorthand kwa kusema kitu kama $? php echo Jumla 676 00:33:46,490 --> 00:33:48,350 ya num1 na num2. 677 00:33:48,350 --> 00:33:51,900 Hivyo hii ni tu mwingine shorthand kwa ajili hiyo. 678 00:33:51,900 --> 00:33:55,550 >> Hivyo kama mimi kuendesha mpango huu, php add2.php. 679 00:33:55,550 --> 00:33:57,530 Mimi itabidi kuvuta chini kidogo. 680 00:33:57,530 --> 00:33:59,000 Tafadhali nipe namba, 4. 681 00:33:59,000 --> 00:34:00,350 Tafadhali nipe namba ya pili. 682 00:34:00,350 --> 00:34:04,650 Na kwa kuwa mimi si kweli huduma kuhusu aina ya data katika PHP, naweza kusema 4.8. 683 00:34:04,650 --> 00:34:07,160 Jumla ya namba hizi mbili ni 8.8. 684 00:34:07,160 --> 00:34:10,179 Kazi ambayo hufanya kazi pretty much sawa kama sisi bila kutarajia, 685 00:34:10,179 --> 00:34:10,989 vilevile. 686 00:34:10,989 --> 00:34:13,114 Na mimi kuwa moja zaidi kufunguliwa hapa aitwaye dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Jaribu hii tena. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 Nina moja zaidi hapa inaitwa dice1.php, ambayo pia, angalia, 691 00:34:33,280 --> 00:34:37,440 ina kuwa swali pembe mabano alama ishara nukuu sawa huko, 692 00:34:37,440 --> 00:34:40,659 lakini taarifa kwamba katika kesi hii mimi nina wito kazi rand, kama ambayo 693 00:34:40,659 --> 00:34:42,790 kutarajia inazalisha idadi random. 694 00:34:42,790 --> 00:34:46,889 "Wewe limekwisha," na ni kwenda mahesabu ya baadhi ya idadi random, mod 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Hivyo kwamba utakuwa nipe idadi katika aina mbalimbali ya 1-6. 697 00:34:49,989 --> 00:34:53,040 >> Kumbuka kwamba mod 6 angenipa idadi katika aina mbalimbali ya 0-5, 698 00:34:53,040 --> 00:34:56,630 lakini kama mimi nina simulating mistari kete, ambayo ni nini mimi kufanya hapa, 699 00:34:56,630 --> 00:35:00,040 Sitaki kete hizo kwenda kutoka 0 hadi 5, nataka kete kwamba kwenda 1-6. 700 00:35:00,040 --> 00:35:02,800 Na hivyo hii ni njia ya kupata mimi katika aina mbalimbali ya 1-6. 701 00:35:02,800 --> 00:35:04,720 Mimi nina kufanya hili mara mbili. 702 00:35:04,720 --> 00:35:08,630 Hivyo inaonekana Mimi rolling kete mbili katika mpango huu. 703 00:35:08,630 --> 00:35:15,210 >> Hivyo mimi itabidi wazi screen yangu, na mimi itabidi kufanya php dice1.php. 704 00:35:15,210 --> 00:35:16,640 Wewe limekwisha 4 na 2. 705 00:35:16,640 --> 00:35:19,156 Na kama mimi kuendesha programu tena, wewe limekwisha 5 na 5. 706 00:35:19,156 --> 00:35:21,780 Hivyo kila wakati mimi kukimbia mpango, Mimi nina kupata idadi tofauti, 707 00:35:21,780 --> 00:35:24,280 kwa sababu kila wakati mimi kufanya hivyo, ni mapya juu. 708 00:35:24,280 --> 00:35:27,250 Ni kwenda kuzalisha mpya seti ya idadi random kwa ajili yangu. 709 00:35:27,250 --> 00:35:29,790 >> Hivyo kama sisi ni kutumika kuendesha programu kutoka C, 710 00:35:29,790 --> 00:35:32,520 sisi ni kutumika kuandika ./ jina la mpango, haki? 711 00:35:32,520 --> 00:35:35,090 Hiyo ni jinsi tumefanya zote ya mipango yetu katika C hadi sasa. 712 00:35:35,090 --> 00:35:37,555 Tunaweza kufanya hivyo katika PHP pamoja kwa kuongeza kitu kinachoitwa 713 00:35:37,555 --> 00:35:40,026 shebang hata kilele cha faili wetu PHP. 714 00:35:40,026 --> 00:35:41,400 Najua ni aina ya neno silly. 715 00:35:41,400 --> 00:35:44,540 Ni short kwa hash bang. 716 00:35:44,540 --> 00:35:46,300 Hiyo ni kwanza wahusika wawili huko. 717 00:35:46,300 --> 00:35:50,030 Kumbuka tunatoa wito mshangao uhakika mara kwa mara bang katika sayansi ya kompyuta. 718 00:35:50,030 --> 00:35:51,690 Pia inaweza kuwa kwa bang mkali. 719 00:35:51,690 --> 00:35:53,273 Kuna wanandoa njia kuifasiri. 720 00:35:53,273 --> 00:35:57,320 Lakini kimsingi aina maalum ya amuru mkalimani PHP 721 00:35:57,320 --> 00:36:00,160 anaelewa kama, loo, nataka wewe kutekeleza mpango huu, 722 00:36:00,160 --> 00:36:05,250 ambayo inaonekana / user / bin / php, ambayo ni kweli ambapo mkalimani PHP 723 00:36:05,250 --> 00:36:08,590 hasa anaishi kwenye mfumo wetu. 724 00:36:08,590 --> 00:36:12,530 Hivyo it's-- nini kinatokea hapa ni mkalimani anaelewa, loo, 725 00:36:12,530 --> 00:36:17,270 Mimi inaonekana zinatakiwa kutumia katika mpango huu wa kukimbia faili hii. 726 00:36:17,270 --> 00:36:20,010 Na hivyo utapata ruka juu hatua 727 00:36:20,010 --> 00:36:22,979 ya kuwa na kusema php something.php. 728 00:36:22,979 --> 00:36:25,020 Kuna wengine moja kukamata hapa, ambayo ni kuwa kama sisi 729 00:36:25,020 --> 00:36:27,320 wanataka mipango yetu kwa kazi kama ilivyotarajiwa, sisi 730 00:36:27,320 --> 00:36:30,220 haja ya kufanya kitu kinachoitwa Mabadiliko ya faili ruhusa. 731 00:36:30,220 --> 00:36:33,380 Na tutaweza go-- na sisi kuongea kidogo kidogo zaidi kuhusu faili mabadiliko ruhusa 732 00:36:33,380 --> 00:36:37,550 katika video wetu juu MVC, lakini inatosha kusema kwamba hii ni nini unahitaji kufanya 733 00:36:37,550 --> 00:36:42,760 ili kufanya yako php mafaili kutekelezwa. 734 00:36:42,760 --> 00:36:49,330 Basi hebu tuangalie hii kama mfano wetu wa mwisho juu katika CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Hivyo hapa katika IDE nina mafaili mbili katika hii PHP directory kwamba kuonekana si kuwa 736 00:36:53,910 --> 00:36:55,310 aitwaye php. 737 00:36:55,310 --> 00:36:58,170 Nina kazi kuitwa add-- Nina faili inayoitwa add3 738 00:36:58,170 --> 00:37:00,650 na faili inayoitwa dice2. 739 00:37:00,650 --> 00:37:03,680 Basi hebu kuchukua haraka kuangalia na kufungua add3. 740 00:37:03,680 --> 00:37:08,300 Na kama unaweza kuona, mwanzoni ya faili yangu nina shebang hii, sawa? 741 00:37:08,300 --> 00:37:11,420 Hii hatua hash alama ya mshangao. 742 00:37:11,420 --> 00:37:15,115 Sasa, utasikia pia labda taarifa kwamba kwa sababu fulani, 743 00:37:15,115 --> 00:37:16,990 Sina syntax yoyote kuonyesha tena, 744 00:37:16,990 --> 00:37:20,198 na hii ni nini mimi alluded mapema, ambayo ilikuwa kwamba kama mimi si jina la faili yangu 745 00:37:20,198 --> 00:37:23,040 php, sina faida ya syntax mwangaza tena. 746 00:37:23,040 --> 00:37:26,220 Faili hili ni tu kuitwa add3. 747 00:37:26,220 --> 00:37:30,960 Ili niweze kuendesha baadaye na ./ add3 na si ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Hivyo reason-- ni bado faini, bado ni halali PHP, 749 00:37:33,680 --> 00:37:37,000 lakini siyo syntax yalionyesha, kwa sababu faili hili si kuitwa something.php. 750 00:37:37,000 --> 00:37:41,580 Hiyo ni tu halisi tofauti hapa, pamoja na shebang. 751 00:37:41,580 --> 00:37:45,170 Basi hebu angalia nini kinatokea wakati Mimi kujaribu na kuendesha mpango huu. 752 00:37:45,170 --> 00:37:50,780 ./ Add3, kama napenda na C. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ Add3 ruhusa alikanusha. 754 00:37:53,190 --> 00:37:55,390 Hii ni nini wewe kwenda kuona kama wewe kusahau 755 00:37:55,390 --> 00:37:59,280 kutumia amri chmod kubadili ruhusa ya faili. 756 00:37:59,280 --> 00:38:03,845 >> Kama ni zamu nje, mara kwa mara PHP mafaili huwezi wauawe. 757 00:38:03,845 --> 00:38:06,970 Wao inaweza kutafsiriwa, lakini sisi ni kufanya kitu tofauti kidogo hapa. 758 00:38:06,970 --> 00:38:07,761 Sisi ni utekelezaji yake. 759 00:38:07,761 --> 00:38:12,970 Na hivyo mimi haja ya kuongeza ruhusa ya utekelezaji, chmod + x kwa add3. 760 00:38:12,970 --> 00:38:15,680 Kisha naweza kusema ./ add3. 761 00:38:15,680 --> 00:38:16,860 Tafadhali nipe idadi. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Jumla ya namba hizi mbili ni 11. 764 00:38:20,490 --> 00:38:26,530 >> Vile vile, mimi tayari chmoded dice2, hivyo siwezi tu aina ./ dice2, 765 00:38:26,530 --> 00:38:31,260 wewe limekwisha 1 na 1, wewe limekwisha 5 na 4, na kadhalika. 766 00:38:31,260 --> 00:38:33,680 >> Hivyo hiyo ni pretty kiasi wazo la PHP syntax, sawa? 767 00:38:33,680 --> 00:38:35,221 Kuna mengi kupata kupitia, najua. 768 00:38:35,221 --> 00:38:39,160 Lakini pengine wameweza kuona sasa kwamba PHP si kweli kwamba tofauti na C 769 00:38:39,160 --> 00:38:43,670 na kwa kweli inatupa uwezo kuchukua mambo juu notch moja au mbili. 770 00:38:43,670 --> 00:38:48,230 Sisi si kweli kuwa na wasiwasi sana about-- sisi si kweli 771 00:38:48,230 --> 00:38:51,605 kuwa na wasiwasi sana kuhusu maelezo ya ngazi ya chini sisi 772 00:38:51,605 --> 00:38:52,980 alikuwa na wasiwasi juu na C, sawa? 773 00:38:52,980 --> 00:38:56,170 Tunaweza kuzingatia juu mambo kiwango hicho PHP 774 00:38:56,170 --> 00:39:01,090 inaruhusu sisi kufanya na kuchukua kwa nafasi kwamba itakuwa kazi kwa ajili yetu. 775 00:39:01,090 --> 00:39:04,350 Hivyo inatupa uwezo sasa, kipindi cha mpito kutoka C kwa PHP, 776 00:39:04,350 --> 00:39:08,280 kufanya mipango ambayo ni mengi zaidi tata na labda mengi imara zaidi. 777 00:39:08,280 --> 00:39:13,070 >> Kwa hiyo, natumaini wewe kuwa na furaha ya kufanya kazi na PHP, na mimi nina Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 Hii ni CS50. 779 00:39:15,050 --> 00:39:17,637