1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> Даг Lloyd: Так што мы зроблена шмат працы ў C, 3 00:00:07,370 --> 00:00:09,536 і С сапраўды выдатна мова, таму што гэта дае вам 4 00:00:09,536 --> 00:00:12,840 здольнасць апускацца на самай справе нізкі ўзровень у вашы праграмы. 5 00:00:12,840 --> 00:00:16,810 Мы атрымліваем, каб рабіць рэчы, як сапраўды хвілін як маніпуляванне 6 00:00:16,810 --> 00:00:18,800 асобныя байты памяці. 7 00:00:18,800 --> 00:00:21,420 Нагадаем, што паказальнікі на самай справе дазваляюць нам, што гнуткасць. 8 00:00:21,420 --> 00:00:25,260 >> Але мы заўсёды павінны мець што ўзровень дробназярністая дэталяў 9 00:00:25,260 --> 00:00:26,820 у нашых праграмах? 10 00:00:26,820 --> 00:00:28,210 Напэўна, не, не так? 11 00:00:28,210 --> 00:00:30,376 І калі мы будзем мець кампраміс між тым, 12 00:00:30,376 --> 00:00:32,911 ў стане зрабіць сапраўды, сапраўды пуцёўкі рэчы і сапраўды, сапраўды 13 00:00:32,911 --> 00:00:35,910 вялікія рэчы, якія мы не павінны думаць аб, мы не павінны рэалізаваць 14 00:00:35,910 --> 00:00:40,290 гэтыя сапраўды вялікія ідэі, калі яны ўжо пабудавалі ў нас, 15 00:00:40,290 --> 00:00:43,980 як правіла, для будаўніцтва вялікі праграмы або праекты, вялікія 16 00:00:43,980 --> 00:00:49,130 мы, верагодна, будзем памыляцца на баку у тым больш мова матэрыял пабудаваны ў 17 00:00:49,130 --> 00:00:51,300 для нас, замест таго, нізкаўзроўневыя рэчы. 18 00:00:51,300 --> 00:00:53,970 І вось, калі PHP на самай справе ўваходзіць. 19 00:00:53,970 --> 00:00:58,200 >> Цяпер, адной з прычын што мы вучым PHP ў CS50 20 00:00:58,200 --> 00:01:01,020 з'яўляецца тое, што ён у значнай ступені натхнёныя С. І на самай справе, на мой погляд, 21 00:01:01,020 --> 00:01:05,140 Ёсць сапраўды двух мовы папярэднікі, што 22 00:01:05,140 --> 00:01:08,200 вельмі распаўсюджаны ў наш час. 23 00:01:08,200 --> 00:01:10,110 З і LISP. 24 00:01:10,110 --> 00:01:13,280 І яны мовах папярэднікаў таму што кожны іншы сучаснага праграмавання 25 00:01:13,280 --> 00:01:17,380 мова, які распрацаваў з тых часоў натхнёныя 26 00:01:17,380 --> 00:01:20,330 адзін ці іншы сінтаксічна. 27 00:01:20,330 --> 00:01:26,160 PHP вельмі падобны сінтаксічна З, у той час як моў, такіх як Scheme, 28 00:01:26,160 --> 00:01:27,900 Напрыклад, які Вы, магчыма, чулі пра, 29 00:01:27,900 --> 00:01:32,070 у значнай ступені натхнёныя мове называецца LISP, які з'яўляецца стары мову. 30 00:01:32,070 --> 00:01:34,220 >> Так што прычына мы вучым PHP ў CS50, што, 31 00:01:34,220 --> 00:01:37,730 ведаючы C як прынцыпова як вы робіце ў дадзены момант, 32 00:01:37,730 --> 00:01:41,280 падымаючы PHP, якая дае Вам здольнасць рабіць рэчы значна больш высокія ўзроўню 33 00:01:41,280 --> 00:01:44,710 чым З робіць, не што многае з перашкода, 34 00:01:44,710 --> 00:01:48,230 таму што ў вас ужо ёсць Асноўная ідэя сінтаксісу. 35 00:01:48,230 --> 00:01:50,590 З была вакол на працягу амаль 45 гадоў у гэтай кропцы. 36 00:01:50,590 --> 00:01:52,780 PHP быў вакол на працягу прыблізна 20 гадоў. 37 00:01:52,780 --> 00:01:57,080 І ў тым, што 25 гадоў паміж праграмістамі, 38 00:01:57,080 --> 00:02:01,540 Устаноўлена, што яны будуць нашмат а маюць больш высокія здольнасці ўзроўню, 39 00:02:01,540 --> 00:02:04,970 і памылкі і барацьба з 20 гадоў у паміж 40 00:02:04,970 --> 00:02:08,210 прывяло да PHP і іншых сучасных моў. 41 00:02:08,210 --> 00:02:11,039 >> PHP, вялікі выбар мова для праграмнага забеспячэння 42 00:02:11,039 --> 00:02:14,042 што allow-- для Праграмнае забеспячэнне that-- дзе вы 43 00:02:14,042 --> 00:02:16,250 трэба рабіць тое, што ў З фактычна складаней. 44 00:02:16,250 --> 00:02:18,480 Так, напрыклад, працуе са радкамі ў C 45 00:02:18,480 --> 00:02:21,709 вельмі складаная, таму як мы ведаем, у C радкоў 46 00:02:21,709 --> 00:02:23,250 сапраўды проста масівы знакаў. 47 00:02:23,250 --> 00:02:25,230 Гэта не з'яўляецца убудаваным у тып дадзеных. 48 00:02:25,230 --> 00:02:28,220 Або, магчыма, больш важна, тое, што мы нават не пакрываюць ў C, 49 00:02:28,220 --> 00:02:30,360 што, калі вам трэба зрабіць, некаторыя кампутарныя сеткі? 50 00:02:30,360 --> 00:02:30,860 Усё ў парадку? 51 00:02:30,860 --> 00:02:34,920 >> З валодае здольнасцю рабіць гэта, але гэта так таямніцай і так цяжка на самай справе. 52 00:02:34,920 --> 00:02:37,580 Не было б нядрэнна, калі б Мова быў пабудаваны ў лёгкі шлях, 53 00:02:37,580 --> 00:02:38,910 ажыццявіць сетак? 54 00:02:38,910 --> 00:02:43,420 І PHP з'яўляецца мовай, які робіць, што або палягчае, што зусім трохі больш. 55 00:02:43,420 --> 00:02:47,740 Як я ўжо сказаў, PHP вельмі моцна натхнілі па С. сінтаксіс вельмі падобны. 56 00:02:47,740 --> 00:02:51,760 І так, будзем спадзявацца, зрабіць Пераход ад аднаго да іншага 57 00:02:51,760 --> 00:02:54,710 трохі мякчэй, чым некаторыя іншыя мовы можа быць. 58 00:02:54,710 --> 00:02:58,800 >> Каб пачаць пісаць PHP, проста адкрыйце файл з пашырэннем .php файлаў. 59 00:02:58,800 --> 00:03:00,670 Тэхнічна гэта не на самай справе патрабуецца, 60 00:03:00,670 --> 00:03:04,495 але калі вы хочаце нешта накшталт сінтаксісу вылучаючы ў IDE, так што тыпу 61 00:03:04,495 --> 00:03:07,620 імёны, або імёны зменных, функцыі, Вы ведаеце, ключавыя словы мовы 62 00:03:07,620 --> 00:03:10,090 выдзелены ў пэўны колер, вы, як правіла 63 00:03:10,090 --> 00:03:14,020 хачу называць свае файлы з канкрэтны файл з пашырэннем. 64 00:03:14,020 --> 00:03:18,430 Так мы назвалі наш файл з .php пашырэнне, але затым таксама з PHP, 65 00:03:18,430 --> 00:03:23,310 усе PHP код мы пішам, што Файл павінен быць заключаны ў гэтых PHP 66 00:03:23,310 --> 00:03:25,190 падзельнікі, якія мы бачым Тут на экране. 67 00:03:25,190 --> 00:03:27,910 Куток? PHP, каб пачаць. 68 00:03:27,910 --> 00:03:30,860 Тады мы пішам усе нашы PHP код, які мы хочам паміж імі. 69 00:03:30,860 --> 00:03:32,260 А потым? 70 00:03:32,260 --> 00:03:34,710 дужка, каб закрыць. 71 00:03:34,710 --> 00:03:37,170 >> Калі мы не зробім гэтага, то што адбудзецца? 72 00:03:37,170 --> 00:03:38,170 Гэта не збіраецца да краху. 73 00:03:38,170 --> 00:03:39,410 Гэта не збіраецца сапраўды разбурыць нашу праграму. 74 00:03:39,410 --> 00:03:41,440 Але гэта не будзе мець эфект, які мы хочам. 75 00:03:41,440 --> 00:03:44,540 Што адбудзецца, сапраўды, што, калі мы спрабуем запусціць гэтую праграму, 76 00:03:44,540 --> 00:03:50,330 усё, што не паміж гэтымі падзельнікамі збіраецца быць раздрукаваныя даслоўна. 77 00:03:50,330 --> 00:03:52,210 Гэта не збіраецца на самай справе выканаць код, 78 00:03:52,210 --> 00:03:56,010 гэта будзе проста раздрукаваць яго даслоўна. 79 00:03:56,010 --> 00:03:57,320 >> Цяпер, чаму гэта адбываецца? 80 00:03:57,320 --> 00:04:00,416 Так С, што вядома як скампіляваны мове. 81 00:04:00,416 --> 00:04:03,040 Вы, напэўна, знаёмыя з крок робіць вашыя праграмы, 82 00:04:03,040 --> 00:04:07,820 ператвараючы .c файлы і файлы .h ў адзін выкананы файл з маркам, 83 00:04:07,820 --> 00:04:11,130 у прыватнасці, з дапамогай Clang ў якасці нашага кампілятара. 84 00:04:11,130 --> 00:04:13,030 PHP, хоць, не ёсць гэты эквівалент. 85 00:04:13,030 --> 00:04:15,600 PHP з'яўляецца тое, што называецца інтэрпрэтаваная мова. 86 00:04:15,600 --> 00:04:16,760 І што гэта значыць? 87 00:04:16,760 --> 00:04:20,680 >> Ну, гэта азначае, што мы не павінны пераўтварыць наш зыходны код нулёў і адзінак 88 00:04:20,680 --> 00:04:21,470 загадзя. 89 00:04:21,470 --> 00:04:23,900 Хутчэй за ўсё, ёсць праграма, які таксама называюць 90 00:04:23,900 --> 00:04:29,771 PHP, які разумее PHP і можаце сартаваць зрабіць гэта на лета. 91 00:04:29,771 --> 00:04:32,520 Гэта на самай справе не зусім дакладныя, але гэта даволі добрая аналогія 92 00:04:32,520 --> 00:04:33,760 што адбываецца. 93 00:04:33,760 --> 00:04:37,230 Гэта тыя, інтэрпрэтацыі нулёў і адзінак на лета. 94 00:04:37,230 --> 00:04:40,160 І таму, калі ён не ведае, як апрацоўваць нешта, 95 00:04:40,160 --> 00:04:42,800 калі ён не ведае, як Працэс PHP, вы, верагодна, 96 00:04:42,800 --> 00:04:44,680 хацеў паставіць, што тэкст там, праўда? 97 00:04:44,680 --> 00:04:48,960 >> Вы, напэўна, хацелі паставіць код у там, нават калі гэта не паміж PHP-- 98 00:04:48,960 --> 00:04:50,035 PHP-падзельнікі. 99 00:04:50,035 --> 00:04:51,910 Но-- так ён не збіраецца каб выдаліць яго для вас, 100 00:04:51,910 --> 00:04:53,576 гэта проста будзе ў асноўным адкінуць яго. 101 00:04:53,576 --> 00:04:55,550 Так што гэта ў друк гэта, каб на экране. 102 00:04:55,550 --> 00:04:57,150 >> Гэта здаецца, што гэта дрэнная рэч, але на самой справе гэта 103 00:04:57,150 --> 00:04:58,220 будзе сапраўды добрая рэч, як мы будзем 104 00:04:58,220 --> 00:05:00,390 бачыць, калі мы гаворым пра Вэб-распрацоўкі PHP, 105 00:05:00,390 --> 00:05:04,010 таму што гэта азначае, што мы можам перасыпаць PHP і HTML. 106 00:05:04,010 --> 00:05:06,640 Мы можам выкарыстоўваць іх разам, каб стварыць больш дынамічны вэб-старонкі. 107 00:05:06,640 --> 00:05:10,650 Але аб гэтым у відэа па вэб-распрацоўцы PHP. 108 00:05:10,650 --> 00:05:12,021 >> Так што сінтаксіс PHP? 109 00:05:12,021 --> 00:05:13,520 Гэта тое, што гэта відэа з'яўляецца ўсё аб. 110 00:05:13,520 --> 00:05:14,850 Давайце пагаворым пра гэта. 111 00:05:14,850 --> 00:05:16,490 >> Такім чынам, каб пачаць, зменныя. 112 00:05:16,490 --> 00:05:18,030 Існуюць PHP зменныя. 113 00:05:18,030 --> 00:05:20,067 Ёсць толькі два вялікіх адрозненні ад С. 114 00:05:20,067 --> 00:05:21,900 Па-першае, ёсць няма тып спецификатор. 115 00:05:21,900 --> 00:05:24,245 Мы не павінны гаварыць Int, сімвал, паплавок, і ўсё такое. 116 00:05:24,245 --> 00:05:25,620 Мы не павінны гэтага рабіць. 117 00:05:25,620 --> 00:05:26,810 PHP гэта сучасны мову. 118 00:05:26,810 --> 00:05:28,910 Гэта можа высветліць, што вы спрабуюць рабіць лепшы 119 00:05:28,910 --> 00:05:30,451 думаю, каб тое, што вы спрабуеце зрабіць. 120 00:05:30,451 --> 00:05:31,700 Так што гэта даволі прыемна. 121 00:05:31,700 --> 00:05:35,330 >> Іншая справа, што ўсе зменныя Імёны павінны пачаць са знака даляра. 122 00:05:35,330 --> 00:05:36,940 Гэта проста нешта, каб прывыкнуць да. 123 00:05:36,940 --> 00:05:39,496 Гэта крыху дзіўна, таму што гэта так, што PHP можа зразумець 124 00:05:39,496 --> 00:05:40,870 што зменную, а што не. 125 00:05:40,870 --> 00:05:43,340 Такім чынам, кожны імя зменнай пачынаецца з знака даляра. 126 00:05:43,340 --> 00:05:46,884 Такім чынам, у C мы маглі б сказаць што-то як гэта, INT х = 54. 127 00:05:46,884 --> 00:05:48,550 Мы не павінны гэтага рабіць у PHP. 128 00:05:48,550 --> 00:05:52,540 Мы можам толькі сказаць, $ х = 54. 129 00:05:52,540 --> 00:05:55,920 І мы маглі б сказаць, напрыклад, у C, калі б мы фунт-уключаў .h CS50 130 00:05:55,920 --> 00:06:00,314 Файл загалоўка, можна сказаць, Радок фраза = "Гэта CS50." 131 00:06:00,314 --> 00:06:01,980 Мы не павінны рабіць гэта ў PHP, хоць. 132 00:06:01,980 --> 00:06:04,865 Мы можам толькі сказаць, $ фразу = "Гэта CS50." 133 00:06:04,865 --> 00:06:08,760 І на самай справе, радок цяпер убудаваны тып дадзеных у PHP, 134 00:06:08,760 --> 00:06:10,950 ці, хутчэй, PHP разумее тое, што радок з'яўляецца. 135 00:06:10,950 --> 00:06:15,612 Гэта асобны з ​​масіва сімвалаў, як гэта ў З 136 00:06:15,612 --> 00:06:17,570 Усе вашыя любімыя ўмоўныя заявы C 137 00:06:17,570 --> 00:06:19,520 па-ранейшаму даступныя для выкарыстання. 138 00:06:19,520 --> 00:06:21,140 Так што няма вялікай пераход ёсць. 139 00:06:21,140 --> 00:06:23,400 Мы можам say-- мы можам мець калі заявы, як гэта. 140 00:06:23,400 --> 00:06:28,210 калі ў $ 43, або $ г = 15. 141 00:06:28,210 --> 00:06:29,690 Так што гэта даволі проста. 142 00:06:29,690 --> 00:06:31,980 Мы можам мець, калі і яшчэ. 143 00:06:31,980 --> 00:06:34,210 Мы можам мець, калі і яшчэ калі. 144 00:06:34,210 --> 00:06:36,430 >> І звярніце ўвагу, што-то вельмі прыемна тут, і гэта 145 00:06:36,430 --> 00:06:39,620 з'яўляецца свайго роду адзін з тых Перавагі PHP ў параўнанні з C, апавяшчэння 146 00:06:39,620 --> 00:06:41,510 якія функцыі мы тут не карыстаецеся? 147 00:06:41,510 --> 00:06:47,737 Мы выкарыстоўваем == для параўнання Пераменная, імя $, у радок. 148 00:06:47,737 --> 00:06:49,070 Мы не маглі зрабіць гэта ў C, праўда? 149 00:06:49,070 --> 00:06:53,200 Мы павінны былі выкарыстаць функцыю з імем StrComp або StrEndComp або любы 150 00:06:53,200 --> 00:06:54,840 з звязаных з стрыечнымі братамі. 151 00:06:54,840 --> 00:06:56,980 >> І так, мы ўжо бачым гэтыя перавагі. 152 00:06:56,980 --> 00:07:00,930 Мы не павінны рабіць нешта гэтак жа па-дурному, або, магчыма, неинтуитивными 153 00:07:00,930 --> 00:07:03,540 а выклікаць функцыю пад назвай StrComp калі я проста хачу, каб праверыць 154 00:07:03,540 --> 00:07:05,237 ўраўноўваецца Ці значэнне радка. 155 00:07:05,237 --> 00:07:07,820 Я мог бы проста выкарыстоўваць роўны роўных, як я мог бы зрабіць што-небудзь яшчэ. 156 00:07:07,820 --> 00:07:09,560 Так што перавага. 157 00:07:09,560 --> 00:07:13,350 >> Часам, дарэчы, вы можаце см, калі яшчэ ў адно слова, ElseIf. 158 00:07:13,350 --> 00:07:14,910 І гэта нармальна ў PHP, а таксама. 159 00:07:14,910 --> 00:07:17,020 Так што часам вы можаце ўбачыць, што. 160 00:07:17,020 --> 00:07:17,790 Гэта не памылка друку. 161 00:07:17,790 --> 00:07:21,830 PHP на самой справе разумее, ElseIf. 162 00:07:21,830 --> 00:07:23,980 Я не ведаю, чаму яны вырашыў ажыццявіць гэта, 163 00:07:23,980 --> 00:07:28,220 але, як мы бачылі шмат разоў на працягу ўсёй нашай відэа да гэтага часу, 164 00:07:28,220 --> 00:07:30,460 мы праграмісты любяць яго, калі мы можам зрабіць усё хутка, 165 00:07:30,460 --> 00:07:33,660 так, каб пазбавіцца ад гэтага прасторы па-відаць, з'яўляецца вялікім перавагай. 166 00:07:33,660 --> 00:07:34,800 >> Дык вось, калі і ElseIf. 167 00:07:34,800 --> 00:07:37,540 У нас таксама ёсць патройны аператар, водгук знак пытання тоўстай кішкі, 168 00:07:37,540 --> 00:07:43,262 для сапраўды кароткай форме, калі яшчэ або ўмоўнае галінаванне. 169 00:07:43,262 --> 00:07:45,470 І, мабыць, у тым, тое, што мы спрабуем зрабіць тут 170 00:07:45,470 --> 00:07:49,720 гэта прызначыць зменную $ Ліст альбо сапраўдным, альбо памылковае, 171 00:07:49,720 --> 00:07:54,110 у залежнасці ад таго вар $ алфавітны сімвал. 172 00:07:54,110 --> 00:07:57,320 Так што гэта вельмі падобна на IsAlpha што мы знаёмыя з С. 173 00:07:57,320 --> 00:07:59,010 Гэта свайго роду эквівалент у PHP. 174 00:07:59,010 --> 00:08:01,550 Функцыя па-відаць, называецца ctype_alpha, 175 00:08:01,550 --> 00:08:03,450 але гэта, як мы робім гэта ў PHP. 176 00:08:03,450 --> 00:08:08,560 Так што ўсё гэта будзе ў тым, калі $ Var гэты ліст, ліст $ дакладна. 177 00:08:08,560 --> 00:08:13,820 Калі $ Var не пісьмо, $ Ліст з'яўляецца ілжывым. 178 00:08:13,820 --> 00:08:15,820 >> У нас таксама ёсць перамыкач заявы яшчэ. 179 00:08:15,820 --> 00:08:17,870 Нагадаем, тых, ад З, а таксама. 180 00:08:17,870 --> 00:08:22,480 На самым версе там, гэта, як мы робім нешта накшталт Get INT ці атрымаць радок. 181 00:08:22,480 --> 00:08:23,845 Такім чынам, PHP мае, што пабудаваны ў. 182 00:08:23,845 --> 00:08:25,470 Мы не павінны бібліятэку CS50 больш. 183 00:08:25,470 --> 00:08:27,237 Мы можам проста выкарыстоўваць функцыю Readline. 184 00:08:27,237 --> 00:08:29,820 Тое, што гэта збіраецца зрабіць, гэта раздрукаваць з паведамлення, "Ваш дзяржава, 185 00:08:29,820 --> 00:08:33,820 калі ласка ", а затым міргае радок чакае ўводу карыстальнікам 186 00:08:33,820 --> 00:08:34,739 некаторая інфармацыя. 187 00:08:34,739 --> 00:08:36,530 Зараз звернеце ўвагу, што яшчэ мы можам зрабіць з выключальнікам. 188 00:08:36,530 --> 00:08:39,105 Калі вы выкарыстоўвалі яго раней, Вы можаце ўспомніць, што перамыкач 189 00:08:39,105 --> 00:08:44,960 абмяжоўваецца даволі шмат цэлых лікаў і сімвалы, але зараз мы можам выкарыстоўваць радка. 190 00:08:44,960 --> 00:08:50,190 І на самай справе, пераход сабе у PHP зусім няшмат больш гнуткім 191 00:08:50,190 --> 00:08:54,880 чым яго стрыечны брат з З 192 00:08:54,880 --> 00:08:55,380 Завесы. 193 00:08:55,380 --> 00:08:58,130 Гэтак жа, як ўмоўныя, усё Вашы старыя фаварыты ўсё яшчэ там. 194 00:08:58,130 --> 00:09:00,740 У нас ёсць у той час як завесы, разлічваць ад 1 да 100 у гэтым выпадку. 195 00:09:00,740 --> 00:09:03,940 Мы ў той час як завесы рабіць што лічыць ад 1 да 100, 196 00:09:03,940 --> 00:09:06,200 і ў нас ёсць для завес што лічыць ад 1 да 100. 197 00:09:06,200 --> 00:09:07,220 Так што няма вялікі скачок там. 198 00:09:07,220 --> 00:09:09,360 Сінтаксіс даволі шмат сапраўды гэтак жа, 199 00:09:09,360 --> 00:09:11,760 толькі зараз мы выкарыстоўваем Пераменная знак даляра замест 200 00:09:11,760 --> 00:09:17,260 дэкларавання цэлалікавых зменных або нешта падобнае для нашых прылаўках. 201 00:09:17,260 --> 00:09:20,090 >> Вось дзе ўсё становіцца нашмат лепш, чым C, хоць. 202 00:09:20,090 --> 00:09:21,020 Масівы. 203 00:09:21,020 --> 00:09:23,020 Так памятаю, калі мы былі казаць аб З, для таго, 204 00:09:23,020 --> 00:09:25,560 для нас, каб расці і скарачацца наборы інфармацыі, 205 00:09:25,560 --> 00:09:28,310 нам трэба адсартаваць дэфолту да гэтай ідэі звязанага спісу, 206 00:09:28,310 --> 00:09:30,780 таму што C масівы фіксаванага памеру. 207 00:09:30,780 --> 00:09:31,800 Мы не маглі паменшыць іх. 208 00:09:31,800 --> 00:09:32,930 Мы не маглі вырошчваць іх. 209 00:09:32,930 --> 00:09:36,074 Нам давялося пераразмеркаваць памяць і рабіць усё гэта вар'яцтва 210 00:09:36,074 --> 00:09:38,490 або выкарыстоўваць звязаныя спісы, якія ўзяць крыху больш прасторы. 211 00:09:38,490 --> 00:09:41,590 Але ў PHP, масівы ня фіксаваны памер больш. 212 00:09:41,590 --> 00:09:43,240 Яны могуць расці, і яны могуць скарачацца. 213 00:09:43,240 --> 00:09:46,660 Такім чынам, яшчэ раз, гэтыя 20 гадоў, што існуе паміж першым выпускам З 214 00:09:46,660 --> 00:09:49,440 і першы выпуск PHP, мы вырашылі, што, ведаеце, 215 00:09:49,440 --> 00:09:51,670 гэта было б сапраўды выдатна калі б мы маглі зрабіць гэта. 216 00:09:51,670 --> 00:09:54,100 І так мы рэалізавалі гэта. 217 00:09:54,100 --> 00:09:58,040 >> Так PHP масівы не фіксуецца ў памер, і таму, што PHP на самай справе не 218 00:09:58,040 --> 00:10:03,090 ёсць праграміст пярэднюю облицовку- Паняцці тыпаў, 219 00:10:03,090 --> 00:10:05,110 мы можам змяшаць тыпы дадзеных у нашых масівах, таксама. 220 00:10:05,110 --> 00:10:08,100 Такім чынам, мы нават не павінны выкарыстоўваць усе цэлыя або ўсе плаваюць пункту, 221 00:10:08,100 --> 00:10:12,826 мы можам мець спалучэнне ўсіх розныя віды ў адным масіве. 222 00:10:12,826 --> 00:10:14,700 Аб'яву масіва даволі простая. 223 00:10:14,700 --> 00:10:16,116 Гэта проста, як і любы іншы зменнай. 224 00:10:16,116 --> 00:10:20,020 $ НУМС = масіў (1, 2, 3, 4), масіў з'яўляецца функцыяй 225 00:10:20,020 --> 00:10:22,760 што ўбудаваны ў PHP, што створыць масіў для вас. 226 00:10:22,760 --> 00:10:28,315 Гэта стварае масіў з чатырох значэнняў, Лічбы ў гэтым выпадку, называюць $ Nums. 227 00:10:28,315 --> 00:10:29,940 І ёсць больш чым адзін спосаб зрабіць гэта. 228 00:10:29,940 --> 00:10:32,420 І мы збіраемся ўбачыць гэта шмат у PHP. 229 00:10:32,420 --> 00:10:36,380 PHP быў распрацаваны шмат розных людзі і расце і расце і расце. 230 00:10:36,380 --> 00:10:40,050 Там, як правіла, не толькі два ці тры спосабу зрабіць што-то ў PHP, 231 00:10:40,050 --> 00:10:42,170 там, як правіла, як 10 або 20. 232 00:10:42,170 --> 00:10:45,300 Вось толькі яшчэ адзін агульны спосаб абвясціць масіў. 233 00:10:45,300 --> 00:10:48,310 $ НУМС = квадратных дужак 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 Так што гэта свайго роду падобныя на кут С у br-- кучаравыя абазначэння дужкі, а. $ - 235 00:10:53,170 --> 00:10:58,525 ці гэта будзе INT НУМС плошчы Кранштэйны роўная фігурную дужку 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 У PHP гэта $ НУМС = квадрат Кранштэйны 1, 2, 3, 4. 237 00:11:02,710 --> 00:11:08,920 Але і з гэтых прыкладаў тут даюць мне масіў з чатырох чалавек у гэтым выпадку цэлых лікаў. 238 00:11:08,920 --> 00:11:10,920 >> Што рабіць, калі я хачу што-то лавіраваць цяпер? 239 00:11:10,920 --> 00:11:14,760 Ну што я магу толькі сказаць, $ НУМС 4, зноў жа, мы ўсё яшчэ лічачы ад 0 тут 240 00:11:14,760 --> 00:11:17,800 у PHP, будзе пяты элемент масіва. 241 00:11:17,800 --> 00:11:18,990 Я магу толькі сказаць, што. 242 00:11:18,990 --> 00:11:22,860 Я не збіраюся пакутаваць SEG віна, таму што мой масіў толькі 243 00:11:22,860 --> 00:11:24,337 будзе расці, каб прыстасаваць гэта. 244 00:11:24,337 --> 00:11:25,420 Гэта даволі прыемна, праўда? 245 00:11:25,420 --> 00:11:28,400 І на самай справе, я нават не трэба паказаць, дзе я хачу, каб пакласці яго. 246 00:11:28,400 --> 00:11:31,220 Я магу толькі сказаць, гэта і проста лавіраваць гэта права да канца, 247 00:11:31,220 --> 00:11:34,099 ці я мог нават проста скажам, $ 20 ці Nums 1000. 248 00:11:34,099 --> 00:11:35,140 Гэта сапраўды не мае значэння. 249 00:11:35,140 --> 00:11:38,330 Гэта яшчэ толькі збіраецца лавіраваць гэта права да канца. 250 00:11:38,330 --> 00:11:41,490 >> Так што я магу расці, і мы as-- не збіраецца, каб пакрыць яго тут, 251 00:11:41,490 --> 00:11:45,360 але я магу злучыць або паласа элементы з масіва, а таксама, 252 00:11:45,360 --> 00:11:50,064 і масіў будзе скарачацца, каб прыстасаваць што цяпер адсутнічае або пустое прастору. 253 00:11:50,064 --> 00:11:52,230 Там яшчэ адзін спосаб лавіраваць то ў масіў, 254 00:11:52,230 --> 00:11:54,330 якая з'яўляецца функцыяй называецца array_push. 255 00:11:54,330 --> 00:11:57,860 Такім чынам, яшчэ раз, толькі ў гэтым думка пра тое, ў стане зрабіць рэчы па-рознаму. 256 00:11:57,860 --> 00:12:01,950 Такім чынам, мы бачылі тры розныя спосабы ў цяперашні час каб прымацаваць іншы элемент у масіў. 257 00:12:01,950 --> 00:12:06,900 Такім чынам, гэта дадае яшчэ адзін элемент да канца масіва $ Nums. 258 00:12:06,900 --> 00:12:08,340 І мы можам змяшаць нашы тыпы дадзеных. 259 00:12:08,340 --> 00:12:13,110 Так што я мог ёсць масіў ня 1, 2, 3, 4, але 1, праўда, 3, 4, 260 00:12:13,110 --> 00:12:16,420 дзе праўда з'яўляецца лагічным, а затым калі я хачу, каб лавіраваць на іншы элемент 261 00:12:16,420 --> 00:12:20,860 у гэтым масіве, магчыма, радок, радок "пяць", я мог бы зрабіць гэта. 262 00:12:20,860 --> 00:12:26,110 А цяпер мой масіў будзе быць 1, праўда, 3, 4, пяць. 263 00:12:26,110 --> 00:12:28,640 Слова пяць, ня цэлы лік 5. 264 00:12:28,640 --> 00:12:31,270 Так шмат гнуткасці там. 265 00:12:31,270 --> 00:12:33,290 >> Гнуткасць атрымлівае нават лепш, хоць, 266 00:12:33,290 --> 00:12:37,530 Паколькі PHP падтрымлівае тое называецца асацыятыўным масівам. 267 00:12:37,530 --> 00:12:40,660 І мы накшталт цьмяна казалі аб асацыятыўныя масівы ў C 268 00:12:40,660 --> 00:12:44,740 у кантэксце хэш-табліц, таму што тое, што асацыятыўныя масівы на самай справе ўсё 269 00:12:44,740 --> 00:12:48,950 аб робяць ключ адлюстравання значэнне пара. 270 00:12:48,950 --> 00:12:53,410 І ў гэтым выпадку, калі keys-- мы знаёмыя з масівамі з C, 271 00:12:53,410 --> 00:12:55,440 ключы індэксны. 272 00:12:55,440 --> 00:12:57,530 0, 1, 2, 3. 273 00:12:57,530 --> 00:13:03,070 І тое, што значэння мы знаходзім, што Масіў 0, 1 масіў, масіў 2, і гэтак далей. 274 00:13:03,070 --> 00:13:06,310 Такім чынам, ключы індэксы, і значэння 275 00:13:06,310 --> 00:13:10,060 што ў гэтым месцы масіва, паказана, што індэкс. 276 00:13:10,060 --> 00:13:15,130 >> Але ў PHP, мы не павінны рабіць гэта Паняцце масіва 0, масіў 1, масіў 2 277 00:13:15,130 --> 00:13:15,830 больш. 278 00:13:15,830 --> 00:13:21,025 Цяпер мы можам выкарыстоўваць фактычныя словы на карту ключы значэнняў. 279 00:13:21,025 --> 00:13:22,650 І таму я мог сказаць нешта накшталт гэтага. 280 00:13:22,650 --> 00:13:26,710 Я мог бы стварыць масіў з дапамогай квадрат сінтаксіс наступным кранштэйн. 281 00:13:26,710 --> 00:13:30,685 $ Піцы = квадратная дужка "сыр", а затым 282 00:13:30,685 --> 00:13:37,210 такога роду двайны запісу стрэлкай, 8.99, "пепперони," стрэлка 10.99-- 9,99, 283 00:13:37,210 --> 00:13:37,880 і гэтак далей. 284 00:13:37,880 --> 00:13:39,060 І так, што ж тут адбываецца? 285 00:13:39,060 --> 00:13:41,040 Што я на самой справе рабіць? 286 00:13:41,040 --> 00:13:43,990 Я ствараю ключавых адлюстравання пары значэнняў. 287 00:13:43,990 --> 00:13:49,060 Такім чынам, замест таго, каб гаварыць, напрыклад, піца 0, шт 1, 2, піцы 288 00:13:49,060 --> 00:13:52,350 Цяпер я магу сказаць, піцы сыр, піца пепперони, 289 00:13:52,350 --> 00:13:55,120 і ставяцца да значэнняў звязаныя з імі. 290 00:13:55,120 --> 00:13:56,970 >> Дык вось нашы ключы ў зялёны колер. 291 00:13:56,970 --> 00:13:59,870 Сыр, Пепперони, раслінны, тураў курыца. 292 00:13:59,870 --> 00:14:04,200 Вось стрэлка, які робіць гэты ключ адлюстраванне значэнне пара. 293 00:14:04,200 --> 00:14:07,420 А потым тут значэння у гэтым месцы масіве. 294 00:14:07,420 --> 00:14:10,330 Так што гэта, як кажуць масіў 0 роўны 8,99. 295 00:14:10,330 --> 00:14:11,720 Ключ 0. 296 00:14:11,720 --> 00:14:13,600 Значэнне 8,99. 297 00:14:13,600 --> 00:14:19,370 Цяпер я магу сказаць, масіў сыр, або ў гэтым Справа піцы, сыр з'яўляецца ключавым, 298 00:14:19,370 --> 00:14:23,340 і што я знаходжу ў піца сыр 8.99. 299 00:14:23,340 --> 00:14:25,540 Гэта значэнне, што я знаходжу там. 300 00:14:25,540 --> 00:14:28,124 >> Таму я магу сказаць рэчы, як. $ Піцы сыр = 7.99. 301 00:14:28,124 --> 00:14:29,040 Сказаць, што я з продажу. 302 00:14:29,040 --> 00:14:31,750 Я хачу dis-- Я хачу адмовіцца цана піцы сыру. 303 00:14:31,750 --> 00:14:35,620 Ці я магу выкарыстоўваць раслінны піца як частка стану, 304 00:14:35,620 --> 00:14:39,990 ці я магу дадаць новы элемент у мой Масіў, як я мог зрабіць раней. 305 00:14:39,990 --> 00:14:44,680 Я магу дадаць новы элемент у гэтым Асацыятыўны масіў з ключом "бекон" 306 00:14:44,680 --> 00:14:49,250 і значэнне 13.49. 307 00:14:49,250 --> 00:14:53,820 >> Але гэта свайго роду ўяўляе праблему, калі вы думаеце пра гэта ні на секунду. 308 00:14:53,820 --> 00:14:55,721 Як бы мы перабору масіва? 309 00:14:55,721 --> 00:14:56,220 Дакладна? 310 00:14:56,220 --> 00:14:59,820 У C, мы б проста мець цыкл, звычайна, што 311 00:14:59,820 --> 00:15:03,650 будзе працаваць ад 0 да памер масіва мінус 1. 312 00:15:03,650 --> 00:15:08,060 Масіў мае п элементаў у ў, то Дапушчальныя індэксы ад 0 да N мінус 1. 313 00:15:08,060 --> 00:15:11,530 Такім чынам, мы маглі б выкарыстоўваць цыкл для крок праз кожны аднаго элемента. 314 00:15:11,530 --> 00:15:13,530 >> Але гэта на самай справе не так больш, ці не так? 315 00:15:13,530 --> 00:15:17,360 Цяпер, калі ў нас ёсць ключ значэнне пары адлюстравання, дзе ключы словы, 316 00:15:17,360 --> 00:15:19,970 як мы перабраць усе словы? 317 00:15:19,970 --> 00:15:22,420 Ну, на шчасце, ёсць PHP спосаб справіцца з гэтым таксама, 318 00:15:22,420 --> 00:15:24,580 і таму мы будзем скакаць назад каб завесы на секунду 319 00:15:24,580 --> 00:15:30,780 ўвесці чацвёрты выгляд завесы, існуе ў PHP называецца цыкл па кожнаму элементу. 320 00:15:30,780 --> 00:15:34,430 І тое, што цыкл па кожнаму элементу робіць гэта ў асноўным тая ж ідэя. 321 00:15:34,430 --> 00:15:36,060 Вы можаце выкарыстоўваць яго для любога віду масіва. 322 00:15:36,060 --> 00:15:38,100 Але гэта ў асноўным Тая ж ідэя, як цыкл, 323 00:15:38,100 --> 00:15:40,750 акрамя замест індэксны, вы проста 324 00:15:40,750 --> 00:15:45,830 ёсць гэты дзіўны сінтаксіс дзе Вы называеце кожны элемент 325 00:15:45,830 --> 00:15:47,550 імя для мэт гэтага цыклу. 326 00:15:47,550 --> 00:15:49,258 >> Такім чынам, у гэтым выпадку, Еогеасп ($ масіў, як $ ключ). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 У прынцыпе, у тым, што каментар нот, ўнутры гэтага цыкл па кожнаму элементу, 329 00:15:56,450 --> 00:16:00,466 ён збіраецца перайсці кожны элемент масіва $, які, як правіла 330 00:16:00,466 --> 00:16:03,340 будзе асацыятыўным масівам, але сапраўды можа быць любы выгляд масіва 331 00:16:03,340 --> 00:16:05,419 што вы хочаце ў PHP. 332 00:16:05,419 --> 00:16:07,210 І кожны раз, што ў для цыклу вы маглі 333 00:16:07,210 --> 00:16:13,780 сказаў $ масіва ў квадратных дужках $ Я, вы маглі б проста сказаць $ ключ. 334 00:16:13,780 --> 00:16:22,340 Так што $ ключ становіцца псеўданім кожны Індэкс вашага PHP асацыятыўны масіў, 335 00:16:22,340 --> 00:16:23,710 і таму вы можаце выкарыстоўваць яго як што. 336 00:16:23,710 --> 00:16:25,897 >> Так, напрыклад, мы ў Зараз атрымалі наш піцы масіў. 337 00:16:25,897 --> 00:16:27,730 Я накшталт засунуў яго у куце 338 00:16:27,730 --> 00:16:31,080 так што мы можам выкарыстоўваць яго, каб зрабіць хуткі прыклад. 339 00:16:31,080 --> 00:16:36,420 Калі я кажу, Foreach ($ піцы як $ Піцы), ну, што ж адбываецца? 340 00:16:36,420 --> 00:16:42,400 Ну, я збіраюся перабору кожны адзін элемент масіва $ піцы, 341 00:16:42,400 --> 00:16:46,670 і такім чынам, я збіраюся патэлефанаваць кожны элемент, калі я ўнутры 342 00:16:46,670 --> 00:16:49,400 цела, што для цыклу, $ піцу. 343 00:16:49,400 --> 00:16:52,440 >> Дык вось роду стаяць у, нагадаем, што $ піцы 344 00:16:52,440 --> 00:16:59,140 з'яўляецца намеснікам для кажучы $ Піца квадратныя дужкі $ I 345 00:16:59,140 --> 00:17:03,370 калі б мы выкарыстоўвалі для цыклу, дзе мы можа ісці ад $ = 0, каб у гэтым выпадку, 346 00:17:03,370 --> 00:17:06,089 $ Я = 3. 347 00:17:06,089 --> 00:17:09,780 Калі ў нас не было пары ключ-значэнне Тут, гэта было б элементам 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 і мы хацелі б выкарыстоўваць для цыклу, каб пайсці $ Піцы 0, $ 1 піца, піца $ 2, 349 00:17:16,390 --> 00:17:17,750 $ Піцы 3. 350 00:17:17,750 --> 00:17:23,130 Так што цяпер толькі $ піца падстаўляючы для гэтага асобнага ключа. 351 00:17:23,130 --> 00:17:25,630 >> Так што гэта збіраецца друкаваць? 352 00:17:25,630 --> 00:17:29,030 Я друкую $ піцу. 353 00:17:29,030 --> 00:17:35,270 Што я збіраюся знайсці at-- калі я раздрукаваць $ піцу, $ я? 354 00:17:35,270 --> 00:17:35,770 Дакладна? 355 00:17:35,770 --> 00:17:38,680 Калі я збіраюся раздрукаваць й элемент піцы, 356 00:17:38,680 --> 00:17:40,070 што я буду друкаваць? 357 00:17:40,070 --> 00:17:42,580 Я збіраюся раздрукаваць Значэння ў гэтым месцы, праўда? 358 00:17:42,580 --> 00:17:45,370 Падобна гэтаму, калі мы рабілі гэта ў кантэксце C, 359 00:17:45,370 --> 00:17:49,786 мы звычайна не выкарыстоўваюць наш итератор Пераменная, INT = 0, я менш, чым 3, 360 00:17:49,786 --> 00:17:52,900 я ++, раздрукаваць 0, 1, 2, 3. 361 00:17:52,900 --> 00:17:57,500 Мы друкуем з масіва 0, Масіў 1, масіў 2, 3 масіў. 362 00:17:57,500 --> 00:17:59,580 І так, што гэта выводзіць гэта. 363 00:17:59,580 --> 00:18:01,150 Гэта спіс цэнаў. 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 >> Цяпер невялікае заўвага тут. 366 00:18:06,900 --> 00:18:10,900 Цыкл па кожнаму элементу не абавязкова раздрукаваць рэчы ў парадку. 367 00:18:10,900 --> 00:18:12,770 Гэта не гарантавана. 368 00:18:12,770 --> 00:18:13,550 Гэта звычайна робіць. 369 00:18:13,550 --> 00:18:17,667 Гэта, як правіла, на падставе загаду ў якія элементы будуць дададзеныя ў масіў, 370 00:18:17,667 --> 00:18:18,750 так што проста майце гэта на ўвазе. 371 00:18:18,750 --> 00:18:20,830 Гэта не можа быць у парадку. 372 00:18:20,830 --> 00:18:23,930 Але цыкл па кожнаму элементу будзе паўтараць па кожнай элемента 373 00:18:23,930 --> 00:18:25,060 масіва ў пытанні. 374 00:18:25,060 --> 00:18:27,980 У гэтым выпадку, зноў жа, што масіў $ піцы. 375 00:18:27,980 --> 00:18:32,920 >> Я магу змяніць сінтаксіс, хоць, калі Хачу ключ і значэнне. 376 00:18:32,920 --> 00:18:37,179 Замест таго каб сказаць $ піцы а $ піцы, я магу сказаць, што гэта. 377 00:18:37,179 --> 00:18:39,470 І калі вы паглядзіце на тое, што я вылучаныя зялёным колерам тут, 378 00:18:39,470 --> 00:18:42,130 гэта выглядае як ключавы адлюстравання значэнне пар. 379 00:18:42,130 --> 00:18:45,980 І таму, калі you--, нават калі вы не зусім упэўнены, што гэта будзе рабіць, 380 00:18:45,980 --> 00:18:49,300 Вы можаце здагадацца, што $ далівання збіраецца 381 00:18:49,300 --> 00:18:53,800 каб стаць ключавым у дадзеным выпадку і $ Цана будзе значэнне. 382 00:18:53,800 --> 00:18:59,200 Так што я ў цяперашні час замены кожны элемент з $ піцы як ключавы пары значэнняў, 383 00:18:59,200 --> 00:19:03,900 і цяпер я магу звярнуцца да ключа і значэнне, якія маглі б спатрэбіцца, 384 00:19:03,900 --> 00:19:05,590 напрыклад, наступным чынам. 385 00:19:05,590 --> 00:19:10,170 >> "Цэлы" - гэта шмат друк адбываецца here-- "ў цэлым" 386 00:19:10,170 --> 00:19:17,300 далівання "піца каштуе $" цану, а затым Я раздрукаваць перыяд і зваротнай касой п. 387 00:19:17,300 --> 00:19:23,420 Так што цяпер, апавяшчэнне зноў у мяне ёсць доступ да ключ, $ далівання, а значэнне, $ цана. 388 00:19:23,420 --> 00:19:26,647 Так вы можаце здагадацца, што гэта будзе раздрукаваць? 389 00:19:26,647 --> 00:19:29,480 Там вельмі шмат друкаваных заяў, але ёсць толькі адзін зваротны слеш п, 390 00:19:29,480 --> 00:19:33,410 так што гэта надрукаваць што-небудзь на entire-- на адной радку кода. 391 00:19:33,410 --> 00:19:36,965 >> Калі я магу звярнуцца да ключа і значэнне, то зараз, 392 00:19:36,965 --> 00:19:39,090 а не проста быць у стане раздрукаваць коштаў, 393 00:19:39,090 --> 00:19:41,330 Я магу надрукаваць нешта накшталт гэтага. 394 00:19:41,330 --> 00:19:43,780 "Цэлы піца сыр каштуе $ 8,99." 395 00:19:43,780 --> 00:19:47,150 А цяпер я выкарыстоўваю ўсе keys-- сыр, пепперони, гародніна, 396 00:19:47,150 --> 00:19:49,640 буйвал chicken-- і значэння. 397 00:19:49,640 --> 00:19:53,980 8.99, 9.99, 10.99, 11.99 Так гэта проста іншы спосаб 398 00:19:53,980 --> 00:19:57,840 зрабіць цыкл па кожнаму элементу, што замест проста даць вам доступ да значэнняў, 399 00:19:57,840 --> 00:20:02,950 ён проста дае you-- гэта дае вам Доступ да ключоў і значэнняў. 400 00:20:02,950 --> 00:20:04,411 >> Так раздрукоўкі інфармацыі. 401 00:20:04,411 --> 00:20:07,410 Я ўжо зрабіў гэта пару розныя спосабы, вы, магчыма, заўважылі. 402 00:20:07,410 --> 00:20:11,080 Гэтыя дзве функцыі, перш за ўсё, мы ў бачыў у друку і рэха. 403 00:20:11,080 --> 00:20:14,380 А для амаль ўсіх намераў і Мэты, яны сапраўды гэтак жа. 404 00:20:14,380 --> 00:20:17,130 They're-- ёсць вельмі тонкая Розніца, што нават не варта 405 00:20:17,130 --> 00:20:21,130 патрапіць у, але ў асноўным ўсюды Вы можаце выкарыстоўваць друк можна, верагодна, выкарыстоўваць 406 00:20:21,130 --> 00:20:22,370 рэха, а таксама. 407 00:20:22,370 --> 00:20:23,610 >> І гэта не толькі два. 408 00:20:23,610 --> 00:20:26,970 PHP мае шмат розных спосабу друку рэчы, 409 00:20:26,970 --> 00:20:30,520 а таксама мае магчымасці інтэграцыі Зменныя ў сярэдзіне радка. 410 00:20:30,520 --> 00:20:32,860 Так, памятаеце з C, ты памятаеце, што функцыя 411 00:20:32,860 --> 00:20:37,580 мы можам выкарыстоўваць, каб замяніць зменныя у тое, што мы хочам, каб раздрукаваць? 412 00:20:37,580 --> 00:20:40,160 Вы, напэўна, выкарыстоўваць гэта функцыянаваць даволі шмат. 413 00:20:40,160 --> 00:20:42,290 Printf, праўда? 414 00:20:42,290 --> 00:20:45,290 Так што гэта тое, што мы мелі да ўнутры у кантэксце нашай цыкл па кожнаму элементу. 415 00:20:45,290 --> 00:20:48,000 Мы мелі гэтыя пяць асобныя выказванні друку, 416 00:20:48,000 --> 00:20:50,330 таму што гэта быў адзіны як я на самой справе ведаў у той час 417 00:20:50,330 --> 00:20:52,450 як раздрукаваць паведамленні. 418 00:20:52,450 --> 00:20:59,560 Я не ведаю, як інтэграваць Зменная $ далівання ў маёй PHP кода. 419 00:20:59,560 --> 00:21:03,700 Ну, калі я проста ўзяў дзікіх здагадацца, Printf, на самай справе працаваў бы. 420 00:21:03,700 --> 00:21:08,980 Printf з'яўляецца функцыяй што я магу выкарыстоўваць у PHP, як я магу выкарыстоўваць яго ў С. 421 00:21:08,980 --> 00:21:11,880 >> І так-то, як гэта, Printf, зноў, мы знаёмыя з гэтым. 422 00:21:11,880 --> 00:21:16,420 Першы% s замяняецца са значэннем $ чале. 423 00:21:16,420 --> 00:21:19,700 Другі% s замяняецца са значэннем $ цане. 424 00:21:19,700 --> 00:21:22,630 І таму я interpellating, якая з'яўляецца проста мудрагелісты спосаб 425 00:21:22,630 --> 00:21:25,400 сказаць, што я ўстаўляць зменныя ў гэтым месцы. 426 00:21:25,400 --> 00:21:31,000 Так што я падлучэння $ далівання, дзе чырвоны% s з'яўляецца і $ цана, дзе сіні% s 427 00:21:31,000 --> 00:21:36,060 ёсць, і тады я хацеў бы атрымаць паведамленне, "Цэлы піца сыр каштуе $ 8,99." 428 00:21:36,060 --> 00:21:37,750 >> Не толькі так я магу гэта зрабіць, хоць. 429 00:21:37,750 --> 00:21:39,760 Можа быць, я хацеў бы выкарыстаць гэты метад. 430 00:21:39,760 --> 00:21:44,890 Гэта на самай справе тое, што найбольш часта называецца пераменная запыт. 431 00:21:44,890 --> 00:21:45,690 Я магу выкарыстоўваць рэха. 432 00:21:45,690 --> 00:21:47,737 Я мог бы выкарыстаць друк таксама, як мы ўбачым. 433 00:21:47,737 --> 00:21:48,820 Але што тут адбываецца? 434 00:21:48,820 --> 00:21:51,520 >> Перш за ўсё, я павінен пазбегнуць знак даляра. 435 00:21:51,520 --> 00:21:55,140 Таму што памятаю, калі мы былі на самай справе раздрукаваць цэны піцы, 436 00:21:55,140 --> 00:21:59,370 Я на самой справе фарматаванне іх грашовыя паказчыкі са знакам даляра. 437 00:21:59,370 --> 00:22:05,635 Але мы выкарыстоўваем знакі даляра таксама прадстаўляць імёны зменных у PHP, 438 00:22:05,635 --> 00:22:08,010 і, у прыватнасці, калі я з дапамогай гэтага метаду ў фігурных 439 00:22:08,010 --> 00:22:10,040 Пераменная дужка Метад запыт, мне трэба 440 00:22:10,040 --> 00:22:13,490 каб пазбегнуць маёй знак даляра так што гэта не думаю, што я кажу пра зменнай. 441 00:22:13,490 --> 00:22:16,920 Гэта на самай справе адбываецца, каб, літаральна надрукаваць знак даляра. 442 00:22:16,920 --> 00:22:19,530 >> Так накшталт аналогію яго Вы бачыце ў канцы там. 443 00:22:19,530 --> 00:22:22,832 Гэта на самай справе не друк зваротны слеш н, праўда? 444 00:22:22,832 --> 00:22:24,290 Гэта друкуе сімвал новага радка. 445 00:22:24,290 --> 00:22:26,750 Гэта is-- гэта не збіраецца друк знак зваротнай касой долар, 446 00:22:26,750 --> 00:22:30,130 гэта будзе проста раздрукаваць знак даляра знак. 447 00:22:30,130 --> 00:22:30,640 Тая ж самая ідэя. 448 00:22:30,640 --> 00:22:32,760 Ўцёкі паслядоўнасці, тое, што гэтыя рэчы называюцца. 449 00:22:32,760 --> 00:22:37,080 >> Але заўважце, што я не раблю любы від% S замен, 450 00:22:37,080 --> 00:22:40,050 Я проста літаральна затыкаць У гэтых зменных. 451 00:22:40,050 --> 00:22:45,110 І так у this-- што здарыцца тут з'яўляецца тое, што кошт $ topping-- зноў, 452 00:22:45,110 --> 00:22:48,390 проста адпавядае таму, што мы былі ідзе аб так far-- сыру б атрымаць 453 00:22:48,390 --> 00:22:49,720 падлучаны там. 454 00:22:49,720 --> 00:22:54,780 І $ цана будзе ўсё значэнне на піцу, квадратныя дужкі, сыр, 455 00:22:54,780 --> 00:22:56,270 які быў 8,99. 456 00:22:56,270 --> 00:23:01,860 І так гэта было таксама раздрукаваць "Цэлы піца сыр каштуе $ 8,99." 457 00:23:01,860 --> 00:23:05,160 І як я ўжо сказаў, я мог бы выкарыстаць раздрукаваць тут замест рэха, 458 00:23:05,160 --> 00:23:08,040 і функцыянальнасць быць у значнай ступені тое ж самае. 459 00:23:08,040 --> 00:23:09,660 Было б раздрукаваць тое ж самае. 460 00:23:09,660 --> 00:23:12,680 >> Там яшчэ адзін спосаб зрабіць гэта, і гэта з'яўляецца яшчэ адным перавагай 461 00:23:12,680 --> 00:23:14,710 РНР працы са радкамі. 462 00:23:14,710 --> 00:23:17,130 Мы можам зрабіць канкатэнацыі. 463 00:23:17,130 --> 00:23:19,660 Мы маглі б зрабіць гэта ў C, таксама, выкарыстоўваючы функцыю, званую strcat, 464 00:23:19,660 --> 00:23:21,180 але зноў жа, мы павінны былі выклікаць асобныя функцыі. 465 00:23:21,180 --> 00:23:22,640 Гэта быў увесь гэты беспарадак, каб зрабіць. 466 00:23:22,640 --> 00:23:24,590 Нам давялося фунт-ўключаюць string.h. 467 00:23:24,590 --> 00:23:25,780 Гэта была вытворчасць, праўда? 468 00:23:25,780 --> 00:23:30,070 Але цяпер я магу проста выкарыстаць гэты аператар кропка для аб'яднання радкоў разам. 469 00:23:30,070 --> 00:23:34,910 >> Так што я аб'яднаннем "ў цэлым" і то ўсё значэнне $ разваротных ёсць 470 00:23:34,910 --> 00:23:38,860 а потым яшчэ Радок, "выдаткі піцы $" 471 00:23:38,860 --> 00:23:42,340 а затым аб'яднання незалежна значэнне $ цане, 472 00:23:42,340 --> 00:23:45,670 а затым у самым канцы я лавіруючы на ​​перыяд зваротнай касой п. 473 00:23:45,670 --> 00:23:47,926 І так гэта было таксама раздрукаваць "ў цэлым", - яшчэ раз, 474 00:23:47,926 --> 00:23:50,550 калі мы кажам аб першай элемент гэтай піцы array-- 475 00:23:50,550 --> 00:23:54,710 "Цэлы піца сыр каштуе $ 8,99." 476 00:23:54,710 --> 00:24:01,260 Перыяд, зваротны слеш п, зноў жа, з $ Далівання і $ цана замяняе 477 00:24:01,260 --> 00:24:06,580 за тое, што мы паказана ў нашым Еогеасп цыкл у якасці ключавой адлюстравання значэнне пар. 478 00:24:06,580 --> 00:24:08,050 >> PHP можа апрацоўваць функцыі. 479 00:24:08,050 --> 00:24:11,250 Функцыі былі свайго роду неад'емнай C, як мы бачылі. 480 00:24:11,250 --> 00:24:14,870 Як зменных, мы не павінны пазначыць тып якое вяртаецца функцыяй, 481 00:24:14,870 --> 00:24:16,350 таму што гэта на самай справе не мае значэння. 482 00:24:16,350 --> 00:24:18,660 І мы не паказаць Тыпы дадзеных параметраў, альбо 483 00:24:18,660 --> 00:24:21,410 таму што яны на самой справе не Справа, як мы бачылі ў PHP. 484 00:24:21,410 --> 00:24:24,510 Кожная функцыя ўводзіцца з функцыяй ключавое слова. 485 00:24:24,510 --> 00:24:27,920 Вось як мы пазначыць выкліку, якія тое, што мы гаворым пра функцыі. 486 00:24:27,920 --> 00:24:29,720 >> І мы не павінны справу з галоўным наогул, 487 00:24:29,720 --> 00:24:33,690 таму што інтэрпрэтатар, PHP перакладчык, працуе зверху ўніз, 488 00:24:33,690 --> 00:24:34,190 незалежна. 489 00:24:34,190 --> 00:24:35,640 Калі бачыць, што вы можаце зрабіць выклік функцыі, то гэта 490 00:24:35,640 --> 00:24:37,850 пайсці знайсці выклік функцыі, нават калі гэта прыходзіць пазней. 491 00:24:37,850 --> 00:24:40,360 Але гэта будзе чытаць зверху знізу, такім чынам, мы не павінны паказаць, 492 00:24:40,360 --> 00:24:41,500 вось дзе вы пачынаеце. 493 00:24:41,500 --> 00:24:46,700 Вы пачынаеце на лініі 1 Ваш PHP і працаваць адтуль ўніз. 494 00:24:46,700 --> 00:24:49,690 >> Дык вось, як бы мы стварыць функцыя называецца hard_square. 495 00:24:49,690 --> 00:24:54,100 Гэта, па-відаць займае адно параметр, які я тэлефаную $ х. 496 00:24:54,100 --> 00:24:58,424 Гэтая функцыя ўскладняецца толькі каб праілюстраваць розныя рэчы. 497 00:24:58,424 --> 00:24:59,590 У нас яшчэ ёсць вяртаюцца значэння. 498 00:24:59,590 --> 00:25:00,870 Я выкарыстоўваю для цыклу тут. 499 00:25:00,870 --> 00:25:04,970 Але гэта ў асноўным проста, што гэта складае ўсяго $ х раз $ х. 500 00:25:04,970 --> 00:25:10,520 Тое, што я на самой справе робіць, проста дадаўшы х да 0 х раз, або $ х $ да нуля х разоў. 501 00:25:10,520 --> 00:25:15,850 Але гэта эфектыўна менавіта гэтак жа, як множанне $ х раз $ х. 502 00:25:15,850 --> 00:25:18,700 Я да гэтага часу можа вяртаць значэнне, у гэтым выпадку $ выніку 503 00:25:18,700 --> 00:25:22,060 і я зрабіў функцыю ў PHP. 504 00:25:22,060 --> 00:25:24,160 >> Вось як вы можаце выкарыстоўваць яго ў кантэксце. 505 00:25:24,160 --> 00:25:26,020 Так, можа быць, я ўнутры некаторага PHP-файл. 506 00:25:26,020 --> 00:25:29,240 Звярніце ўвагу, у сінім, што там Я выкарыстаў мае PHP падзельнікі, 507 00:25:29,240 --> 00:25:31,010 дужка знак пытання PHP. 508 00:25:31,010 --> 00:25:35,180 Між тым, усе з РНР, што я хачу пісаць. 509 00:25:35,180 --> 00:25:37,840 Так што я, мабыць, збіраецца get-- Я збіраюся прапанаваць карыстачу 510 00:25:37,840 --> 00:25:41,550 каб даць мне нумар, магазін, Пераменная, краму ў гэтым зменнай $ х, 511 00:25:41,550 --> 00:25:43,320 усё, што яны мне далі. 512 00:25:43,320 --> 00:25:48,590 Тады я іду да рэха hard_square гэтага значэння, 513 00:25:48,590 --> 00:25:50,370 па-відаць, адбываецца і лавіраваць на новай лініі 514 00:25:50,370 --> 00:25:53,590 а таксама, а потым я табе Вызначым функцыю hard_square так 515 00:25:53,590 --> 00:25:55,550 што, калі я зрабіць каб патэлефанаваць у hard_square, 516 00:25:55,550 --> 00:25:58,160 гэта ведае, што я кажу. 517 00:25:58,160 --> 00:26:00,705 >> Зараз, я мог бы таксама зрабіць нешта накшталт гэтага. 518 00:26:00,705 --> 00:26:02,050 Гэта крыху адрозніваецца. 519 00:26:02,050 --> 00:26:04,190 Гэта амаль дакладна гэтак жа, як тое, што мы бачылі раней, 520 00:26:04,190 --> 00:26:08,400 акрамя замест таго каб сказаць усяго $ х там, як параметр hard_square, 521 00:26:08,400 --> 00:26:11,730 Я кажу $ х = 10. 522 00:26:11,730 --> 00:26:14,330 Такім чынам, гэта з'яўляецца прыкладам ахоўнае праграмаванне, 523 00:26:14,330 --> 00:26:17,070 ахоўныя свае праграмы супраць зламыснікаў. 524 00:26:17,070 --> 00:26:20,020 >> Гэта адзін са спосабаў, каб зрабіць некаторыя памылкі праверка, што мы сапраўды ня 525 00:26:20,020 --> 00:26:24,670 ёсць у якасці опцыі ў С. Мы ніколі не мог задаць значэнне па змаўчанні нешта. 526 00:26:24,670 --> 00:26:27,010 Мы заўсёды павінны былі праверыць Ці, напрыклад, 527 00:26:27,010 --> 00:26:30,820 калі мы зрабілі выклік GetString, гэта было Найбольш правільным, калі адразу пасля 528 00:26:30,820 --> 00:26:33,300 праверыў, што мы праверылі Ці радкі 529 00:26:33,300 --> 00:26:35,504 што карыстальнік даў нам ня роўны нулю, 530 00:26:35,504 --> 00:26:37,920 таму што мы не хочам, каб пачаць працы з пустым радком. 531 00:26:37,920 --> 00:26:39,670 >> Тут гэта спосаб каб ахоўваць супраць гэтага. 532 00:26:39,670 --> 00:26:43,480 Калі карыстальнік не забяспечвае нам нешта тое, што мы збіраемся рабіць? 533 00:26:43,480 --> 00:26:46,080 Ну, мы проста сказаць усё, што яны не даюць нам, 534 00:26:46,080 --> 00:26:47,705 мы толькі збіраемся падлучыць 10, а. 535 00:26:47,705 --> 00:26:52,030 Так што, калі яны не даюць нам значэнне, проста выкарыстоўваць па змаўчанні 10. І вось, 536 00:26:52,030 --> 00:26:53,940 заўважыць, што я раблю патэлефануеце каб hard_square, 537 00:26:53,940 --> 00:26:55,980 але няма хуткае для карыстальніка, ці не так? 538 00:26:55,980 --> 00:26:57,540 Я проста зрабіць пусты выклік. 539 00:26:57,540 --> 00:27:00,860 >> Але мая функцыя hard_square чакае параметр. 540 00:27:00,860 --> 00:27:02,222 Што гэта будзе раздрукаваць? 541 00:27:02,222 --> 00:27:03,680 Гэта адбываецца, каб раздрукаваць 100, праўда? 542 00:27:03,680 --> 00:27:05,720 Паколькі карыстальнік не зрабіў даць мне што-небудзь. 543 00:27:05,720 --> 00:27:08,970 І таму я проста хачу, каб выказаць здагадку, што 10-- 10 Значэнне па змаўчанні. 544 00:27:08,970 --> 00:27:13,760 І так гэта было надрукаваць з 100 на асобнай радку. 545 00:27:13,760 --> 00:27:16,390 >> PHP файлы не павінны быць толькі адзін файл. 546 00:27:16,390 --> 00:27:19,480 Вы можаце аб'яднаць некалькі файлаў разам, проста, як вы можаце ў C. шлях 547 00:27:19,480 --> 00:27:24,330 мы зрабілі гэта ў C быў, як правіла, каб зрабіць #include, каб атрымаць файлы загалоўкаў выцягнуў ст. 548 00:27:24,330 --> 00:27:26,180 Мы не робім, што ў PHP. 549 00:27:26,180 --> 00:27:29,110 Мы робім тое, што называецца require_once. 550 00:27:29,110 --> 00:27:33,360 А тут яшчэ ўся гэтая рэч, што гэта __dir__? 551 00:27:33,360 --> 00:27:36,510 Вось толькі спецыяльная зменнай або спецыяльная канстанта, 552 00:27:36,510 --> 00:27:39,030 сапраўды, што паказвае, што Ваш бягучы каталог. 553 00:27:39,030 --> 00:27:41,320 І так будзе выглядаць у бягучым каталогу 554 00:27:41,320 --> 00:27:44,900 для файлавай называецца cs50.php у гэтым прыкладзе тут, 555 00:27:44,900 --> 00:27:50,490 і гэта будзе прытрымлівацца гэты файл у верхняй частцы вашай праграмы PHP, 556 00:27:50,490 --> 00:27:56,980 пры ўмове, што ставіш патрабуюць калі лініі ў верхняй частцы вашага PHP файла. 557 00:27:56,980 --> 00:28:01,474 >> Такім чынам, PHP ў асноўным выкарыстоўваецца, але не выключна, выкарыстоўваецца, 558 00:28:01,474 --> 00:28:03,140 як мова для вэб-праграмавання. 559 00:28:03,140 --> 00:28:05,270 Гэта сапраўды, як ён прыйшоў, каб быць. 560 00:28:05,270 --> 00:28:06,980 Але гэта поўны мова, як мы ўжо бачылі. 561 00:28:06,980 --> 00:28:10,105 Мы бачылі даволі шмат усе рэчы што ён можа зрабіць гэта, аналагічныя C, 562 00:28:10,105 --> 00:28:13,290 і гэта можа зрабіць чартоўску нашмат больш, чым гэта. 563 00:28:13,290 --> 00:28:16,950 >> Але таму, што гэта паўнавартасны мова, і мы можна зрабіць камандны радок праграмавання ў ім. 564 00:28:16,950 --> 00:28:18,630 Мы можам запускаць праграмы каманднага радка. 565 00:28:18,630 --> 00:28:22,580 Усё, што патрабуецца, каб запусціць каманду Лінія праграма, якая напісана ў PHP 566 00:28:22,580 --> 00:28:24,260 з'яўляецца тое, што ў вас ёсць РНР. 567 00:28:24,260 --> 00:28:27,460 Так што гэта свайго роду аналагам маючы кампілятар на вашай сістэме 568 00:28:27,460 --> 00:28:31,100 калі вы хочаце, каб скампіляваць C код каб ператварыць яго ў выкананых файлах. 569 00:28:31,100 --> 00:28:33,810 Вы павінны мець перакладчыка PHP што існуе на вашай сістэме 570 00:28:33,810 --> 00:28:37,330 так што вы можаце інтэрпрэтаваць PHP файлаў. 571 00:28:37,330 --> 00:28:40,370 >> Мяркуючы, што вы, як правіла, і Гэты інтэрпрэтатар называюць PHP, 572 00:28:40,370 --> 00:28:44,300 і гэта, як правіла, у камплекце з найбольш загрузкі альбо ўсталявання PHP 573 00:28:44,300 --> 00:28:47,430 што вы можаце атрымаць на сайце, і, вядома, імя перакладчыка PHP 574 00:28:47,430 --> 00:28:49,550 мы маем на CS50, IDE. 575 00:28:49,550 --> 00:28:51,819 Усё, што вам зрабіць, гэта ўвесці PHP файлаў. 576 00:28:51,819 --> 00:28:53,610 І тое, што ваша праграма-х збіраюся зрабіць, гэта гэта 577 00:28:53,610 --> 00:28:55,360 збіраецца запусціць праз перакладчык, гэта 578 00:28:55,360 --> 00:28:58,040 збіраецца ігнараваць усё, што не паміж пытанне mark-- 579 00:28:58,040 --> 00:29:03,160 або дужка знак пытання PHP, PHP-падзельнікі, і раздрукаваць яго, 580 00:29:03,160 --> 00:29:07,660 і будзе інтэрпрэтаваць і выканаць Код ўнутры вашых PHP падзельнікаў. 581 00:29:07,660 --> 00:29:12,850 >> Такім чынам, давайце поп да CS50 IDE і паглядзіце на пару PHP файлаў, 582 00:29:12,850 --> 00:29:19,850 працуе пару PHP файлаў, у інтэрфейс каманднага радка з CS50 IDE. 583 00:29:19,850 --> 00:29:22,100 Дык вось мы ў CS50 IDE, і я ўзяў на сябе смеласць 584 00:29:22,100 --> 00:29:25,800 адкрыцця файла пад назвай hello1.php. 585 00:29:25,800 --> 00:29:29,920 І, мабыць, змесціва гэтага Файл з'яўляюцца толькі PHP падзельнікі там, 586 00:29:29,920 --> 00:29:32,220 і паміж імі, рэха ("прывітанне, свет"). 587 00:29:32,220 --> 00:29:34,710 Гэта даволі простая праграма PHP. 588 00:29:34,710 --> 00:29:37,670 Я проста хачу, каб пракруціць ўніз на мой акне тэрмінала тут, 589 00:29:37,670 --> 00:29:44,320 і я збіраюся ўвесці PHP hello1.php, націсніце ўвод. 590 00:29:44,320 --> 00:29:44,950 Прывітанне, свет. 591 00:29:44,950 --> 00:29:48,110 Гэта, верагодна, тое, што мы былі спадзеючыся, што гэта зрабіць, праўда? 592 00:29:48,110 --> 00:29:51,140 >> Давайце і прыняць Яшчэ адзін погляд на праграму. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 У значнай ступені тое ж самае, ня шмат тут адбываецца. 595 00:29:55,090 --> 00:29:57,190 На гэты раз, хоць, я іду, каб заахвоціць карыстальнік, каб даць мне іх імёны. 596 00:29:57,190 --> 00:29:59,290 Я яшчэ раз, выкарыстоўваючы гэтую функцыю Readline. 597 00:29:59,290 --> 00:30:01,340 $ Назва = Readline. 598 00:30:01,340 --> 00:30:03,070 Гэта хуткае, "Як цябе клічуць?" 599 00:30:03,070 --> 00:30:04,880 >> Мабыць я друк гэта па сваёй уласнай лініі. 600 00:30:04,880 --> 00:30:07,220 А потым, так што лінія ніжэй што будзе хуткае 601 00:30:07,220 --> 00:30:08,750 дзе карыстальнік можа ўвесці сваё імя. 602 00:30:08,750 --> 00:30:12,030 І тады я выкарыстоўваю трохі Пераменная запыт тут на 3 лініі 603 00:30:12,030 --> 00:30:14,780 раздрукаваць "прывітанне" і усе тыпы карыстальнікаў. 604 00:30:14,780 --> 00:30:22,040 Такім чынам, гэта аналагічна кажучы, Прывітанне, Коска,% s, калі мы з дапамогай Printf ў С. 605 00:30:22,040 --> 00:30:24,910 >> Так што давайце ісці і інтэрпрэтаваць гэтую праграму. 606 00:30:24,910 --> 00:30:27,400 Такім чынам, яшчэ раз, я пракруціць ўніз на мой акне тэрмінала. 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 Як цябе зваць? 610 00:30:33,820 --> 00:30:35,490 Дуг. 611 00:30:35,490 --> 00:30:36,526 Прывітанне, Дуг. 612 00:30:36,526 --> 00:30:39,440 У мяне таксама ёсць яшчэ адзін Файл называецца hello3.php. 613 00:30:39,440 --> 00:30:42,850 Я збіраюся ачысціць экран з кіраваннем L, 614 00:30:42,850 --> 00:30:46,210 і я збіраюся выканаць гэта. 615 00:30:46,210 --> 00:30:47,640 Як цябе зваць? 616 00:30:47,640 --> 00:30:49,020 Дуг. 617 00:30:49,020 --> 00:30:49,780 Прывітанне, Дуг. 618 00:30:49,780 --> 00:30:56,540 Такім чынам, паводзіны ідэнтычна hello2.php, але чаму гэта hello3.php? 619 00:30:56,540 --> 00:30:58,040 >> Ну, вось у чым розніца. 620 00:30:58,040 --> 00:31:00,620 У гэтым выпадку апавяшчэнне што ў радку 1 тут, 621 00:31:00,620 --> 00:31:04,270 У мяне ёсць тое, што не у перыяд паміж PHP падзельнікаў. 622 00:31:04,270 --> 00:31:07,760 Я проста друк out-- ці я толькі што ўвялі, "Як цябе клічуць?" 623 00:31:07,760 --> 00:31:12,060 Калі інтэрпрэтатар PHP бачыць гэта, яго паняцця не мае, як інтэрпрэтаваць яго як PHP, 624 00:31:12,060 --> 00:31:15,060 і таму замест таго, няўдачу, гэта проста будзе выплюнуць. 625 00:31:15,060 --> 00:31:19,010 >> Так заўважыць у радку 3 зараз, мой заклік да Readline, няма хуткае больш. 626 00:31:19,010 --> 00:31:21,750 Я проста на самай справе адбываецца, калі, мэтай якіх РНР бачыць гэта, 627 00:31:21,750 --> 00:31:23,400 гэта будзе раздрукаваць "Як цябе зваць?" 628 00:31:23,400 --> 00:31:25,941 Затым ён бачыць, аб, добра, here's-- усё астатняе будзе 629 00:31:25,941 --> 00:31:29,970 інтэрпрэтуецца як PHP, так Вось чаму гэта працуе. 630 00:31:29,970 --> 00:31:34,990 Я не абавязкова падкажуць карыстальнік, мэтай якіх ўнутры Readline, 631 00:31:34,990 --> 00:31:37,490 Я магу проста яго межамі з PHP падзельнікаў 632 00:31:37,490 --> 00:31:41,490 і дазваляюць інтэрпрэтатар проста раздрукаваць яго для мяне. 633 00:31:41,490 --> 00:31:45,364 >> Такім чынам, вы на самой справе не толькі мець адзін набор PHP падзельнікаў 634 00:31:45,364 --> 00:31:46,030 у вашай праграме. 635 00:31:46,030 --> 00:31:49,887 Вы на самой справе можа мець некалькі з іх, адкрыцця і закрыцця іх па меры неабходнасці. 636 00:31:49,887 --> 00:31:51,720 Такім чынам, давайце зірнем на пару праграм 637 00:31:51,720 --> 00:31:55,070 у CS50 IDE, дзе мы праілюстраваць гэтую ідэю правядзення 638 00:31:55,070 --> 00:31:58,376 некалькі камплектаў абмежаванай PHP. 639 00:31:58,376 --> 00:32:02,010 >> ОК, так што я адкрыў файл тут называецца add1.php. 640 00:32:02,010 --> 00:32:03,390 І заўважце, што тут адбываецца. 641 00:32:03,390 --> 00:32:08,077 Як і раней, у мяне ёсць адзін PHP набор падзельнікаў. 642 00:32:08,077 --> 00:32:10,660 Я збіраюся раздрукаваць паведамленне, "Калі ласка, дайце мне нумар." 643 00:32:10,660 --> 00:32:13,394 Тады я іду чытаць радок і захоўваць яго ў зменнай $ num1. 644 00:32:13,394 --> 00:32:14,810 Тады я іду, каб раздрукаваць яшчэ раз. 645 00:32:14,810 --> 00:32:16,310 Дайце мне другі нумар. 646 00:32:16,310 --> 00:32:20,450 Чытайце лінію ад карыстальніка, магазін што яны ўвялі ў ў $ num2. 647 00:32:20,450 --> 00:32:23,980 Дадайце іх разам і захоўваць, што прывесці ў зменнай $ сума, 648 00:32:23,980 --> 00:32:26,180 а затым раздрукаваць, "Аб сума гэтых двух лікаў 649 00:32:26,180 --> 00:32:29,254 ёсць ", а затым интерпеллировать ёсць зменная $ сума. 650 00:32:29,254 --> 00:32:31,170 Так што давайце проста запусціць гэтую праз перакладчыка 651 00:32:31,170 --> 00:32:33,720 каб пацвердзіць, што гэта тое, што мы чакаем. 652 00:32:33,720 --> 00:32:37,540 PHP add1.php. 653 00:32:37,540 --> 00:32:38,665 Калі ласка, дайце мне нумар, 3. 654 00:32:38,665 --> 00:32:40,410 Калі ласка, дайце мне другі нумар, 4. 655 00:32:40,410 --> 00:32:43,370 Сума гэтых двух лікаў 7. 656 00:32:43,370 --> 00:32:45,030 Вось 3 плюс 4. 657 00:32:45,030 --> 00:32:45,530 ДОБРА? 658 00:32:45,530 --> 00:32:47,770 Так нічога не страшна фантазіі ёсць. 659 00:32:47,770 --> 00:32:51,080 >> А цяпер давайце адкрыем add2.php. 660 00:32:51,080 --> 00:32:54,460 Тут я атрымаў пару PHP падзельнікамі наборы ёсць, праўда? 661 00:32:54,460 --> 00:32:59,107 Лініі 1, 3-- лініі 1 і 3 няма PHP падзельнікі. 662 00:32:59,107 --> 00:33:00,940 Таму, калі перакладчык бачыць іх, гэта проста 663 00:33:00,940 --> 00:33:03,220 збіраецца пляваць дакладна тое, што я набраў там ужо. 664 00:33:03,220 --> 00:33:05,011 Дык вось, дзе я рабіць усё мае падказкі. 665 00:33:05,011 --> 00:33:11,220 На лініі 2 і 4, мы бачым, што вельмі знаёмыя $? PHP роду абмежавальнікаў, 666 00:33:11,220 --> 00:33:15,210 так што гэтыя дзве лініі будзе выконваць, як PHP. 667 00:33:15,210 --> 00:33:18,270 І тады на лініі 5, у мяне ёсць гэта дзіўная рэч прама тут, прама? 668 00:33:18,270 --> 00:33:20,480 Гэты кут кранштэйны Пытальнік знак роўнасці. 669 00:33:20,480 --> 00:33:22,660 Я нават павялічыць крыху далей. 670 00:33:22,660 --> 00:33:29,270 Вы можаце бачыць, што гэта тое, што я казаць аб прама, гэта $? =. 671 00:33:29,270 --> 00:33:33,420 >> Аказваецца, што гэта так часта, што прычынай таго, што мы адкрываем набор PHP 672 00:33:33,420 --> 00:33:36,055 падзельнікі, каб раздрукаваць значэнне. 673 00:33:36,055 --> 00:33:37,430 І гэта ўсё, што мы збіраемся рабіць. 674 00:33:37,430 --> 00:33:39,220 Але нават скарачэнне для гэтага. 675 00:33:39,220 --> 00:33:46,490 $? = Па-за PHP скарачэнне для кажучы нешта накшталт $? PHP Эхо сума 676 00:33:46,490 --> 00:33:48,350 з num1 і num2. 677 00:33:48,350 --> 00:33:51,900 Так што гэта проста яшчэ адзін аблічваць для гэтага. 678 00:33:51,900 --> 00:33:55,550 >> Так што, калі я запускаю гэтую праграму, PHP add2.php. 679 00:33:55,550 --> 00:33:57,530 Я маштабу ўніз няшмат. 680 00:33:57,530 --> 00:33:59,000 Калі ласка, дайце мне нумар, 4. 681 00:33:59,000 --> 00:34:00,350 Калі ласка, дайце мне другі нумар. 682 00:34:00,350 --> 00:34:04,650 А так як я на самой справе не хвалюе тыпы дадзеных у PHP, я магу сказаць, 4.8. 683 00:34:04,650 --> 00:34:07,160 Сума гэтых двух лікаў складае 8,8. 684 00:34:07,160 --> 00:34:10,179 Гэтая функцыя паводзіць сябе даволі шмат сапраўды гэтак жа, як і варта было чакаць, 685 00:34:10,179 --> 00:34:10,989 а таксама. 686 00:34:10,989 --> 00:34:13,114 І ў мяне ёсць яшчэ адзін адкрыты тут называецца dice.php. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 Паспрабуйце гэта зноў. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 У мяне ёсць яшчэ адзін тут называецца dice1.php, які таксама, бачыце, 691 00:34:33,280 --> 00:34:37,440 мае той кут кранштэйны пытанне пазначыць роўныя абазначэння знак там, 692 00:34:37,440 --> 00:34:40,659 але звернеце ўвагу, што ў гэтым выпадку я выкліку функцыі рандаў, якія, як вам 693 00:34:40,659 --> 00:34:42,790 б чакаць генеруе выпадковы лік. 694 00:34:42,790 --> 00:34:46,889 "Вы выкінуў", і гэта будзе разлічыць некаторы выпадковы нумар, мод 6 + 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 Так што дасць мне нумар у дыяпазоне ад 1 да 6. 697 00:34:49,989 --> 00:34:53,040 >> Памятаеце, што мод 6 дасць мне лік у дыяпазоне ад 0 да 5, 698 00:34:53,040 --> 00:34:56,630 але калі я імітацыі косткі рулоны, што тое, што я тут раблю, 699 00:34:56,630 --> 00:35:00,040 Я не хачу, каб гэтыя косткі, каб перайсці ад 0 5, я хачу, косці, якія ідуць ад 1 да 6. 700 00:35:00,040 --> 00:35:02,800 І так гэта спосаб атрымаць мне ў дыяпазоне ад 1 да 6. 701 00:35:02,800 --> 00:35:04,720 Я раблю гэта ў два разы. 702 00:35:04,720 --> 00:35:08,630 Такім чынам, відавочна я пракаткі дзве косткі ў гэтай праграме. 703 00:35:08,630 --> 00:35:15,210 >> Так што я буду ачысціць экран, і я зраблю PHP dice1.php. 704 00:35:15,210 --> 00:35:16,640 Вы згарнуў 4 і 2. 705 00:35:16,640 --> 00:35:19,156 І калі я запускаю праграму зноў, вы пракату 5 і 5. 706 00:35:19,156 --> 00:35:21,780 Такім чынам, кожны раз, калі я запусціць праграму, Я атрымліваю розныя нумары, 707 00:35:21,780 --> 00:35:24,280 таму што кожны раз, калі я так, ён пачынае зноў. 708 00:35:24,280 --> 00:35:27,250 Гэта будзе генераваць новы набор выпадковых лікаў для мяне. 709 00:35:27,250 --> 00:35:29,790 >> Так што, калі мы прывыклі да запускаць праграмы з C, 710 00:35:29,790 --> 00:35:32,520 мы прывыклі набіраць ./ назва праграмы, праўда? 711 00:35:32,520 --> 00:35:35,090 Вось як мы зрабілі ўсё нашы праграмы ў C гэтага часу. 712 00:35:35,090 --> 00:35:37,555 Мы можам зрабіць гэта ў PHP, а таксама дадаўшы тое, што называецца 713 00:35:37,555 --> 00:35:40,026 прытон да пачатку нашага PHP-файл. 714 00:35:40,026 --> 00:35:41,400 Я ведаю, што гэта свайго роду дурныя словы. 715 00:35:41,400 --> 00:35:44,540 Гэта скарачэнне хэш выбуху. 716 00:35:44,540 --> 00:35:46,300 Гэта першыя два знака ёсць. 717 00:35:46,300 --> 00:35:50,030 Памятаеце, што мы называем клічнік часта челку ў інфарматыцы. 718 00:35:50,030 --> 00:35:51,690 Яна таксама можа быць рэзкага выбуху. 719 00:35:51,690 --> 00:35:53,273 Там ёсць пара спосабаў інтэрпрэтацыі яго. 720 00:35:53,273 --> 00:35:57,320 Але гэта ў асноўным адмысловы выгляд каманды, што РНР 721 00:35:57,320 --> 00:36:00,160 разумее, як, ну, я хачу Вам выканаць гэтую праграму, 722 00:36:00,160 --> 00:36:05,250 па-відаць, / карыстальнік / бен / PHP, які на самай справе, дзе РНР 723 00:36:05,250 --> 00:36:08,590 спецыяльна жыве ў нашай сістэме. 724 00:36:08,590 --> 00:36:12,530 Так it's--, што тут адбываецца, інтэрпрэтатар разумее, аб, 725 00:36:12,530 --> 00:36:17,270 Я, мабыць, мяркуецца выкарыстаць у гэтай праграме, каб запусціць гэты файл. 726 00:36:17,270 --> 00:36:20,010 І так як дазваляе прапусціць крок 727 00:36:20,010 --> 00:36:22,979 таго, каб сказаць, PHP something.php. 728 00:36:22,979 --> 00:36:25,020 Там яшчэ адна выгада Тут, які з'яўляецца тое, што, калі мы 729 00:36:25,020 --> 00:36:27,320 хочам, каб нашы праграмы на працаваць, як чакалася, мы 730 00:36:27,320 --> 00:36:30,220 трэба зрабіць нешта пад назвай змена правоў доступу да файлаў. 731 00:36:30,220 --> 00:36:33,380 І мы будзем go--, і мы кажам трохі трохі больш змены дазволаў пра файлавыя 732 00:36:33,380 --> 00:36:37,550 у нашым відэа на MVC, але досыць сказаць, што гэта тое, што вам трэба зрабіць, 733 00:36:37,550 --> 00:36:42,760 для таго, каб зрабіць свой .php файлы выкананымі. 734 00:36:42,760 --> 00:36:49,330 Такім чынам, давайце зірнем на гэта як наш апошні прыклад больш у CS50 IDE. 735 00:36:49,330 --> 00:36:53,910 >> Дык вось у IDE ў мяне ёсць два файлы ў гэтым Каталог PHP, якія з'яўляюцца, каб не быць 736 00:36:53,910 --> 00:36:55,310 называецца .php. 737 00:36:55,310 --> 00:36:58,170 У мяне ёсць функцыя, званая add-- У мяне ёсць файл называецца add3 738 00:36:58,170 --> 00:37:00,650 і файл называецца dice2. 739 00:37:00,650 --> 00:37:03,680 Такім чынам, давайце хутка глядзець і адкрыць add3. 740 00:37:03,680 --> 00:37:08,300 І, як вы бачыце, у пачатку майго файла ў мяне ёсць гэты прытон, праўда? 741 00:37:08,300 --> 00:37:11,420 Гэты хэш марка клічнік. 742 00:37:11,420 --> 00:37:15,115 Цяпер вы будзеце, магчыма, таксама заўважыць, што па некаторых прычынах, 743 00:37:15,115 --> 00:37:16,990 Я не ёсць якія-небудзь сінтаксіс вылучаючы больш, 744 00:37:16,990 --> 00:37:20,198 і гэта тое, што я згадваў раней, які быў, што калі я не называю мой файл 745 00:37:20,198 --> 00:37:23,040 .php, я не маюць перавагу падсвятлення сінтаксісу больш. 746 00:37:23,040 --> 00:37:26,220 Гэты файл называецца проста add3. 747 00:37:26,220 --> 00:37:30,960 Так што я магу запусціць яго ў далейшым з ./ add3 і ня ./ add3.php. 748 00:37:30,960 --> 00:37:33,680 >> Такім чынам, reason-- гэта яшчэ добра, гэта па-ранейшаму дзейнічае PHP, 749 00:37:33,680 --> 00:37:37,000 але гэта не падсветкай сінтаксісу, таму што гэты файл не называецца something.php. 750 00:37:37,000 --> 00:37:41,580 Гэта адзінае рэальнае адрозненне тут, плюс прытон. 751 00:37:41,580 --> 00:37:45,170 Такім чынам, давайце паглядзім, што адбываецца, калі Я стараюся і запусціце гэтую праграму. 752 00:37:45,170 --> 00:37:50,780 ./ Add3, як я б з С. Bash. 753 00:37:50,780 --> 00:37:53,190 ./ Дазвол add3 адмоўлена. 754 00:37:53,190 --> 00:37:55,390 Гэта тое, што вы збіраецеся каб убачыць, калі вы забыліся 755 00:37:55,390 --> 00:37:59,280 выкарыстоўваць каманду CHMOD змяніць правы доступу да файла. 756 00:37:59,280 --> 00:38:03,845 >> Як высвятляецца, рэгулярныя PHP файлы не могуць проста быць выкананы. 757 00:38:03,845 --> 00:38:06,970 Яны могуць быць інтэрпрэтаваныя, але мы рабіць нешта крыху рознае тут. 758 00:38:06,970 --> 00:38:07,761 Мы яго выканання. 759 00:38:07,761 --> 00:38:12,970 І таму мне трэба, каб дадаць дазвол выканання, CHMOD а + х да add3. 760 00:38:12,970 --> 00:38:15,680 Тады я магу сказаць ./ add3. 761 00:38:15,680 --> 00:38:16,860 Калі ласка, дайце мне нумар. 762 00:38:16,860 --> 00:38:18,060 5, 6. 763 00:38:18,060 --> 00:38:20,490 Сума гэтых двух лікаў 11. 764 00:38:20,490 --> 00:38:26,530 >> Сапраўды гэтак жа, я ўжо правы змененымі dice2, так што я магу проста набярыце ./ dice2, 765 00:38:26,530 --> 00:38:31,260 Вы згарнуў 1 і 1, вы пракат 5 і 4, і гэтак далей. 766 00:38:31,260 --> 00:38:33,680 >> Дык вось у значнай ступені Ідэя сінтаксісу PHP, праўда? 767 00:38:33,680 --> 00:38:35,221 Там вельмі шмат, каб прайсці, я ведаю. 768 00:38:35,221 --> 00:38:39,160 Але, спадзяюся, вы бачылі, што ў цяперашні час PHP на самай справе не так ужо адрозніваецца ад C 769 00:38:39,160 --> 00:38:43,670 і сапраўды дае нам магчымасць прымаць рэчы на ​​прыступку вышэй або два. 770 00:38:43,670 --> 00:38:48,230 Мы сапраўды не прыйдзецца турбавацца занадта шмат about-- мы сапраўды ня 771 00:38:48,230 --> 00:38:51,605 павінны занадта турбавацца аб дэталі нізкага ўзроўню мы 772 00:38:51,605 --> 00:38:52,980 прыйшлося турбавацца а с З, праўда? 773 00:38:52,980 --> 00:38:56,170 Мы можам засяродзіцца на больш Узровень рэчы, якія PHP 774 00:38:56,170 --> 00:39:01,090 дазваляе нам рабіць і прымаць для разумеюцца, што ён будзе працаваць на нас. 775 00:39:01,090 --> 00:39:04,350 Так гэта дае нам магчымасць зараз, пераход ад С да РНР 776 00:39:04,350 --> 00:39:08,280 каб праграмы, якія з'яўляюцца значна больш Комплекс і, магчыма, значна больш надзейнымі. 777 00:39:08,280 --> 00:39:13,070 >> Так што я спадзяюся, што вы весела працаваць з PHP, і я Дуг Лойд. 778 00:39:13,070 --> 00:39:15,050 Гэта CS50. 779 00:39:15,050 --> 00:39:17,637