1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG LLOYD: ასე რომ, ჩვენ გვაქვს კეთდება ბევრი მუშაობა C, 3 00:00:07,370 --> 00:00:09,536 და C არის მართლაც მაგარი ენის, რადგან იგი გაძლევთ 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 ჩვენ, ალბათ, აპირებს err მხარეს რომელმაც მეტი ენის პერსონალის აშენდა 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 in CS50 20 00:00:58,200 --> 00:01:01,020 ის არის, რომ ის მძიმედ შთაგონებული C. და ფაქტობრივად, ჩემი აზრით, 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 C და 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 ძალიან ჰგავს სინტაქსურად C, ხოლო ენებზე, როგორიცაა სქემა, 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 in CS50 არის, რომ, 31 00:01:34,220 --> 00:01:37,730 იცის C, როგორც ფუნდამენტურად როგორც თქვენ აკეთებთ ამ ეტაპზე, 32 00:01:37,730 --> 00:01:41,280 კრეფა up PHP, რომელიც გაძლევთ უნარი გააკეთოს ბევრად უფრო მაღალ დონეზე რამ 33 00:01:41,280 --> 00:01:44,710 ვიდრე C აკეთებს, არ არის რომ ბევრი დაბრკოლება, 34 00:01:44,710 --> 00:01:48,230 იმიტომ, რომ თქვენ უკვე გაქვთ ძირითადი იდეა სინტაქსი. 35 00:01:48,230 --> 00:01:50,590 C უკვე გარშემო თითქმის 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-- for პროგრამული უზრუნველყოფა that--, სადაც თქვენ 43 00:02:14,042 --> 00:02:16,250 უნდა გავაკეთოთ ყველაფერი, რომ C არის რეალურად რთული. 44 00:02:16,250 --> 00:02:18,480 ასე მაგალითად, სამუშაო სიმები დო 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 >> C აქვს უნარი ამის გაკეთება, მაგრამ ეს ასე arcane და ასე ძნელია რეალურად გავაკეთოთ. 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 ძალიან მძიმედ შთაგონებული მიერ C. სინტაქსი ძალიან ჰგავს. 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 delimiters, რომ ჩვენ ვხედავთ აქ ეკრანზე. 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 ყველაფერი არა იმათ შორის delimiters აპირებს დაიბეჭდება Verbatim. 77 00:03:50,330 --> 00:03:52,210 ეს არ აპირებს რეალურად შეასრულოს კოდი, 78 00:03:52,210 --> 00:03:56,010 ის აპირებს, რომ მხოლოდ დაბეჭდეთ Verbatim. 79 00:03:56,010 --> 00:03:57,320 >> ახლა რატომ არის ასე? 80 00:03:57,320 --> 00:04:00,416 ასე რომ C არის ის, რაც ცნობილია როგორც შედგენილი ენაზე. 81 00:04:00,416 --> 00:04:03,040 თქვენ ალბათ იცნობს ნაბიჯი მიღების თქვენი პროგრამების, 82 00:04:03,040 --> 00:04:07,820 გარდამტეხი გ ფაილი და თ ფაილები ერთ შემსრულებელი გააკეთოს, 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 >> ისე, ეს ნიშნავს, რომ ჩვენ არ უნდა გარდაქმნას ჩვენს კოდის zeros და პირობა 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 და შეიძლება ერთგვარი, რათა ის fly. 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 ეს წერით ვინც zeroes და პირობა შეესრულებინა. 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 delimiters. 99 00:04:50,035 --> 00:04:51,910 But-- ასე რომ ის არ აპირებს წაშლა თქვენთვის, 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 არსებობს მხოლოდ ორი დიდი განსხვავებები C. 114 00:05:20,067 --> 00:05:21,900 პირველი არის ის, რომ იქ არ ტიპის specifier. 115 00:05:21,900 --> 00:05:24,245 ჩვენ არ უნდა ვთქვა, int, char, ათწილადი, ყველა რომ პერსონალი. 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 x = 54. 127 00:05:46,884 --> 00:05:48,550 ჩვენ არ უნდა გავაკეთოთ, რომ აღარ PHP. 128 00:05:48,550 --> 00:05:52,540 შეგვიძლია ვთქვათ $ x = 54. 129 00:05:52,540 --> 00:05:55,920 და შეიძლება ითქვას, მაგალითად, C, თუ ჩვენ ფუნტი მოიცავდა CS50 თ 130 00:05:55,920 --> 00:06:00,314 header ფაილი, შეიძლება ითქვას, სიმებიანი ფრაზა = "ეს არის 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 და სინამდვილეში, string არის ჩაშენებული მონაცემები ტიპის PHP, 134 00:06:08,760 --> 00:06:10,950 უფრო სწორად PHP ესმის რა სტრიქონს. 135 00:06:10,950 --> 00:06:15,612 ეს ცალკე მასივი პერსონაჟების მსგავსად C. 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 ჩვენ შეგვიძლია ვთქვათ, რომ შეგვიძლია, თუ განცხადებებს მოსწონს ეს. 140 00:06:23,400 --> 00:06:28,210 თუ $ y 43, ან $ z = 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 და ეს OK in PHP ასევე. 159 00:07:14,910 --> 00:07:17,020 ასე რომ, ზოგჯერ თქვენ, რომ. 160 00:07:17,020 --> 00:07:17,790 ეს არ არის typo. 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 მაგრამ, როგორც ჩვენ ვნახეთ ბევრი ჯერ მთელი ჩვენი videos, ჯერჯერობით, 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 ჩვენ ასევე გვაქვს ternary ოპერატორი, გაწვევას კითხვის ნიშნის მსხვილი ნაწლავის, 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 დამოკიდებულია თუ არა $ var არის ანბანური ხასიათი. 172 00:07:54,110 --> 00:07:57,320 ასე რომ, ეს არის საკმაოდ მსგავსია isalpha რომ ჩვენ იცნობს C. 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 შეგახსენებთ, იმ C ისევე. 180 00:08:17,870 --> 00:08:22,480 ძალიან ზევით არსებობს, რომ, თუ როგორ გავაკეთოთ რაღაც კიდევ 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 რა, რომ აპირებს ამის გაკეთება არის ბეჭდვის out გაგზავნა, "შენი სახელმწიფო, 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 და სინამდვილეში, შეცვლა განცხადება in PHP საკმაოდ ცოტა უფრო მოქნილი 191 00:08:50,190 --> 00:08:54,880 ვიდრე მისი ბიძაშვილი C. 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 ასე რომ გავიხსენოთ, როდესაც ჩვენ ვსაუბრობთ C, იმისათვის, 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 წლის განმავლობაში, რომელიც არსებობდა შორის პირველი გათავისუფლებას C 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 $ nums = array (1, 2, 3, 4), array, რომ ფუნქცია 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 $ nums = კვადრატული ფრჩხილი 1, 2, 3, 4. 234 00:10:48,310 --> 00:10:53,170 ასე რომ, ეს არის ერთგვარი მსგავსი C- ს კუთხე br-- Curly გაუწიოს notation, საკმაოდ. $ - 235 00:10:53,170 --> 00:10:58,525 ან ეს იქნება int nums მოედანზე ფრჩხილებში ტოლია Curly გაუწიოს 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 In PHP ის $ nums = მოედანზე ფრჩხილებში 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 ისე, მე შემიძლია მხოლოდ ვთქვა $ nums 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 ან მე ვერ კი მხოლოდ ამბობენ $ nums 20 ან 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 მაგრამ შემიძლია splice ან ზოლები ელემენტები გარეთ მასივი, ისევე, 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 ასე რომ, ჩვენ ვნახეთ სამი სხვადასხვა გზა ახლა რომ Tack კიდევ ერთი ელემენტი გადატანა მასივი. 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 ჩვენ ერთგვარი ბუნდოვნად ისაუბრა შესახებ ასოციაციური მასივების დო 268 00:12:40,660 --> 00:12:44,740 კონტექსტში hash მაგიდები, იმიტომ, რომ რა ასოციაციური მასივების მართლაც ყველა 269 00:12:44,740 --> 00:12:48,950 შესახებ მიღების გასაღები ღირებულება წყვილი mappings. 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 $ pizzas = კვადრატული ფრჩხილი "ყველი" და შემდეგ 282 00:13:30,685 --> 00:13:37,210 ეს ერთგვარი ორმაგი ისარი notation, 8.99 ", pepperoni," arrow 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 მე შექმნაში გასაღები ღირებულება წყვილი mappings. 287 00:13:43,990 --> 00:13:49,060 ასე რომ ნაცვლად ამბობდა, მაგალითად, pizzas 0, ცალი 1, pizzas 2, 288 00:13:49,060 --> 00:13:52,350 შემიძლია ახლა ვთქვა pizzas ყველი, pizzas pepperoni, 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 ყველი, pepperoni, ბოსტნეულის, buffalo ქათამი. 292 00:13:59,870 --> 00:14:04,200 აქ არის arrow, რომელიც იღებს გასაღები ღირებულება წყვილი რუკების. 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 შემიძლია ახლა ვთქვა მასივი ყველი, ან ამ შემთხვევაში pizzas ყველი, არის გასაღები, 298 00:14:19,370 --> 00:14:23,340 და რაც მე at pizzas ყველი 8.99. 299 00:14:23,340 --> 00:14:25,540 ეს არის ღირებულება, რომელიც მე იქ. 300 00:14:25,540 --> 00:14:28,124 >> ასე რომ, შემიძლია ვთქვა რამ მინდა. $ pizza ყველი = 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 როგორ ჩვენ iterate მეშვეობით ამ მასივი? 309 00:14:55,721 --> 00:14:56,220 მარჯვენა? 310 00:14:56,220 --> 00:14:59,820 In C, ჩვენ უბრალოდ აქვს ამისთვის მარყუჟის, როგორც წესი, რომელიც 311 00:14:59,820 --> 00:15:03,650 რომ აწარმოებს 0 to ზომა მასივი მინუს 1. 312 00:15:03,650 --> 00:15:08,060 მასივი აქვს n ელემენტების, იმ მოქმედი ინდექსების 0 ო მინუს 1. 313 00:15:08,060 --> 00:15:11,530 ასე რომ, ჩვენ შეგვიძლია გამოვიყენოთ ამისთვის loop ნაბიჯ მეშვეობით თითოეული ელემენტი. 314 00:15:11,530 --> 00:15:13,530 >> მაგრამ ეს არ არის ნამდვილად საქმე აღარაა, არა? 315 00:15:13,530 --> 00:15:17,360 ახლა, სადაც ჩვენ გვაქვს გასაღები ღირებულება წყვილი mappings, სადაც ღილაკები სიტყვა, 316 00:15:17,360 --> 00:15:19,970 როგორ უნდა iterate ყველა სიტყვა? 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 მოუწოდა foreach loop. 320 00:15:30,780 --> 00:15:34,430 და რა foreach loop აკეთებს არის ეს, ძირითადად, იგივე იდეა. 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 სახელი მიზნებისათვის ამ loop. 326 00:15:47,550 --> 00:15:49,258 >> ასე რომ, ამ შემთხვევაში, foreach ($ წყობის $ გასაღები). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 ძირითადად, იმის გამო, რომ კომენტარის აღნიშნავს, შიგნით რომ foreach loop, 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 არ თქვა $ array კვადრატულ ფრჩხილებში $ i, თქვენ შეიძლება უბრალოდ, ვამბობთ $ გასაღები. 334 00:16:13,780 --> 00:16:22,340 ასე რომ, $ გასაღები ხდება alias ყველა ინდექსი თქვენი PHP ასოციაციურ მასივში, 335 00:16:22,340 --> 00:16:23,710 და ასე რომ თქვენ შეგიძლიათ გამოიყენოთ ეს იგრძნობა. 336 00:16:23,710 --> 00:16:25,897 >> ასე მაგალითად, ჩვენ გვაქვს ახლა მივიღე ჩვენი pizzas მასივი. 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 ($ pizzas როგორც $ pizza), ასევე, რა ხდება? 340 00:16:36,420 --> 00:16:42,400 ისე, მე ვაპირებ iterate მეშვეობით ყოველ ერთ ელემენტს მასივი $ pizzas, 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 >> ასე რომ, ერთგვარი დავდგეთ-in, გავიხსენოთ, რომ $ pizza 344 00:16:52,440 --> 00:16:59,140 არის სტენდი წელს ამბობდა $ pizzas კვადრატულ ფრჩხილებში $ i 345 00:16:59,140 --> 00:17:03,370 თუ ჩვენ გამოყენებით ამისთვის მარყუჟის, სადაც ჩვენ შეიძლება წავიდეს ეხლა $ i = 0, ამ შემთხვევაში, 346 00:17:03,370 --> 00:17:06,089 $ i = 3. 347 00:17:06,089 --> 00:17:09,780 თუ ჩვენ არ გვაქვს გასაღები ღირებულება წყვილი აქ, ეს იქნება ელემენტს 0, 1, 2, 3, 348 00:17:09,780 --> 00:17:16,390 და ჩვენ გამოიყენოს ამისთვის loop წასვლა $ 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 ასე რომ, ახლა მხოლოდ $ პიცა შემცვლელი რომ ინდივიდუალური გასაღები. 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-- თუ ამობეჭდოთ $ pizzas, $ i? 354 00:17:35,270 --> 00:17:35,770 მარჯვენა? 355 00:17:35,770 --> 00:17:38,680 თუ მე ვაპირებ ამობეჭდოთ შ ელემენტს pizzas, 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 Like თუ ვაკეთებდით ამ კონტექსტში C, 359 00:17:45,370 --> 00:17:49,786 ჩვენ არ ჩვეულებრივ გამოიყენოთ ჩვენი iterator ცვლადი, int i = 0, i ნაკლებია, ვიდრე 3, 360 00:17:49,786 --> 00:17:52,900 i ++, ამობეჭდოთ 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 და მერე რა ეს ბეჭდავს out არის ეს. 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 Foreach მარყუჟის სულაც არ ბეჭდვა რამ მიზნით. 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 მაგრამ foreach მარყუჟის iterate მასშტაბით თითოეული ელემენტის 373 00:18:23,930 --> 00:18:25,060 მასივი კითხვა. 374 00:18:25,060 --> 00:18:27,980 ამ შემთხვევაში, კიდევ ერთხელ, მასივი $ pizzas. 375 00:18:27,980 --> 00:18:32,920 >> შემიძლია შეცვლის სინტაქსი, თუმცა, თუ მე მინდა ორივე გასაღები და მნიშვნელობა. 376 00:18:32,920 --> 00:18:37,179 იმის ნაცვლად, რომ $ pizzas როგორც $ პიცა, შემიძლია ვთქვა. 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 თქვენ ალბათ შეუძლია გამოიცნოს რომ $ topping აპირებს 381 00:18:49,300 --> 00:18:53,800 იყოს გასაღები ამ შემთხვევაში და $ ფასი იქნება მნიშვნელობა. 382 00:18:53,800 --> 00:18:59,200 ასე რომ, მე შემცვლელი ახლა ყოველ ელემენტს of $ pizzas როგორც გასაღები ღირებულება წყვილი, 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 >> "მთელი" - ეს არის ბევრი ბეჭდვის ხდება აქ "მთელი" 386 00:19:10,170 --> 00:19:17,300 topping "pizza ღირს $" ფასი, და შემდეგ მე ამობეჭდოთ პერიოდში და წარმატებული ო. 387 00:19:17,300 --> 00:19:23,420 ასე რომ, ახლა შეამჩნია, ერთხელ მაქვს ხელმისაწვდომობის გასაღები, $ topping, და ღირებულება, $ ფასი. 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-- ყველი, pepperoni, ბოსტნეულის, 396 00:19:47,150 --> 00:19:49,640 buffalo 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 გავაკეთოთ foreach loop, რომ ნაცვლად მხოლოდ გაძლევთ ხელმისაწვდომობის ღირებულებები, 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 echo ასევე. 407 00:20:22,370 --> 00:20:23,610 >> და ეს არ არის მხოლოდ ორი. 408 00:20:23,610 --> 00:20:26,970 PHP აქვს ბევრი სხვადასხვა გზები ბეჭდვა რამ out, 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 ასე რომ, ეს არის ის, რაც ჩვენ გვქონდა ადრე შიგნით კონტექსტში ჩვენი foreach loop. 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 მე არ ვიცი, როგორ ინტეგრირება ცვლადი $ topping ჩემი PHP კოდი. 419 00:20:59,560 --> 00:21:03,700 ისე, თუ მე მხოლოდ მიღებული ველური ამოიცნობთ, printf, ის რეალურად არ მუშაობდა. 420 00:21:03,700 --> 00:21:08,980 printf არის ფუნქცია, რომელიც მე შეიძლება გამოიყენოს PHP, ისევე, როგორც მე შეიძლება გამოიყენოს იგი C. 421 00:21:08,980 --> 00:21:11,880 >> ასე რომ, რაღაც, printf, კიდევ ერთხელ, ჩვენ იცნობს, რომ. 422 00:21:11,880 --> 00:21:16,420 პირველი% s შეიცვალა ღირებულება $ topping. 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 ასე რომ, მე ჩართვის $ topping, სადაც წითელი% 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 ეს არის რეალურად რა არის ყველაზე ხშირად უწოდებენ ცვლადი interpellation. 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 იმიტომ, რომ მახსოვს, როდესაც ჩვენ რეალურად ბეჭდვის ფასები pizzas, 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 კერძოდ, როდესაც მე ამ მეთოდით, რომ curly 439 00:22:08,010 --> 00:22:10,040 გაუწიოს ცვლადი interpellation მეთოდი, მე უნდა 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 იგი ბეჭდავს out ახალი ხაზი ხასიათი. 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 გაქცევა sequences, რა ამას უწოდებენ. 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 ასე რომ, ამას, რა მოხდებოდა აქ ის არის, რომ ღირებულება $ topping-- ერთხელ, 452 00:22:45,110 --> 00:22:48,390 უბრალოდ შენახვა, რაც ჩვენ უკვე ვსაუბრობთ, ასე far-- ყველი დაიჭერს 453 00:22:48,390 --> 00:22:49,720 plugged არსებობს. 454 00:22:49,720 --> 00:22:54,780 და $ ფასი იქნება რასაც მნიშვნელობა განთავსებულია pizzas, კვადრატულ ფრჩხილებში, ყველი, 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 საქართველოს PHP მუშაობის სიმები. 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 მაგრამ ახლა შემიძლია უბრალოდ გამოიყენოთ ეს dot ოპერატორი to concatenate სიმები ერთად. 469 00:23:30,070 --> 00:23:34,910 >> ასე რომ, მე ინტეგრირების "მთელი" და მაშინ რასაც ღირებულება $ topping არის, 470 00:23:34,910 --> 00:23:38,860 და შემდეგ სხვა სიმებიანი, "პიცა ხარჯები $" 471 00:23:38,860 --> 00:23:42,340 და მაშინ concatenating რასაც ღირებულება $ ფასი, 472 00:23:42,340 --> 00:23:45,670 და შემდეგ ბოლომდე ვარ tacking on პერიოდში წარმატებული ო. 473 00:23:45,670 --> 00:23:47,926 ასე რომ, ეს ასევე ამობეჭდოთ "მთელი" - კიდევ ერთხელ, 474 00:23:47,926 --> 00:23:50,550 თუ ჩვენ ვსაუბრობთ პირველი ელემენტს, რომ pizzas მასივი 475 00:23:50,550 --> 00:23:54,710 "მთელი ყველის პიცა ღირს $ 8.99." 476 00:23:54,710 --> 00:24:01,260 პერიოდი, წარმატებული ო, კიდევ ერთხელ, იმ $ topping და $ ფასი შემცვლელი 477 00:24:01,260 --> 00:24:06,580 რა გვქონდა მითითებული ჩვენი foreach loop როგორც გასაღები ღირებულება წყვილი რუკების. 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 სწორედ ასე მიუთითოს PHP, რომ ის, რაც ჩვენ ვსაუბრობთ ფუნქცია. 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 ეს აშკარად იღებს ერთ-ერთ პარამეტრი, რომელიც მე მოუწოდებდა $ x. 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 მე გამოყენებით ამისთვის loop აქ. 499 00:25:00,870 --> 00:25:04,970 მაგრამ ეს, ძირითადად, მხოლოდ, რა ეს შეადგენს მხოლოდ $ x-ჯერ $ x. 500 00:25:04,970 --> 00:25:10,520 რა მე რეალურად აკეთებს მხოლოდ და დასძინა, x 0 x times ან $ x ნულოვანი $ x-ჯერ. 501 00:25:10,520 --> 00:25:15,850 მაგრამ ეს ეფექტურად ზუსტად იგივე, რაც გამრავლებით $ x-ჯერ $ x. 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 delimiters, 507 00:25:29,240 --> 00:25:31,010 კუთხე bracket კითხვის ნიშნის php. 508 00:25:31,010 --> 00:25:35,180 შორის იმ ყველა , PHP, რომ მინდა დაწერა. 509 00:25:35,180 --> 00:25:37,840 ასე რომ, მე აშკარად აპირებს მივიღო მე ვაპირებ უბიძგონ შესახებ 510 00:25:37,840 --> 00:25:41,550 მომეცი ნომერი, მაღაზიაში, რომელიც ცვლადი, მაღაზიის, რომ ცვლადი $ x, 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 და აშკარად აპირებს რომ Tack ახალი ხაზი 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 გარდა ნაცვლად ამბობდა მხოლოდ $ x იქ, როგორც პარამეტრი hard_square, 521 00:26:08,400 --> 00:26:11,730 მე ვამბობ, $ x = 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 აქვს როგორც ვარიანტი C. ჩვენ ვერასოდეს მიუთითოს რა მნიშვნელობა რაღაც. 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 რომ მომხმარებლის მოგვცა არ არის ტოლი null, 530 00:26:35,504 --> 00:26:37,920 იმიტომ, რომ ჩვენ არ გვინდა, რომ დაიწყოს მუშაობის null სიმებიანი. 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 by default. ასე რომ, აქ, 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 მისაღებად header ფაილი გამოყვანილია. 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 და მას შეუძლია გააკეთოს heck საქართველოს ბევრი მეტია. 563 00:28:13,290 --> 00:28:16,950 >> მაგრამ რადგან ეს არის სრული ენა და ჩვენ შეგიძლიათ გააკეთოთ command line პროგრამირების იგი. 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 არის, რომ თქვენ გაქვთ PHP თარჯიმანი. 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 ან კუთხე bracket კითხვის ნიშნის PHP, რომ PHP delimiters, და ამობეჭდოთ, 580 00:29:03,160 --> 00:29:07,660 და ეს ინტერპრეტაცია და შეასრულოს კოდი შიგნით თქვენი PHP delimiters. 581 00:29:07,660 --> 00:29:12,850 >> მოდით პოპ მეტი CS50 IDE და აქვს შევხედოთ რამდენიმე PHP ფაილები, 582 00:29:12,850 --> 00:29:19,850 სულ რამდენიმე PHP ფაილები, ბრძანების ინტერფეისი of 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 delimiters იქ, 586 00:29:29,920 --> 00:29:32,220 და მათ შორის, echo ("Hello, World"). 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 Hello, world. 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 $ name = 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 და მაშინ მე გამოყენებით ცოტა ცვლადი interpellation აქ ხაზი 3 603 00:30:12,030 --> 00:30:14,780 ამობეჭდოთ "Hello" და რასაც მომხმარებლის ტიპის. 604 00:30:14,780 --> 00:30:22,040 ასე რომ, ეს არის ანალოგიური ამბობდა, Hello, მძიმე,% s თუ ჩვენ გამოყენებით printf in C. 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 Doug. 611 00:30:35,490 --> 00:30:36,526 Hello, Doug. 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 Doug. 617 00:30:49,020 --> 00:30:49,780 Hello, Doug. 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 delimiters. 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 >> ასე რომ შეამჩნია on line 3 ახლა, ჩემი მოწოდება readline, არ არსებობს დროული მთელი მსოფლიოს მასშტაბით. 626 00:31:19,010 --> 00:31:21,750 მე უბრალოდ რეალურად აპირებს, რომელთა მიზანია, როდესაც PHP ინტერპრეტატორი ხედავს, 627 00:31:21,750 --> 00:31:23,400 ის აპირებს ამობეჭდოთ "რა გქვია?" 628 00:31:23,400 --> 00:31:25,941 მაშინ ის ხედავს, oh, OK, 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 delimiters 632 00:31:37,490 --> 00:31:41,490 და საშუალებას თარჯიმანი უბრალოდ ამობეჭდოთ ჩემთვის. 633 00:31:41,490 --> 00:31:45,364 >> ასე რომ, თქვენ არ რეალურად მხოლოდ აქვს ერთი კომპლექტი PHP delimiters 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 მრავალჯერადი კომპლექტი delimited PHP. 639 00:31:58,376 --> 00:32:02,010 >> OK, ასე რომ მე გახსნა ფაილი აქ მოუწოდა add1.php. 640 00:32:02,010 --> 00:32:03,390 და შეამჩნია, რა ხდება აქ. 641 00:32:03,390 --> 00:32:08,077 ისევე, როგორც ადრე, მაქვს ერთ PHP მითითებული delimiters. 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 არის ", და შემდეგ interpellate არსებობს ცვლადი $ თანხა. 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 OK? 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 delimited კომპლექტი, არა? 661 00:32:54,460 --> 00:32:59,107 ხაზები 1 3-- ხაზების 1 და 3 არ აქვს PHP delimiters. 662 00:32:59,107 --> 00:33:00,940 ასე რომ, როდესაც თარჯიმანი ხედავს მათ, უბრალოდ, 663 00:33:00,940 --> 00:33:03,220 აპირებს Spit out ზუსტად რა აკრეფილი არსებობს. 664 00:33:03,220 --> 00:33:05,011 ასე რომ, სადაც მე ვარ აკეთებს ყველა ჩემს რითაც. 665 00:33:05,011 --> 00:33:11,220 On ხაზები 2 და 4, ჩვენ ვხედავთ, რომ ძალიან ნაცნობი $? php ერთგვარი delimiters, 666 00:33:11,220 --> 00:33:15,210 ასე რომ, ეს ორი ხაზი აპირებს შეასრულოს როგორც PHP. 667 00:33:15,210 --> 00:33:18,270 და მერე line 5, მე მაქვს ეს უცნაური რამ აქ, არა? 668 00:33:18,270 --> 00:33:20,480 ეს კუთხე bracket კითხვის ნიშნის თანაბარი ნიშანი. 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 delimiters არის ამობეჭდოთ მნიშვნელობა. 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 echo თანხა 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 მე zoom ქვემოთ ცოტა. 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 აქვს, რომ კუთხური ფრჩხილი კითხვა აღსანიშნავად თანაბარი ნიშანი notation იქ, 692 00:34:37,440 --> 00:34:40,659 მაგრამ შეამჩნია, რომ ამ შემთხვევაში მე ვარ მოუწოდებენ ფუნქცია rand, რომელიც, როგორც თქვენ 693 00:34:40,659 --> 00:34:42,790 შეიძლება ველოდოთ წარმოშობს შემთხვევითი ნომერი. 694 00:34:42,790 --> 00:34:46,889 "თქვენ შემოვიდა," და ის აპირებს გამოთვალოთ შემთხვევითი ნომერი, mod 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 >> გახსოვდეთ, რომ mod 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 shebang ზედა ჩვენი PHP ფაილი. 714 00:35:40,026 --> 00:35:41,400 მე ვიცი, რომ სახის სულელური სიტყვა. 715 00:35:41,400 --> 00:35:44,540 ეს არის მოკლე hash bang. 716 00:35:44,540 --> 00:35:46,300 ეს არის პირველი ორი გმირები იქ. 717 00:35:46,300 --> 00:35:50,030 დამახსოვრება, ჩვენ მოვუწოდებთ ძახილის წერტილი ხშირად bang კომპიუტერულ მეცნიერებათა. 718 00:35:50,030 --> 00:35:51,690 იგი ასევე შეიძლება იყოს მკვეთრი bang. 719 00:35:51,690 --> 00:35:53,273 არსებობს რამდენიმე გზა ინტერპრეტაცია მას. 720 00:35:53,273 --> 00:35:57,320 მაგრამ ეს, ძირითადად, განსაკუთრებული სახის ბრძანება რომ PHP ინტერპრეტატორი 721 00:35:57,320 --> 00:36:00,160 ესმის, როგორც, რა, მე მინდა თქვენ შეასრულოს ეს პროგრამა, 722 00:36:00,160 --> 00:36:05,250 რომელიც, როგორც ჩანს / user / bin / php, რომელიც რეალურად, სადაც PHP ინტერპრეტატორი 723 00:36:05,250 --> 00:36:08,590 კონკრეტულად ცხოვრობს ჩვენი სისტემა. 724 00:36:08,590 --> 00:36:12,530 ასე რომ, it's--, რა ხდება აქ თარჯიმანი ესმის, oh, 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 და როგორც ხედავთ, დასაწყისში ჩემი ფაილი მაქვს ამ shebang, არა? 741 00:37:08,300 --> 00:37:11,420 ეს hash ნიშნის ძახილის წერტილი. 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 ეს არის ერთადერთი რეალური განსხვავება აქ, პლუს shebang. 751 00:37:41,580 --> 00:37:45,170 მოდით ვნახოთ, რა მოხდება, როდესაც მე ვცდილობ და გაუშვით ეს პროგრამა. 752 00:37:45,170 --> 00:37:50,780 ./ Add3, ისევე, როგორც მე ამას C. 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 + x to 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 >> ანალოგიურად, მე უკვე chmoded 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 და ნამდვილად გვაძლევს შესაძლებლობას მიიღოს რამ up მაღალი დონის ან ორი. 770 00:38:43,670 --> 00:38:48,230 ჩვენ ნამდვილად არ უნდა ფიქრი ძალიან ბევრი ამაზე ჩვენ ნამდვილად არ 771 00:38:48,230 --> 00:38:51,605 უნდა ინერვიულოთ ძალიან ბევრი შესახებ დაბალი დონის დეტალები ჩვენ 772 00:38:51,605 --> 00:38:52,980 ჰქონდა ფიქრი C, არა? 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 ასე რომ, ეს გვაძლევს შესაძლებლობას, ახლა, გადასვლის C PHP, 776 00:39:04,350 --> 00:39:08,280 რათა პროგრამები, რომლებიც ბევრად უფრო რთული და ალბათ ბევრი უფრო ძლიერი. 777 00:39:08,280 --> 00:39:13,070 >> ასე რომ, იმედი მაქვს, რომ თქვენ გაქვთ fun სამუშაო PHP, და მე Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 ეს არის CS50. 779 00:39:15,050 --> 00:39:17,637