1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> ڈوگ لایڈ: تو ہم نے 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 ہم شاید طرف غلطی کرنے جا رہے ہیں سے زیادہ زبان چیزیں میں تعمیر ہونے 17 00:00:49,130 --> 00:00:51,300 ہمارے لئے، بجائے ہونے کے کم سطح کی چیزیں. 18 00:00:51,300 --> 00:00:53,970 پی ایچ پی کی واقعی میں آتا ہے اور یہ ہے جہاں. 19 00:00:53,970 --> 00:00:58,200 >> اب، وجوہات میں سے ایک ہم 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 اور تتلاہٹ. 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 ایک یا دوسرے syntactically ہے کی طرف سے. 27 00:01:20,330 --> 00:01:26,160 پی ایچ پی کی syntactically ہے بہت ملتا جلتا ہے C کرنے کے لئے، سکیم کی طرح زبانوں جبکہ، 28 00:01:26,160 --> 00:01:27,900 مثال کے طور پر، جس آپ کے بارے میں سنا ہے ہو سکتا ہے 29 00:01:27,900 --> 00:01:32,070 بھاری ایک زبان کی طرف سے حوصلہ افزائی ہے ایک پرانے زبان ہے جس میں کہا جاتا تتلاہٹ،. 30 00:01:32,070 --> 00:01:34,220 >> ہم سکھانے کی وجہ سے تو CS50 میں پی ایچ پی کی ہے، 31 00:01:34,220 --> 00:01:37,730 بنیادی طور پر سی جاننے کی طرف سے آپ اس نقطہ پر کرتے ہیں کے طور، 32 00:01:37,730 --> 00:01:41,280 دیتا ہے اٹھا پی ایچ پی، بہت اعلی سطح کام کرنے کی صلاحیت 33 00:01:41,280 --> 00:01:44,710 سی کرتا ہے کے مقابلے، نہیں ہے کہ ایک رکاوٹ کے زیادہ تر، 34 00:01:44,710 --> 00:01:48,230 آپ نے پہلے ہی ہے، کیونکہ نحو کے بنیادی خیال. 35 00:01:48,230 --> 00:01:50,590 سی تقریبا کے لئے ارد گرد کیا گیا ہے اس وقت 45 سال. 36 00:01:50,590 --> 00:01:52,780 پی ایچ پی کے بارے میں 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 پی ایچ پی اور دیگر جدید زبانوں کی وجہ سے. 41 00:02:08,210 --> 00:02:11,039 >> کے پی ایچ پی کی ایک بہت اچھا انتخاب سافٹ ویئر کے لئے زبان 42 00:02:11,039 --> 00:02:14,042 کے لئے allow-- کہ تم کہاں that-- سافٹ ویئر 43 00:02:14,042 --> 00:02:16,250 میں ہے کہ چیزوں کو کرنے کی ضرورت ہے سی اصل میں پیچیدہ ہیں. 44 00:02:16,250 --> 00:02:18,480 لہذا مثال کے طور، کام C میں ڈور کے ساتھ 45 00:02:18,480 --> 00:02:21,709 کیونکہ، بہت پیچیدہ ہے ہم جانتے ہیں کے طور پر، C میں ڈور 46 00:02:21,709 --> 00:02:23,250 واقعی صرف حروف کا arrays ہیں. 47 00:02:23,250 --> 00:02:25,230 یہ ایک بلٹ میں ڈیٹا کی قسم نہیں ہے. 48 00:02:25,230 --> 00:02:28,220 یا شاید زیادہ بنیادی طور پر، ہم بھی سی کا احاطہ نہیں کیا کچھ، 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 >> سی ایسا کرنے کی صلاحیت ہے، لیکن یہ تو ہے 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 اور پی ایچ پی بنا دیتا ہے کہ ایک زبان ہے، یا، کہ بہت تھوڑا سا زیادہ سہولت فراہم. 55 00:02:43,420 --> 00:02:47,740 جیسا میں نے کہا، پی ایچ پی کی بہت بھاری متاثر ہے سی کی طرف سے نحو بہت ملتا جلتا ہے. 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 لکھ شروع کرنے کے لئے، صرف کھول پی ایچ پی فائل توسیع کے ساتھ ایک فائل. 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 تو ہم نے ایک پی ایچ پی کے ساتھ ہماری فائل کا نام ہے توسیع، لیکن پھر بھی پی ایچ پی کے ساتھ، 65 00:03:18,430 --> 00:03:23,310 ہم اس میں لکھنے تمام پی ایچ پی کوڈ فائل ان پی ایچ پی میں منسلک کیا جا سکتا ہے 66 00:03:23,310 --> 00:03:25,190 ہم دیکھتے ہیں کہ کی delimiters یہاں کی سکرین پر. 67 00:03:25,190 --> 00:03:27,910 زاویہ بریکٹ پی ایچ پی کی شروع کرنے کے لئے. 68 00:03:27,910 --> 00:03:30,860 پھر ہم نے اپنے پی ایچ پی کی تمام لکھنا ہم درمیان میں چاہتے ہیں کہ کوڈ. 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 درمیان لفظ بہ لفظ باہر پرنٹ کرنے کے لئے کی جا رہی ہے. 77 00:03:50,330 --> 00:03:52,210 یہ کرنے کے لئے نہیں جا رہا ہے اصل میں کوڈ کو پھانسی، 78 00:03:52,210 --> 00:03:56,010 یہ کرنے کے لئے جا رہا ہے صرف لفظ بہ لفظ اسے باہر پرنٹ. 79 00:03:56,010 --> 00:03:57,320 >> اب معاملہ ہے؟ 80 00:03:57,320 --> 00:04:00,416 لہذا سی جانا جاتا ہے کیا ہے ایک مرتب زبان کے طور پر. 81 00:04:00,416 --> 00:04:03,040 آپ نے شاید سے واقف ہیں آپ کے پروگرام بنانے کے قدم، 82 00:04:03,040 --> 00:04:07,820 سی فائلوں اور ایچ فائلوں رخ میک کے ساتھ ایک executable میں، 83 00:04:07,820 --> 00:04:11,130 خاص طور پر استعمال کر رہے ہیں ہمارے سنکلک طور پر بجنا. 84 00:04:11,130 --> 00:04:13,030 پی ایچ پی، اگرچہ، نہیں کرتا اس کے برابر ہے. 85 00:04:13,030 --> 00:04:15,600 پی ایچ پی کی ایک کہا جاتا ہے تشریح زبان. 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 پی ایچ پی اور سمجھتا ہے کہ پی ایچ پی، قسم کی مکھی پر یہ کر سکتے ہیں. 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 یہ معلوم نہیں ہے تو کس طرح پی ایچ پی کی عمل، آپ کو شاید 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 پی ایچ پی کی 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 ہم کے بارے میں بات کرتے وقت دیکھیں پی ایچ پی کی ویب کی ترقی، 105 00:05:00,390 --> 00:05:04,010 اس کا مطلب ہے کیونکہ ہم کر سکتے ہیں پی ایچ پی اور ایچ ٹی ایم ایل intersperse. 106 00:05:04,010 --> 00:05:06,640 ہم ان کے ساتھ استعمال کر سکتے ہیں ایک سے زیادہ متحرک ویب صفحہ تخلیق. 107 00:05:06,640 --> 00:05:10,650 لیکن میں اس پر مزید پی ایچ پی کی ویب کی ترقی پر ویڈیو. 108 00:05:10,650 --> 00:05:12,021 >> تو پی ایچ پی کی نحو کیا ہے؟ 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 پی ایچ پی کی متغیر کا کوئی وجود. 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 کہنا نہیں ہے چار، فلوٹ، سب چیزیں. 116 00:05:24,245 --> 00:05:25,620 ہم اب ایسا کرنے کی ضرورت نہیں. 117 00:05:25,620 --> 00:05:26,810 پی ایچ پی کی ایک جدید زبان ہے. 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 اس کی وجہ سے، ایک چھوٹا سا عجیب ہے پی ایچ پی سمجھ سکتے ہیں تاکہ یہ 124 00:05:39,496 --> 00:05:40,870 کیا ایک متغیر ہے اور کیا نہیں ہے. 125 00:05:40,870 --> 00:05:43,340 تو ہر متغیرہ کا نام ایک ڈالر علامت کے ساتھ شروع ہوتا ہے. 126 00:05:43,340 --> 00:05:46,884 تو C میں ہم کچھ کہہ سکتا ہے اس طرح، int ایکس = 54. 127 00:05:46,884 --> 00:05:48,550 ہم پی ایچ پی میں اب ایسا کرنے کی ضرورت نہیں. 128 00:05:48,550 --> 00:05:52,540 ہم صرف ایکس = 54 $ کہہ سکتے ہیں. 129 00:05:52,540 --> 00:05:55,920 اور ہم C میں، مثال کے طور پر، کہہ سکتے ہیں، ہم CS50 ایچ پونڈ بھی شامل تھا تو 130 00:05:55,920 --> 00:06:00,314 ہیڈر فائل، ہم کہہ سکتے ہیں سٹرنگ کرتے ہیں = "یہ CS50 ہے." 131 00:06:00,314 --> 00:06:01,980 ہم اگرچہ، پی ایچ پی میں ایسا کرنے کی ضرورت نہیں. 132 00:06:01,980 --> 00:06:04,865 ہم صرف $ جملہ کہہ سکتے ہیں = "یہ CS50 ہے." 133 00:06:04,865 --> 00:06:08,760 اور حقیقت میں، سٹرنگ ہے پی ایچ پی میں ایک بلٹ میں ڈیٹا کی قسم، 134 00:06:08,760 --> 00:06:10,950 یا بلکہ پی ایچ پی سمجھتا ایک تار کیا ہے. 135 00:06:10,950 --> 00:06:15,612 یہ ایک سرنی کی طرف سے الگ ہے کرداروں میں سے یہ سی میں ہے جیسے 136 00:06:15,612 --> 00:06:17,570 اپنے تمام پسندیدہ C سے مشروط بیانات 137 00:06:17,570 --> 00:06:19,520 اب بھی آپ کو استعمال کرنے کے لئے دستیاب ہیں. 138 00:06:19,520 --> 00:06:21,140 تو وہاں کوئی بڑی تبدیلی. 139 00:06:21,140 --> 00:06:23,400 ہم کر سکتے ہیں کر سکتے ہیں say-- اس طرح کے بیانات تو. 140 00:06:23,400 --> 00:06:28,210 $ 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 ان میں سے ایک کی طرح ہے سی، پی ایچ پی کی نوٹس بمقابلہ کے فوائد 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 ہمیں کچھ کرنا نہیں ہے کے طور پر پاگل یا شاید پر unintuitive 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 اور اس کے ساتھ ساتھ پی ایچ پی میں ٹھیک ہے. 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 پی ایچ پی کی اصل 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 اور اگر بہت مختصر فارم کے لئے یا مشروط branching کے. 169 00:07:43,262 --> 00:07:45,470 اور بظاہر، اس میں، جو ہم یہاں کیا کرنے کی کوشش کر رہے 170 00:07:45,470 --> 00:07:49,720 متغیر تفویض ہے صحیح یا غلط $ خط، 171 00:07:49,720 --> 00:07:54,110 $ متغیر یا نہیں پر منحصر ایک اکشراتمک کردار ہے. 172 00:07:54,110 --> 00:07:57,320 تو اس isalpha سے بہت ملتا جلتا ہے ہم سی سے سے واقف ہیں 173 00:07:57,320 --> 00:07:59,010 یہ پی ایچ پی میں برابر کی طرح ہے. 174 00:07:59,010 --> 00:08:01,550 تقریب بظاہر ہے ctype_alpha بلایا، 175 00:08:01,550 --> 00:08:03,450 لیکن ہے کہ ہم پی ایچ پی میں ایسا کس طرح ہے. 176 00:08:03,450 --> 00:08:08,560 تو یہ سب تو ہونا ہے جا رہا ہے $ متغیر ایک خط ہے، $ خط سچ ہے. 177 00:08:08,560 --> 00:08:13,820 $ متغیر ایک خط نہیں ہے تو، $ خط باطل ہے. 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 تو پی ایچ پی میں بنایا گیا ہے کہ ہے. 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 integers کے بہت زیادہ محدود ہے اور حروف، لیکن اب ہم ڈور استعمال کر سکتے ہیں. 190 00:08:44,960 --> 00:08:50,190 اور حقیقت میں، سوئچ بیان پی ایچ پی میں بہت تھوڑا سا زیادہ لچک دار ہے 191 00:08:50,190 --> 00:08:54,880 C. سے اس کے کزن سے 192 00:08:54,880 --> 00:08:55,380 loops کے. 193 00:08:55,380 --> 00:08:58,130 بس کونداٹاونالس طرح، تمام اپنے پرانے پسندیدہ اب بھی وہاں ہیں. 194 00:08:58,130 --> 00:09:00,740 ہم شمار ہے کہ جبکہ loops ہے 1 سے اس معاملے میں سے 100. 195 00:09:00,740 --> 00:09:03,940 ہم loops جبکہ کرتے ہیں کہ، 1 سے 100 شمار 196 00:09:03,940 --> 00:09:06,200 اور ہم loops کے لئے ہے 1 سے 100 شمار. 197 00:09:06,200 --> 00:09:07,220 تو وہاں کوئی بڑی چھلانگ. 198 00:09:07,220 --> 00:09:09,360 نحو خوبصورت ہے وہی زیادہ، 199 00:09:09,360 --> 00:09:11,760 اب ہم استعمال کر رہے ہیں سوائے ڈالر کا نشان متغیر بجائے 200 00:09:11,760 --> 00:09:17,260 عددی متغیر کا اعلان یا ہمارے کاؤنٹر کے لئے کچھ اس طرح. 201 00:09:17,260 --> 00:09:20,090 >> چیزوں کو حاصل ہے جہاں یہاں ہے اگرچہ، C سے بہت بہتر. 202 00:09:20,090 --> 00:09:21,020 لڑیاں. 203 00:09:21,020 --> 00:09:23,020 تو ہم تھے یاد کرتے ہیں جب ترتیب میں، سی کے بارے میں بات 204 00:09:23,020 --> 00:09:25,560 ہم اگاتے اور سکڑ کرنے کے لئے معلومات کے سیٹ، 205 00:09:25,560 --> 00:09:28,310 ہم ڈیفالٹ کی الگ الگ کرنے کی ضرورت ہے ایک لنک کی فہرست کے اس خیال سے، 206 00:09:28,310 --> 00:09:30,780 سی arrays کے سائز میں مقرر کیا گیا تھا کی وجہ سے. 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 ہم میموری reallocate کرنے تھا اور یہ سب جنون کرتے 210 00:09:36,074 --> 00:09:38,490 یا منسلک فہرستوں، استعمال کرتے ہیں جس بہت تھوڑا سا زیادہ جگہ لے. 211 00:09:38,490 --> 00:09:41,590 لیکن پی ایچ پی میں، arrays ہیں اب سائز میں طے نہیں. 212 00:09:41,590 --> 00:09:43,240 وہ اگاتے ہیں کر سکتے ہیں اور وہ سکڑ کر سکتے ہیں. 213 00:09:43,240 --> 00:09:46,660 تو ایک بار پھر، ان 20 سال موجود ہے کہ سی کے پہلے رہائی کے درمیان 214 00:09:46,660 --> 00:09:49,440 اور سب سے پہلے رہائی پی ایچ پی، ہم، آپ کو معلوم ہے، کہ اس کا فیصلہ 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 >> تو پی ایچ پی arrays میں طے نہیں کر رہے ہیں سائز، اور پی ایچ پی نہیں ہے کیونکہ واقعی 218 00:09:58,040 --> 00:10:03,090 پروگرامر فرنٹ کا سامنا ہے اقسام کے تصورات، 219 00:10:03,090 --> 00:10:05,110 ہم اعداد و شمار اقسام کے اختلاط کر سکتے ہیں ہمارے arrays میں، بھی. 220 00:10:05,110 --> 00:10:08,100 تو ہم بھی سب کو استعمال کرنے کی ضرورت نہیں integers کے یا تمام سچل پوائنٹس، 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 = سرنی (1، 2، 3، 4)، سرنی ایک تقریب ہونے 225 00:10:20,020 --> 00:10:22,760 کہ پی ایچ پی میں بنایا گیا ہے کہ آپ کے لئے ایک سرنی پیدا کر دے گا. 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 اور ہم جا رہے ہیں یہ پی ایچ پی میں ایک بہت کچھ دیکھیں. 229 00:10:32,420 --> 00:10:36,380 پی ایچ پی کی بہت سے مختلف کی طرف سے تیار کیا گیا ہے لوگوں اگتا ہے اور اگتا ہے اور اگتا ہے اور. 230 00:10:36,380 --> 00:10:40,050 عام طور پر ہے نہ صرف دو یا پی ایچ پی میں کچھ کرنے کے تین طریقے، 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 یا یہ INT nums مربع ہو جائے گا بریکٹ گھوبگھرالی منحنی خطوط وحدانی 1، 2، 3، 4 کے برابر ہے. 236 00:10:58,525 --> 00:11:02,710 پی ایچ پی میں یہ $ nums = مربع ہے بریکٹ 1، 2، 3، 4. 237 00:11:02,710 --> 00:11:08,920 لیکن ان مثالوں کے دونوں یہاں مجھے دے اس صورت integers کے میں چار کی ایک سرنی. 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 پی ایچ پی میں، پانچویں ہوگا صف کے عنصر. 241 00:11:17,800 --> 00:11:18,990 میں صرف کہہ سکتے ہیں کہ. 242 00:11:18,990 --> 00:11:22,860 میں ایک SEG شکار کرنے کے لئے نہیں جا رہا ہوں میری سرنی صرف ہے کیونکہ، غلطی 243 00:11:22,860 --> 00:11:24,337 کہ ایڈجسٹ کرنے کے لئے بڑھ رہا. 244 00:11:24,337 --> 00:11:25,420 یہ ٹھیک ہے، بہت اچھا ہے؟ 245 00:11:25,420 --> 00:11:28,400 اور حقیقت میں، میں بھی کرنے کی ضرورت نہیں میں ڈال کرنا چاہتے ہیں جہاں کی وضاحت. 246 00:11:28,400 --> 00:11:31,220 میں صرف یہ اور صرف کہہ سکتے ہیں ختم کرنے کا حق پر سمت، 247 00:11:31,220 --> 00:11:34,099 یا میں یہاں تک کہ صرف کر سکتے ہیں $ 20 یا nums 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 جہاں حقیقی ایک بولین ہے، اور اس کے بعد میں نے ایک اور عنصر پر سمت کرنا چاہتے ہیں تو 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 پی ایچ پی کی کچھ کے لئے حمایت حاصل ہے کیونکہ ایک ساہچری سرنی بلایا. 267 00:12:37,530 --> 00:12:40,660 اور ہم قسم کی مبہم بات سی میں ساہچری arrays 268 00:12:40,660 --> 00:12:44,740 ہیش میزیں کے تناظر، کیونکہ کیا ساہچری arrays واقعی ہیں 269 00:12:44,740 --> 00:12:48,950 اہم کر رہے ہیں کے بارے میں قدر جوڑی مور. 270 00:12:48,950 --> 00:12:53,410 اور اگر اس معاملے میں، keys-- ہم C سے arrays کے ساتھ واقف ہیں 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 >> لیکن پی ایچ پی میں، ہم ایسا کرنے کی ضرورت نہیں ہے صف 0 کے تصور، صف 1، سرنی 2 277 00:13:15,130 --> 00:13:15,830 اب. 278 00:13:15,830 --> 00:13:21,025 اب ہم اصل الفاظ استعمال کر سکتے ہیں اقدار کی چابیاں نقشے پر. 279 00:13:21,025 --> 00:13:22,650 اور اس میں کچھ اس طرح کہہ سکتے ہیں. 280 00:13:22,650 --> 00:13:26,710 میں استعمال کرتے ہوئے ایک صف بنانے کے کر سکتے ہیں مندرجہ ذیل کے طور پر مربع بریکٹ نحو. 281 00:13:26,710 --> 00:13:30,685 $ پججا = مربع بریکٹ "پنیر" اور پھر 282 00:13:30,685 --> 00:13:37,210 ڈبل تیر سنکیتن کی اس طرح، 8.99، "پیپرونی،"، 10.99-- 9.99 تیر 283 00:13:37,210 --> 00:13:37,880 اور اسی طرح. 284 00:13:37,880 --> 00:13:39,060 اور تو کیا یہاں کیا ہو رہا ہے؟ 285 00:13:39,060 --> 00:13:41,040 میں اصل میں کیا کر رہا ہوں؟ 286 00:13:41,040 --> 00:13:43,990 میں کلیدی قدر جوڑی مور پیدا کر رہا ہوں. 287 00:13:43,990 --> 00:13:49,060 تو کہنے کی بجائے، مثال کے طور پر، پججا 0، ٹکڑے ٹکڑے کر 1، پججا 2، 288 00:13:49,060 --> 00:13:52,350 اب پججا کہہ سکتے ہیں پنیر، پججا پیپرونی، 289 00:13:52,350 --> 00:13:55,120 اور اقدار کا حوالہ دیتے ہیں ان کے ساتھ منسلک. 290 00:13:55,120 --> 00:13:56,970 >> تو یہاں ہمارے چابیاں سبز رنگ میں ہیں. 291 00:13:56,970 --> 00:13:59,870 پنیر، پیپرونی، سبزی، بینس چکن. 292 00:13:59,870 --> 00:14:04,200 یہاں ہے کہ تیر ہے اس کلیدی قدر جوڑی تعریفیں. 293 00:14:04,200 --> 00:14:07,420 اور پھر یہاں اقدار ہیں اس صف کے مقام پر. 294 00:14:07,420 --> 00:14:10,330 تو یہ صف 0 8.99 برابر کہہ طرح ہے. 295 00:14:10,330 --> 00:14:11,720 کلیدی 0 ہے. 296 00:14:11,720 --> 00:14:13,600 قیمت 8.99 ہے. 297 00:14:13,600 --> 00:14:19,370 اب صف پنیر کہہ، یا اس میں کر سکتے ہیں کیس پججا پنیر، پنیر، کلید ہے 298 00:14:19,370 --> 00:14:23,340 اور میں کیا تلاش پججا پنیر 8.99 ہے. 299 00:14:23,340 --> 00:14:25,540 کہ میں وہاں مل جائے اس کی قیمت ہے. 300 00:14:25,540 --> 00:14:28,124 >> تو میں نے چیزوں کو پسند کہہ سکتے ہیں. $ پیزا پنیر = 7.99. 301 00:14:28,124 --> 00:14:29,040 میں ایک فروخت چل رہا ہے کا کہنا ہے کہ. 302 00:14:29,040 --> 00:14:31,750 مجھے چھوڑ کرنا چاہتے ہیں dis-- چاہتے پنیر کا پیزا کی قیمت. 303 00:14:31,750 --> 00:14:35,620 یا میں سبزیوں استعمال کر سکتے ہیں پیزا ایک شرط کے طور پر، 304 00:14:35,620 --> 00:14:39,990 یا میں نے ایک نئے عنصر شامل کر سکتے ہیں میرے سرنی، صرف میں نے پہلے کر سکتے ہیں پسند. 305 00:14:39,990 --> 00:14:44,680 میں نے اس کے لئے ایک نیا عنصر شامل کر سکتے ہیں اہم "بیکن" کے ساتھ ساہچری سرنی 306 00:14:44,680 --> 00:14:49,250 اور قیمت 13.49. 307 00:14:49,250 --> 00:14:53,820 >> لیکن اس طرح کے، ایک مسئلہ متعارف کرایا آپ کو ایک سیکنڈ کے لئے اس کے بارے میں لگتا ہے کہ اگر. 308 00:14:53,820 --> 00:14:55,721 ہم کس طرح اس صف کے ذریعے iterate گے؟ 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 صف میں (ن) کے عناصر ہے، درست اشاریہ جات ن مائنس 1 0 ہے. 313 00:15:08,060 --> 00:15:11,530 تو ہم کرنے کے لوپ کے لئے ایک استعمال کر سکتے ہیں ہر ایک عنصر کے ذریعے قدم. 314 00:15:11,530 --> 00:15:13,530 >> لیکن یہ واقعی نہیں ہے کیس اب، ٹھیک ہے؟ 315 00:15:13,530 --> 00:15:17,360 اب ہم کلیدی قدر جوڑی ہے جہاں چابیاں الفاظ ہیں جہاں مور، 316 00:15:17,360 --> 00:15:19,970 ہم کس طرح الفاظ کی تمام iterate ہیں؟ 317 00:15:19,970 --> 00:15:22,420 ویسے، خوش قسمتی سے، پی ایچ پی کی ہے ایک طریقہ، بھی اس کے ساتھ نمٹنے کے لئے 318 00:15:22,420 --> 00:15:24,580 اور اسی طرح ہم واپس کود گا ایک سیکنڈ کے لئے loops کے لئے 319 00:15:24,580 --> 00:15:30,780 لوپ کے چوتھے قسم متعارف کرانے کے لئے کہ پی ایچ پی کی ایک 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 لیکن یہ بنیادی طور پر ہے لوپ کے لئے ایک کے طور پر ایک ہی خیال، 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 ($ کلید کے طور پر $ سرنی). 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 آپ پی ایچ پی میں چاہتا ہوں کہ. 332 00:16:05,419 --> 00:16:07,210 اور میں ہر وقت ہے کہ لوپ کے لئے ایک پرممکن ہے کہ آپ 333 00:16:07,210 --> 00:16:13,780 $ سرنی مربع بریکٹ کہا ہے $ میں، آپ کو صرف $ اہم کہہ سکتے ہیں. 334 00:16:13,780 --> 00:16:22,340 تاکہ $ اہم ہر ایک کے لئے ایک عرف بن آپ پی ایچ پی ساہچری سرنی کے انڈیکس، 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 میں اس قسم کی اس دور tucked ہے وہاں کونے میں 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 ٹھیک ہے، میں ہر ذریعے iterate کرنے جا رہا ہوں سرنی $ پججا کی واحد عنصر، 341 00:16:42,400 --> 00:16:46,670 اور ایسا کرنے میں، میں نے فون کرنے جا رہا ہوں ہر عنصر، جب میں اندر ہوں 342 00:16:46,670 --> 00:16:49,400 لوپ کے لئے اس کے جسم کی، پیزا $. 343 00:16:49,400 --> 00:16:52,440 >> تو یہ ایک کی طرح ہے موقف میں، یاد، کہ $ پیزا 344 00:16:52,440 --> 00:16:59,140 ایک موقف میں کہنے کے لئے ہے $ پججا مربع بریکٹ $ میں 345 00:16:59,140 --> 00:17:03,370 ہم لوپ، جہاں ہم نے کے لئے ایک کا استعمال کرتے ہوئے کر رہے تھے تو اس معاملے میں $ میں = 0، سے جا سکتے ہیں، 346 00:17:03,370 --> 00:17:06,089 $ میں 3 =. 347 00:17:06,089 --> 00:17:09,780 ہم کلیدی قدر جوڑوں ضرورت نہیں تھی تو یہاں، اس عنصر 0، 1، 2، 3 ہو جائے گا، 348 00:17:09,780 --> 00:17:16,390 اور ہم جانے کے لئے لوپ کے لئے ایک کا استعمال کریں گے $ پججا 0، $ پججا 1، $ پججا 2، 349 00:17:16,390 --> 00:17:17,750 $ پججا 3. 350 00:17:17,750 --> 00:17:23,130 تو اب صرف پیزا substituting کی ہے $ کہ انفرادی چابی کے لئے. 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 کیا میں کی لمبائی تو تلاش کرنے کے لئے جا رہا ہوں مجھے $ پججا $ باہر پرنٹ ہے؟ 354 00:17:35,270 --> 00:17:35,770 ٹھیک ہے؟ 355 00:17:35,770 --> 00:17:38,680 میں باہر پرنٹ کرنے کے لئے جا رہا ہوں تو پججا کی ith عنصر، 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 استعمال نہیں کرتے متغیر،، میں = 0، میں سے کم 3 int کی 360 00:17:49,786 --> 00:17:52,900 میں 0، 1، 2، 3 باہر پرنٹ کرنے، + +. 361 00:17:52,900 --> 00:17:57,500 ہم صف 0 باہر پرنٹ کر رہے ہیں صف 1، 2 سرنی، سرنی 3. 362 00:17:57,500 --> 00:17:59,580 اور اس طرح یہ باہر پرنٹ کیا ہے. 363 00:17:59,580 --> 00:18:01,150 یہ قیمتوں کی فہرست ہے. 364 00:18:01,150 --> 00:18:05,750 8.99، 9.99، 10.99، 11.99. 365 00:18:05,750 --> 00:18:06,900 >> اب یہاں ایک فوری نوٹ. 366 00:18:06,900 --> 00:18:10,900 ایک 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 اس صورت میں، ایک بار پھر، اس صف $ پججا ہے. 375 00:18:27,980 --> 00:18:32,920 >> میں تو، اگرچہ، نحو تبدیل کر سکتے ہیں میں اہم اور قیمت دونوں چاہتے ہیں. 376 00:18:32,920 --> 00:18:37,179 اس کے بجائے $ پججا کہہ کے $ pizza کے طور پر، میں نے اس سے کہہ سکتے ہیں. 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 >> "مجموعی" - یہ ایک بہت ہے پرنٹنگ یہاں "ایک پوری" پر جا 386 00:19:10,170 --> 00:19:17,300 ٹاپنگ تو قیمت، اور "پزا $ اخراجات" میں ایک مدت اور ایک الٹا سلیش (ن) کو پرنٹ. 387 00:19:17,300 --> 00:19:23,420 تو اب، نوٹس پھر میں تک رسائی حاصل ہے ایک اہم، $ ٹاپنگ، اور ایک قدر، $ قیمت. 388 00:19:23,420 --> 00:19:26,647 تو تم نے کیا اس اندازہ لگا سکتے ہیں باہر پرنٹ کرنے کے لئے جا رہی ہے؟ 389 00:19:26,647 --> 00:19:29,480 پرنٹ بیانات کی ایک بہت نہیں ہے، لیکن صرف ایک الٹا سلیش (ن) ہے، 390 00:19:29,480 --> 00:19:33,410 تو اس پر کچھ پرنٹ کرنے کے لئے جا رہا ہے کوڈ کی ایک لائن پر ایک entire--. 391 00:19:33,410 --> 00:19:36,965 >> میں چابی کی طرف رجوع کر سکتے ہیں اور قیمت، تو اب، 392 00:19:36,965 --> 00:19:39,090 کی بجائے صرف قابل ہونے کی وجہ سے قیمتوں باہر پرنٹ کرنے، 393 00:19:39,090 --> 00:19:41,330 میں نے اس طرح کچھ باہر پرنٹ کر سکتے ہیں. 394 00:19:41,330 --> 00:19:43,780 "ایک پوری پنیر کا پیزا $ 8.99 اخراجات." 395 00:19:43,780 --> 00:19:47,150 اور اب میں keys-- کے تمام استعمال کر رہا ہوں پنیر، پیپرونی، سبزی، 396 00:19:47,150 --> 00:19:49,640 بھینس chicken-- اور اقدار. 397 00:19:49,640 --> 00:19:53,980 8.99، 9.99، 10.99، 11.99 تو کہ صرف ایک مختلف طریقہ ہے 398 00:19:53,980 --> 00:19:57,840 ایک foreach لوپ ایسا کرنے کی بجائے صرف، آپ کو اقدار تک رسائی دینے سے 399 00:19:57,840 --> 00:20:02,950 یہ آپ سب turnarounds 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 اور بہت زیادہ تمام intents اور مقاصد، وہ بالکل ایک جیسے ہیں. 404 00:20:14,380 --> 00:20:17,130 They're-- ایک بہت ہی ٹھیک ٹھیک وہاں ہے بھی قابل نہیں ہے کہ فرق 405 00:20:17,130 --> 00:20:21,130 بنیادی طور پر ہر جگہ میں ہو رہی ہے، لیکن آپ کو شاید استعمال کر سکتے ہیں پرنٹ استعمال کر سکتے ہیں 406 00:20:21,130 --> 00:20:22,370 اس کے ساتھ ساتھ بازگشت. 407 00:20:22,370 --> 00:20:23,610 >> اور یہ کہ صرف دو نہیں ہے. 408 00:20:23,610 --> 00:20:26,970 پی ایچ پی کی مختلف کی ایک بہت ہے چیزوں کو باہر پرنٹ کرنے کے لئے طریقوں، 409 00:20:26,970 --> 00:20:30,520 اور یہ بھی ضم کرنے کے طریقوں ہے سٹرنگ کے وسط میں متغیر. 410 00:20:30,520 --> 00:20:32,860 تو سی سے یاد، تم کرتے ہو کیا تقریب یاد ہے 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 میں ضم کرنے کے لئے کس طرح پتہ نہیں تھا اپنے پی ایچ پی کوڈ میں ٹاپنگ متغیر $. 419 00:20:59,560 --> 00:21:03,700 ٹھیک ہے، میں صرف ایک جنگلی اندازہ اگر لیا، printf کے، یہ اصل میں کام کیا جائے گا. 420 00:21:03,700 --> 00:21:08,980 printf کے استعمال کر سکتے ہیں کہ ایک تقریب ہے پی ایچ پی میں، صرف میں سی میں اس کا استعمال کر سکتے ہیں پسند 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 دوسری٪ ے تبدیل کیا جاتا ہے $ قیمت کی قیمت کے ساتھ. 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 تو میں ٹاپنگ میں $ plugging رہا ہوں جہاں سرخ٪ 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 لیکن ہم یہ بھی ڈالر نشانیاں استعمال کر رہے ہیں پی ایچ پی میں متغیر کے نام کی نمائندگی کرنے، 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 >> تو اس طرح کی کے لئے اس analogize تم وہاں آخر میں دیکھ کر کیا. 443 00:22:19,530 --> 00:22:22,832 یہ اصل میں نہیں ہے پرنٹ الٹا سلیش (ن)، ٹھیک ہے؟ 444 00:22:22,832 --> 00:22:24,290 یہ ایک نئی سطر کردار باہر پرنٹ. 445 00:22:24,290 --> 00:22:26,750 یہ کرنے کے لئے نہیں جا رہا ہے is-- پرنٹ الٹا سلیش ڈالر کا نشان، 446 00:22:26,750 --> 00:22:30,130 یہ صرف باہر پرنٹ کرنے کے لئے جا رہا ہے ایک ڈالر کی نشانی کردار. 447 00:22:30,130 --> 00:22:30,640 ایک ہی خیال. 448 00:22:30,640 --> 00:22:32,760 انداز فرار، کیا ان چیزوں کو کہا جاتا ہے. 449 00:22:32,760 --> 00:22:37,080 >> لیکن میں نہیں کر رہا ہوں کہ محسوس ٪ s کو متبادل کے کسی بھی طرح، 450 00:22:37,080 --> 00:22:40,050 میں صرف لفظی plugging رہا ہوں ان متغیرات میں. 451 00:22:40,050 --> 00:22:45,110 اور اس طرح this-- میں یہاں کیا ہوگا ، کہ $ topping-- کی قدر ایک بار پھر ہے 452 00:22:45,110 --> 00:22:48,390 ہم کیا گیا ہے کے ساتھ رکھنے تو far-- پنیر کے بارے میں بات کر ملے گا 453 00:22:48,390 --> 00:22:49,720 وہاں میں پلگ. 454 00:22:49,720 --> 00:22:54,780 اور $ قیمت ہے جو قیمت ہو جائے گا پججا پر، مربع بریکٹ، پنیر، 455 00:22:54,780 --> 00:22:56,270 جو 8.99 تھا. 456 00:22:56,270 --> 00:23:01,860 اور اس طرح یہ بھی کو پرنٹ کریں گے "ایک پوری پنیر کا پیزا $ 8.99 اخراجات." 457 00:23:01,860 --> 00:23:05,160 جیسے میں نے کہا، میں استعمال کر سکتے ہیں بجائے گونج یہاں پرنٹ، 458 00:23:05,160 --> 00:23:08,040 اور فعالیت ہونا وہی بہت. 459 00:23:08,040 --> 00:23:09,660 یہ ایک ہی بات کو پرنٹ کریں گے. 460 00:23:09,660 --> 00:23:12,680 >> ایسا کرنے کے لئے ایک راستہ نہیں ہے، اور یہ ایک دوسرے فائدہ یہ ہے 461 00:23:12,680 --> 00:23:14,710 پی ایچ پی کی ڈور کے ساتھ کام کر رہے ہیں. 462 00:23:14,710 --> 00:23:17,130 ہم سٹرنگ concatenation کر سکتے ہیں. 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 >> تو میں نے "ایک پوری" concatenating کی ہوں اور تو جو کچھ بھی $ ٹاپنگ کی قدر ہے، 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 کی. 473 00:23:45,670 --> 00:23:47,926 اور اس طرح یہ بھی کریں گے "مجموعی" باہر پرنٹ - پھر، 474 00:23:47,926 --> 00:23:50,550 ہم سب سے پہلے کے بارے میں بات کر رہے ہیں تو کہ پججا صف کے عنصر 475 00:23:50,550 --> 00:23:54,710 "ایک پوری پنیر کا پیزا $ 8.99 اخراجات." 476 00:23:54,710 --> 00:24:01,260 مدت، پھر (ن)، کے ساتھ، $ ٹاپنگ اور $ قیمت substituting کی 477 00:24:01,260 --> 00:24:06,580 ہم اپنے جعلی foreach میں مخصوص کیا تھا کے لئے کلیدی قدر جوڑی تعریفیں کے طور پر لوپ. 478 00:24:06,580 --> 00:24:08,050 >> پی ایچ پی افعال کو سنبھال سکتا ہوں. 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 وہ واقعی نہیں ہے کیونکہ بات، ہم پی ایچ پی میں دیکھا ہے کی طرح. 484 00:24:21,410 --> 00:24:24,510 ہر تقریب پیش کیا جاتا ہے تقریب مطلوبہ الفاظ کے ساتھ. 485 00:24:24,510 --> 00:24:27,920 یہی ہے جو ہم کہ پی ایچ پی کو اس بات کی نشاندہی کے لئے کس طرح ہے کیا ہم کے بارے میں بات کر رہے ہیں ایک تقریب ہے. 486 00:24:27,920 --> 00:24:29,720 >> اور ہم نے کی ضرورت نہیں ہے میں تمام اہم کے ساتھ نمٹنے کے، 487 00:24:29,720 --> 00:24:33,690 مترجم کی وجہ سے، پی ایچ پی کی مترجم، اوپر سے نیچے کام کرتا ہے، 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 پر شروع آپ پی ایچ پی کی وہاں سے نیچے کام کرتے ہیں اور. 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 میں یہاں لوپ کے لئے ایک استعمال کر رہا ہوں. 499 00:25:00,870 --> 00:25:04,970 لیکن یہ بنیادی طور پر صرف، کیا یہ ہے صرف $ X بار $ ایکس کرنے کے مترادف ہے. 500 00:25:04,970 --> 00:25:10,520 کیا میں واقعی میں صرف اضافہ کر رہا ہے کر رہا ہوں X X اوقات 0 یا $ صفر $ 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 اور میں پی ایچ پی میں ایک تقریب بنا دیا ہے. 504 00:25:22,060 --> 00:25:24,160 >> یہاں آپ کو سیاق و سباق میں استعمال کر سکتے ہیں کس طرح ہے. 505 00:25:24,160 --> 00:25:26,020 تو شاید میں نے کچھ پی ایچ پی کی فائل کے اندر ہوں. 506 00:25:26,020 --> 00:25:29,240 وہاں اس نیلے رنگ میں نوٹس میں نے اپنے پی ایچ پی کی delimiters کا استعمال کیا ہے، 507 00:25:29,240 --> 00:25:31,010 زاویہ بریکٹ سوالیہ نشان پی ایچ پی. 508 00:25:31,010 --> 00:25:35,180 ان کے درمیان میں ہیں میں لکھنا چاہتا ہوں کہ پی ایچ پی. 509 00:25:35,180 --> 00:25:37,840 تو میں نے بظاہر get-- کرنے جا رہا ہوں میں صارف فوری طور پر جا رہا ہوں 510 00:25:37,840 --> 00:25:41,550 مجھے ایک نمبر، اسٹور دینے کے لئے متغیر، کہ متغیر $ 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 ہم شروع کرنے کے لئے نہیں کرنا چاہتے کیونکہ شہوت انگیز 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 کا استعمال کریں. اور اس طرح یہاں، 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 >> پی ایچ پی فائلوں کی ضرورت نہیں ہے صرف ایک فائل. 546 00:27:16,390 --> 00:27:19,480 تم ایک دوسرے کے ساتھ ایک سے زیادہ فائلوں کو اکٹھا کر سکتے، صرف C. میں آپ کر سکتے ہیں جس طرح چاہیں 547 00:27:19,480 --> 00:27:24,330 ہم C میں ایک کرنا عام طور پر تھا کہ کیا # شامل ہیڈر فائلوں میں نکالا حاصل کرنے کے لئے. 548 00:27:24,330 --> 00:27:26,180 ہم پی ایچ پی میں ایسا نہیں ہے. 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 اور یہ کہ فائل رہنا جا رہا ہے آپ پی ایچ پی پروگرام کے سب سے اوپر، 556 00:27:50,490 --> 00:27:56,980 آپ کی ضرورت ہوتی ہے ڈال دیا ہے کہ سنبھالنے آپ پی ایچ پی فائل کے سب سے اوپر آن لائن ایک بار. 557 00:27:56,980 --> 00:28:01,474 >> تو پی ایچ پی کی بنیادی طور پر، استعمال کیا جاتا ہے لیکن خاص طور پر، استعمال نہیں 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 ہم بہت زیادہ سب کچھ دیکھا ہے یہ سی کی طرح ہیں کہ کر سکتے ہیں کہ، 562 00:28:10,105 --> 00:28:13,290 اور اس کی ایک heck کر سکتے ہیں اس سے بھی زیادہ ایک بہت. 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 تمام ہے کہ ایک کمانڈ چلانے کے لئے کی ضرورت ہے پی ایچ پی میں لکھا ہے کہ لائن پروگرام 566 00:28:22,580 --> 00:28:24,260 آپ کو ایک پی ایچ پی کی ترجمان ہے. 567 00:28:24,260 --> 00:28:27,460 تو اس کے لئے قسم کی مثل ہے آپ کے سسٹم پر ایک سنکلک ہونے 568 00:28:27,460 --> 00:28:31,100 آپ کو آپ C کوڈ مرتب کرنے کے لئے چاہتے ہیں تو فائلوں میں تبدیل کرنے. 569 00:28:31,100 --> 00:28:33,810 آپ کو ایک پی ایچ پی کی ترجمان کی ضرورت ہے کہ آپ کے سسٹم پر موجود 570 00:28:33,810 --> 00:28:37,330 لہذا آپ کو پی ایچ پی فائلوں کی تشریح کر سکتے ہیں. 571 00:28:37,330 --> 00:28:40,370 >> تم کرتے ہو یہ سمجھتے ہوئے، اور عام طور پر اس مترجم، پی ایچ پی کہا جاتا ہے 572 00:28:40,370 --> 00:28:44,300 اور یہ عام طور پر سب سے زیادہ کے ساتھ بنڈل ہے ڈاؤن لوڈ یا پی ایچ پی کی تنصیبات 573 00:28:44,300 --> 00:28:47,430 آپ کو یقینی طور آن لائن حاصل، اور کر سکتے ہیں ایچ پی کی ترجمان کا نام 574 00:28:47,430 --> 00:28:49,550 ہم CS50 میں IDE ہے. 575 00:28:49,550 --> 00:28:51,819 تم کرتے ہو سب قسم پی ایچ پی فائل ہے. 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 یا، زاویہ بریکٹ سوالیہ نشان پی ایچ پی، پی ایچ پی کی delimiters، اور اسے باہر پرنٹ 580 00:29:03,160 --> 00:29:07,660 اور اس کی تشریح اور عملدرآمد کیا جائے گا آپ پی ایچ پی کی delimiters کے اندر کوڈ. 581 00:29:07,660 --> 00:29:12,850 >> تو CS50 IDE سے زیادہ پاپ دو اور پی ایچ پی کی فائلوں کے ایک جوڑے پر ایک نظر ہے، 582 00:29:12,850 --> 00:29:19,850 میں، پی ایچ پی کی فائلوں کے ایک جوڑے کو چلانے کے 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 اس کی اور بظاہر، مواد فائل، وہاں صرف پی ایچ پی کی delimiters ہیں 586 00:29:29,920 --> 00:29:32,220 اور، گونج کے درمیان میں ("ہیلو، دنیا"). 587 00:29:32,220 --> 00:29:34,710 یہ ایک بہت آسان پی ایچ پی پروگرام ہے. 588 00:29:34,710 --> 00:29:37,670 میں صرف ذیل میں سکرال کرنے جا رہا ہوں یہاں میرے ٹرمنل ونڈو میں، 589 00:29:37,670 --> 00:29:44,320 اور میں پی ایچ پی ٹائپ کرنے جا رہا ہوں hello1.php، درج کریں مارا. 590 00:29:44,320 --> 00:29:44,950 ہیلو، دنیا. 591 00:29:44,950 --> 00:29:48,110 کہ ہم کیا تھے شاید ایسا کرنے کے لئے امید کر رہا، ٹھیک ہے؟ 592 00:29:48,110 --> 00:29:51,140 >> کی جانا اور ڈالیں ایک اور پروگرام کو دیکھو. 593 00:29:51,140 --> 00:29:52,924 hello2.php. 594 00:29:52,924 --> 00:29:55,090 بہت ایک ہی بات، ایک بہت کچھ یہاں پر نہیں جا. 595 00:29:55,090 --> 00:29:57,190 اس بار، اگرچہ، میں فوری طور پر جا رہا ہوں صارف نے مجھے ان کے نام دینے کے لئے. 596 00:29:57,190 --> 00:29:59,290 میں نے پھر اس readline تقریب استعمال کر رہا ہوں. 597 00:29:59,290 --> 00:30:01,340 $ نام = readline. 598 00:30:01,340 --> 00:30:03,070 کہ فوری طور پر، ہے "آپ کا نام کیا ہے؟" 599 00:30:03,070 --> 00:30:04,880 >> بظاہر میں چھپائی رہا ہوں یہ اس کی اپنی لائن پر. 600 00:30:04,880 --> 00:30:07,220 اور پھر، تو کی لکیر سے نیچے کہ فوری طور پر ہو جائے گا 601 00:30:07,220 --> 00:30:08,750 جہاں صارف ان کے نام درج کر سکتے ہیں. 602 00:30:08,750 --> 00:30:12,030 اور پھر میں نے تھوڑا سا کا استعمال کرتے ہوئے کر رہا ہوں لائن 3 پر متغیر دخل 603 00:30:12,030 --> 00:30:14,780 "ہیلو" باہر پرنٹ کرنے کے لئے اور جو اندر صارف اقسام. 604 00:30:14,780 --> 00:30:22,040 تو یہ ہیلو، کہہ کے مطابق ہے، کوما،٪ S ہم C. میں printf استعمال کر رہے تھے تو 605 00:30:22,040 --> 00:30:24,910 >> تو جاؤ اور اس پروگرام کی تشریح دو. 606 00:30:24,910 --> 00:30:27,400 تو ایک بار پھر، میں ذیل میں سکرال کریں گے میرے ٹرمنل ونڈو میں. 607 00:30:27,400 --> 00:30:29,070 پی ایچ پی کی 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 میں نہیں ہے کہ کچھ ہے پی ایچ پی کی delimiters درمیان میں. 622 00:31:04,270 --> 00:31:07,760 میں صرف out-- یا میں چھپائی رہا ہوں صرف "آپ کا نام کیا ہے؟"، ٹائپ 623 00:31:07,760 --> 00:31:12,060 ایچ پی کی ترجمان اس کو دیکھتا ہے، تو یہ کوئی اندازہ نہیں ہے کہ کس طرح پی ایچ پی کے طور پر تشریح کی ہے، 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-- جب جا رہا ہوں ایچ پی کی ترجمان، اس کو دیکھتا ہے 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 لہذا، پی ایچ پی کے طور پر تشریح یہ کام کرتا ہے یہی وجہ ہے کہ. 630 00:31:29,970 --> 00:31:34,990 میں ضروری فوری طور پر کرنے کی ضرورت نہیں readline کی اندر صارف to--، 631 00:31:34,990 --> 00:31:37,490 میں نے صرف اسے باہر کر سکتے ہیں پی ایچ پی کی delimiters سے 632 00:31:37,490 --> 00:31:41,490 اور مترجم کی اجازت دیتے ہیں صرف میرے لئے اسے باہر پرنٹ کرنے کے لئے. 633 00:31:41,490 --> 00:31:45,364 >> تو آپ کو اصل میں صرف کی ضرورت نہیں ہے پی ایچ پی کی 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 ختم ہونے والی پی ایچ پی کی ایک سے زیادہ سیٹ. 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 بس کے طور پر پہلے، میں نے ایک ہی پی ایچ پی 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 پی ایچ پی کی 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 یہاں، میں پی ایچ پی کے ایک جوڑے کی ہے ہے وہاں سیٹ ختم ہونے والی، ٹھیک ہے؟ 661 00:32:54,460 --> 00:32:59,107 لکیریں 1، 3-- لائنوں 1 اور 3 کوئی پی ایچ پی کی delimiters ہے. 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 پر، ہم دیکھیں بہت واقف $؟ delimiters سے پی ایچ پی کی طرح، 666 00:33:11,220 --> 00:33:15,210 لہذا ان دو لائنیں ہیں پی ایچ پی کے طور پر پر عمل کرنے جا رہا. 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 >> یہ تاکہ عام ہے کہ باہر کر دیتا ہے ہم پی ایچ پی کی ایک سیٹ کو کھولنے کے اس وجہ سے 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 $ =؟ کہنے کے لئے پی ایچ پی کی آشلپی ہے $ طرح کچھ؟ بازگشت پی ایچ پی کی رقم 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 >> میں اس پروگرام، پی ایچ پی 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 اور میں واقعی پرواہ نہیں ہے کے بعد پی ایچ پی میں اعداد و شمار اقسام، میں 4.8 کہہ سکتے ہیں. 683 00:34:04,650 --> 00:34:07,160 ان دو نمبروں کی رقم 8.8 ہے. 684 00:34:07,160 --> 00:34:10,179 یہ فنکشن بہت برتاؤ ہم توقع کریں گے کے طور پر بالکل اسی، 685 00:34:10,179 --> 00:34:10,989 اس کے ساتھ ساتھ. 686 00:34:10,989 --> 00:34:13,114 اور میں نے ایک کھول دیا ہے یہاں dice.php بلایا. 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 ایک بار پھر اس کی کوشش کریں. 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 میں نے ایک یہاں بلایا ہے بھی، دیکھ جس dice1.php،، 691 00:34:33,280 --> 00:34:37,440 کہ زاویہ بریکٹ سوال ہے وہاں میں برابر علامت سنکیتن کو نشان زد کر، 692 00:34:37,440 --> 00:34:40,659 لیکن اس معاملے میں ہوں کہ محسوس تقریب رینڈ، بلا جس سے آپ کے طور پر 693 00:34:40,659 --> 00:34:42,790 توقع ہو سکتی ہے ایک بے ترتیب تعداد پیدا کرتا ہے. 694 00:34:42,790 --> 00:34:46,889 "آپ کو ایک نافذ" اور یہ جا رہا ہے + کچھ بے ترتیب تعداد، جدید 6 حساب 695 00:34:46,889 --> 00:34:47,389 1. 696 00:34:47,389 --> 00:34:49,989 تو ہے کہ مجھے نمبر دیں گے 1 سے 6 کی حد میں. 697 00:34:49,989 --> 00:34:53,040 >> جدید 6 مجھے دے گی یاد رکھیں کہ 0 5 کی حد میں ایک بڑی تعداد، 698 00:34:53,040 --> 00:34:56,630 لیکن میں نرد فہرستوں تخروپن ہوں تو، جو میں یہاں کیا کر رہا ہوں، 699 00:34:56,630 --> 00:35:00,040 میں ان نرد 0 سے جانے کے لئے نہیں کرنا چاہتے 5 میں 1 سے 6 تک جانا ہے کہ نرد چاہتے. 700 00:35:00,040 --> 00:35:02,800 اور اس طرح اس کو حاصل کرنے کا ایک طریقہ ہے 1 سے 6 کی حد میں مجھے. 701 00:35:02,800 --> 00:35:04,720 میں نے دو بار یہ کر رہا ہوں. 702 00:35:04,720 --> 00:35:08,630 تو بظاہر میں رولنگ ہوں اس پروگرام میں دو نرد. 703 00:35:08,630 --> 00:35:15,210 >> تو میں نے اپنے سکرین صاف کریں گے، اور میں پی ایچ پی 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 ہم اس کے ساتھ ساتھ پی ایچ پی میں ایسا کر سکتے ہیں کچھ انہوں نے مزید کہا کی طرف سے کہا 713 00:35:37,555 --> 00:35:40,026 ہمارے پی ایچ پی فائل کے سب سے اوپر ایک shebang کی. 714 00:35:40,026 --> 00:35:41,400 میں نے اسے ایک پاگل لفظ کی طرح ہے جانتے ہیں. 715 00:35:41,400 --> 00:35:44,540 یہ ہیش دھماکے کے لئے مختصر ہے. 716 00:35:44,540 --> 00:35:46,300 کہ پہلے دو حروف ہے. 717 00:35:46,300 --> 00:35:50,030 ہم فجائیہ نقطہ کال یاد رکھیں کمپیوٹر سائنس میں کثرت سے ایک دھماکے. 718 00:35:50,030 --> 00:35:51,690 یہ بھی تیز بینگ کے لیے ہو سکتا ہے. 719 00:35:51,690 --> 00:35:53,273 اس کی تشریح کرنے کے ایک جوڑے کے طریقوں ہے. 720 00:35:53,273 --> 00:35:57,320 لیکن یہ بنیادی طور پر ایک خاص طرح ہے کا حکم ہے کہ پی ایچ پی کی ترجمان 721 00:35:57,320 --> 00:36:00,160 اوہ، میں چاہتا ہوں، کے طور پر سمجھتا ہے آپ کو اس پروگرام پر عمل کرنے، 722 00:36:00,160 --> 00:36:05,250 جو بظاہر / صارف / بن / پی ایچ پی، ہے جو جہاں ایچ پی کی ترجمان اصل میں ہے 723 00:36:05,250 --> 00:36:08,590 خاص طور پر ہمارے نظام پر رہتا ہے. 724 00:36:08,590 --> 00:36:12,530 it's-- تو کیا ہے یہاں کیا ہوتا مترجم، اوہ، سمجھتا ہے 725 00:36:12,530 --> 00:36:17,270 میں بظاہر استعمال کرنے کے لئے کی توقع کر رہا ہوں اس پروگرام میں اس فائل کو چلانے کے لئے. 726 00:36:17,270 --> 00:36:20,010 اور اس طرح یہ آپ کی اجازت دیتا قدم پر جائیں کرنے کے لئے 727 00:36:20,010 --> 00:36:22,979 کے پی ایچ پی 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 بنانے کے لئے میں آپ کی پی ایچ پی فائلوں کارکردگی. 734 00:36:42,760 --> 00:36:49,330 تو کے طور پر اس پر ایک نظر ڈالیں CS50 IDE میں ہماری آخری مثال کے طور پر زیادہ. 735 00:36:49,330 --> 00:36:53,910 >> تو یہاں IDE میں اس میں دو فائلوں ہے نہیں ہونا ظاہر ہے کہ پی ایچ پی کی ڈائرکٹری 736 00:36:53,910 --> 00:36:55,310 پی ایچ پی نامی. 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 یہ ہیش نشان فجائیہ نقطہ. 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 پی ایچ پی، میں فائدہ نہیں ہے نحو کی اب اجاگر. 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-- یہ اب بھی ٹھیک، یہ اب بھی درست پی ایچ پی کی، 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، صرف میں سی پارٹی کے ساتھ جیسے. 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 >> یہ پی ایچ پی کی باقاعدہ باہر کر دیتا ہے کے طور پر فائلوں کو صرف پھانسی نہیں کیا جا سکتا. 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 اور اس طرح میں اجازت شامل کرنے کی ضرورت پھانسی کی، A + ایکس add3 سے chmod. 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 >> تاکہ بہت زیادہ ہے ایک پی ایچ پی کی نحو کے خیال، ٹھیک ہے؟ 767 00:38:33,680 --> 00:38:35,221 کے ذریعے حاصل کرنے کے لئے بہت کچھ ہے، مجھے معلوم ہے. 768 00:38:35,221 --> 00:38:39,160 لیکن امید ہے کہ آپ کہ پی ایچ پی اب دیکھا ہے C کی طرف سے سچ ہے کہ مختلف نہیں ہے 769 00:38:39,160 --> 00:38:43,670 اور واقعی ہمیں صلاحیت دیتا ایک نشان یا دو چیزیں لینے کے لئے. 770 00:38:43,670 --> 00:38:48,230 ہم واقعی میں فکر کرنے کی ضرورت نہیں ہے ہم واقعی نہیں about-- بہت زیادہ 771 00:38:48,230 --> 00:38:51,605 کے بارے میں بہت زیادہ فکر کرنے کی ضرورت کم سطح کی تفصیلات ہم 772 00:38:51,605 --> 00:38:52,980 دائیں، سی کے ساتھ کے بارے میں فکر کرنے کی ضرورت تھی؟ 773 00:38:52,980 --> 00:38:56,170 ہم اعلی پر توجہ مرکوز کر سکتے ہیں سطح کی چیزیں کہ پی ایچ پی 774 00:38:56,170 --> 00:39:01,090 ہمیں ایسا کرنے کی اجازت دیتا ہے کے لئے لے یہ ہمارے لئے کام کریں گے کہ حاصل کی جاچکی. 775 00:39:01,090 --> 00:39:04,350 تو یہ، اب ہمیں صلاحیت دیتا پی ایچ پی سی کی طرف سے تبدیل، 776 00:39:04,350 --> 00:39:08,280 بہت زیادہ ہیں کہ پروگرام بنانے کے لئے پیچیدہ اور شاید ایک بہت زیادہ مضبوط. 777 00:39:08,280 --> 00:39:13,070 >> تو میں آپ کو مزہ کام ہے امید ہے کہ پی ایچ پی کے ساتھ، اور میں ڈوگ لایڈ ہوں. 778 00:39:13,070 --> 00:39:15,050 یہ CS50 ہے. 779 00:39:15,050 --> 00:39:17,637