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 επιμέρους bytes της μνήμης. 7 00:00:18,800 --> 00:00:21,420 Θυμηθείτε ότι πραγματικά Δείκτες μας επιτρέπουν αυτή την ευελιξία. 8 00:00:21,420 --> 00:00:25,260 >> Αλλά εμείς πρέπει πάντα να έχουμε ότι το επίπεδο fine-grain λεπτομέρειες 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 Και αν θέλουμε να έχουμε ένα trade-off μεταξύ της ύπαρξης 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 για εμάς, αντί η low-level πράγματα. 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 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 σε 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 από 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-- λογισμικό that-- όπου μπορείτε 43 00:02:14,042 --> 00:02:16,250 Πρέπει να κάνουμε τα πράγματα ότι C είναι πραγματικά περίπλοκη. 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 >> C έχει την ικανότητα να το κάνει, αλλά είναι τόσο απόκρυφες και τόσο δύσκολο να το κάνουμε πραγματικότητα. 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 διαχωριστικά που βλέπουμε εδώ στην οθόνη. 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 Έτσι C είναι αυτό που είναι γνωστό ως μια μεταγλωττισμένη γλώσσα. 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 Είναι ερμηνεία εκείνων μηδενικά και αυτοί on the fly. 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 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 Το πρώτο είναι ότι υπάρχει Δεν προσδιοριστή τύπου. 115 00:05:21,900 --> 00:05:24,245 Δεν έχουμε να πούμε int, char, float, όλα αυτά τα πράγματα. 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, αν είχαμε λίβρα-περιελάμβανε την .h CS50 130 00:05:55,920 --> 00:06:00,314 αρχείο κεφαλίδας, θα μπορούσαμε να πούμε φράση String = "Αυτό είναι 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 καταλαβαίνει τι είναι ένα string. 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 Μπορούμε να say-- μπορούμε να έχουμε εάν δηλώσεις σαν αυτό. 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 Είμαστε χρησιμοποιώντας == να συγκρίνετε μεταβλητή, $ name, σε μια σειρά. 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 Δεν έχουμε να κάνουμε κάτι ως ανόητη ή ίσως unintuitive 153 00:07:00,930 --> 00:07:03,540 όπως καλέσετε μια συνάρτηση που ονομάζεται StrComp αν απλά θέλετε να δοκιμάσετε 154 00:07:03,540 --> 00:07:05,237 αν η τιμή ισούται με ένα string. 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 ανάλογα με το αν $ 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 Αυτό που πρόκειται να κάνουμε είναι να εκτυπώσετε έξω από το μήνυμα, «κράτος σας, 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 Και στην πραγματικότητα, η δήλωση switch στην 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), συστοιχία είναι συνάρτηση 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 Έτσι, αυτό είναι ένα είδος παρόμοιο με γωνία Γ br-- σγουρά σημειογραφία τιράντες, μάλλον. $ - 235 00:10:53,170 --> 00:10:58,525 ή θα ήταν τετράγωνο nums int παρένθεση ισούται σγουρά στήριγμα 1, 2, 3, 4. 236 00:10:58,525 --> 00:11:02,710 Στην 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 ή 1.000. 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 όπου η αληθινή είναι μια Boolean, και στη συνέχεια αν θέλω να το θέτει σαν ένα άλλο στοιχείο 261 00:12:16,420 --> 00:12:20,860 στην εν λόγω διάταξη, ίσως ένα string, το string "πέντε", θα μπορούσα να το κάνω αυτό. 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 στο πλαίσιο των πινάκων hash, επειδή τι συστοιχίες συνειρμική είναι πραγματικά όλα 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 Το κλειδί είναι μηδέν. 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 Η συστοιχία έχει n στοιχεία σε, το έγκυροι δείκτες είναι 0 έως n μείον 1. 313 00:15:08,060 --> 00:15:11,530 Έτσι, θα μπορούσαμε να χρησιμοποιήσουμε ένα for loop για να βήμα μέσα από κάθε στοιχείο. 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 που ονομάζεται βρόχο foreach. 320 00:15:30,780 --> 00:15:34,430 Και τι ένας βρόχος foreach δεν είναι είναι ουσιαστικά η ίδια ιδέα. 321 00:15:34,430 --> 00:15:36,060 Μπορείτε να το χρησιμοποιήσετε για οποιοδήποτε είδος της συστοιχίας. 322 00:15:36,060 --> 00:15:38,100 Αλλά είναι βασικά η ίδια ιδέα με ένα βρόχο for, 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 >> Έτσι, στην περίπτωση αυτή, foreach ($ array όπως $ key). 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 Βασικά, όπως αυτό το σχόλιο σημειώσεις, στο εσωτερικό του εν λόγω βρόχου foreach, 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 Έτσι ώστε $ κλειδί γίνεται ένα ψευδώνυμο για κάθε δείκτης της 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 >> Έτσι, αυτό είναι ένα είδος stand-in, ανάκληση, ότι $ πίτσα 344 00:16:52,440 --> 00:16:59,140 είναι ένα stand-in για να πούμε $ πίτσες αγκύλες $ i 345 00:16:59,140 --> 00:17:03,370 αν ήμασταν με τη χρήση ενός βρόχου for, όπου θα μπορούσε να πάει από $ 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 και θα χρησιμοποιήσει ένα βρόχο για να πάει $ 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-- αν τυπώσω $ πίτσες, $ i; 354 00:17:35,270 --> 00:17:35,770 Δικαίωμα? 355 00:17:35,770 --> 00:17:38,680 Αν Πάω να εκτυπώσετε το στοιχείο της i-πίτσες, 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 εμείς δεν χρησιμοποιούμε συνήθως 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 Και έτσι αυτό που εκτυπώνει αυτό έξω είναι αυτό. 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 θα επαναλάβει σε όλη κάθε στοιχείου 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 topping "πίτσα κοστίζει $" τιμή, και στη συνέχεια Τυπώσω μια περίοδο και μια ανάστροφη κάθετο n. 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 Υπάρχει πολλή δηλώσεις εκτύπωσης, αλλά υπάρχει μόνο μία ανάστροφη κάθετο n, 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 να κάνει έναν βρόχο foreach ότι αντί μόνο που σας δίνει πρόσβαση στις τιμές, 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 έχει πολλά διαφορετικά τρόποι για να εκτυπώσετε τα πράγματα, 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 μας. 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 αντικαθίσταται με την αξία των $ κάλυμμα. 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 Δεν το κάνει πραγματικότητα εκτύπωσης ανάστροφη κάθετο n, έτσι δεν είναι; 444 00:22:22,832 --> 00:22:24,290 Εκτυπώνει ένα νέο χαρακτήρα γραμμής. 445 00:22:24,290 --> 00:22:26,750 Αυτό is-- δεν πρόκειται να Print Εγγραφείτε ανάστροφη κάθετο δολαρίου, 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 Escape 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 Και έτσι σε this-- τι θα συμβεί εδώ είναι ότι η αξία των $ topping-- πάλι, 452 00:22:45,110 --> 00:22:48,390 ακριβώς σύμφωνα με ό, τι έχουμε ήδη μιλάμε για εως τώρα θα πάρει το τυρί 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 της 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 Αλλά τώρα μπορώ να χρησιμοποιήσω μόνο αυτό τελεία χειριστή να ενώσετε χορδές μαζί. 469 00:23:30,070 --> 00:23:34,910 >> Έτσι είμαι συνένωση "στο σύνολό της» και τότε ανεξάρτητα από την αξία των $ topping είναι, 470 00:23:34,910 --> 00:23:38,860 και στη συνέχεια ένα άλλο string, "το κόστος $ πίτσα" 471 00:23:38,860 --> 00:23:42,340 και στη συνέχεια να συνενώσει ανεξαρτήτως η αξία των $ τιμής είναι, 472 00:23:42,340 --> 00:23:45,670 και στη συνέχεια στο τέλος είμαι στερέωση σε περίοδο ανάστροφη κάθετο n. 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 Περίοδος, ανάστροφη κάθετο n, και πάλι, με η επικάλυψη και $ $ τιμών υποκατάστασης 477 00:24:01,260 --> 00:24:06,580 για ό, τι είχαμε ορίζεται στο foreach μας βρόχο ήταν το κλειδί χαρτογράφηση ζεύγους αξίας. 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 Είμαι με τη χρήση ενός βρόχου for εδώ. 499 00:25:00,870 --> 00:25:04,970 Αλλά αυτό είναι βασικά ακριβώς, τι είναι αυτό ανέρχεται σε μόλις $ x $ x φορές. 500 00:25:04,970 --> 00:25:10,520 Τι είμαι πραγματικά κάνει είναι απλά προσθέτοντας x έως x 0 φορές ή $ 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 μου, 507 00:25:29,240 --> 00:25:31,010 αγκύλη php ερωτηματικό. 508 00:25:31,010 --> 00:25:35,180 Στο μεταξύ εκείνων είναι όλα η PHP που θέλω να γράψω. 509 00:25:35,180 --> 00:25:37,840 Έτσι είμαι προφανώς πρόκειται να get-- Πάω να ζητήσει από το χρήστη 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 και προφανώς θα να αναστρέψει σε μια νέα γραμμή 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 έχουν ως επιλογή Γ δεν θα μπορούσαμε ποτέ καθορίσετε την προεπιλεγμένη τιμή του κάτι. 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 γιατί δεν θέλουμε να αρχίσουν εργάζονται με μια κενή συμβολοσειρά. 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 ως γλώσσα για web-based προγραμματισμό. 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 είναι ότι έχετε ένα διερμηνέα PHP. 567 00:28:24,260 --> 00:28:27,460 Έτσι είναι το είδος των ανάλογη με έχοντας ένα compiler στο σύστημά σας 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 ότι μπορείτε να πάρετε on-line, και σίγουρα το όνομα του διερμηνέα 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 και στο μεταξύ, echo ("Γεια σου, κόσμε»). 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, πατήστε enter. 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 $ 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 Και τότε είμαι χρησιμοποιώντας ένα μικρό κομμάτι της μεταβλητή επερώτηση εδώ στη γραμμή 3 603 00:30:12,030 --> 00:30:14,780 για να εκτυπώσετε «Hello» και ανεξάρτητα από το είδος του χρήστη. 604 00:30:14,780 --> 00:30:22,040 Έτσι, αυτό είναι ανάλογο με το ρητό, Γεια σας, κόμμα,% s αν ήμασταν χρησιμοποιώντας printf σε 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 Νταγκ. 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 Είμαι ακριβώς πραγματικά συμβαίνει όταν to-- το διερμηνέα PHP βλέπει αυτό, 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 Δεν έχω να ζητήσει κατ 'ανάγκην ο χρήστης to-- εσωτερικό της 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 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 Θα κάνετε ζουμ λίγο. 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 "Θα έρθει μια" και πρόκειται να υπολογίσει κάποιο τυχαίο αριθμό, 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 θα μου δώσει ένας αριθμός στην περιοχή από μηδέν έως 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 Είναι μικρή για hash κτύπημα. 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 Αλλά είναι βασικά ένα ειδικό είδος του ότι η εντολή διερμηνέα PHP 721 00:35:57,320 --> 00:36:00,160 αντιλαμβάνεται ως, OH, θέλω μπορείτε να εκτελέσετε αυτό το πρόγραμμα, 722 00:36:00,160 --> 00:36:05,250 η οποία είναι προφανώς / χρήστης / 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 Και όπως μπορείτε να δείτε, κατά την έναρξη από το αρχείο μου έχω αυτή τη δουλεία, έτσι δεν είναι; 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, όπως ακριβώς θα κάνατε με Γ 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 a + x για να 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 και πραγματικά μας δίνει την δυνατότητα να πάρει τα πράγματα επάνω μια εγκοπή ή δύο. 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 έπρεπε να ανησυχείτε για με 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 >> Ελπίζω, λοιπόν, να διασκεδάσετε εργασίας με την PHP, και είμαι Doug Lloyd. 778 00:39:13,070 --> 00:39:15,050 Αυτό είναι CS50. 779 00:39:15,050 --> 00:39:17,637