1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [سیکشن 8 - مزید آرام دہ اور پرسکون] 2 00:00:02,610 --> 00:00:04,910 [روب Bowden - ہارورڈ یونیورسٹی] 3 00:00:04,910 --> 00:00:07,070 یہ [CS50 ہے. CS50.TV] - 4 00:00:11,520 --> 00:00:14,160 >> یہ ہفتے کے سیکشن نوٹ بہت مختصر ہو جا رہے ہیں، 5 00:00:14,160 --> 00:00:19,070 تو میں صرف بات کر رکھنے کے لئے جا رہا ہوں، تم لوگ سوال پوچھ رکھنے کے لئے جا رہے ہیں، 6 00:00:19,070 --> 00:00:22,720 اور ہم نے ہر ممکن حد تک زیادہ سے زیادہ وقت پر کرنے کی کوشش کریں گے. 7 00:00:22,720 --> 00:00:31,950 بہت سے لوگوں کو لگتا ہے کہ کہ یہ pset ضروری مشکل نہیں ہے، لیکن یہ بہت طویل ہے. 8 00:00:31,950 --> 00:00:37,070 pset رپورٹ خود کو ایک گھنٹے پڑھ لیتا ہے. 9 00:00:40,530 --> 00:00:45,730 ہم آپ کو SQL آپ کو استعمال کرنے کے لئے ممکنہ طور پر کی ضرورت ہے کر سکتے ہیں کی ایک بہت دے. 10 00:00:45,730 --> 00:00:50,520 ہم آپ کو اس کا ایک بہت کے ذریعے چلتے ہیں، تو یہ بہت برا نہیں ہونا چاہئے. 11 00:00:50,520 --> 00:00:54,560 کیا کسی کو شروع یا ختم؟ 12 00:00:55,380 --> 00:00:59,710 یہ آخری pset ہے. اوہ، میرے خدا. 13 00:00:59,710 --> 00:01:05,400 عام طور پر اس کے بعد ایک جاوا سکرپٹ ہے، لیکن کیلنڈر کی تبدیلی کی چیزیں 14 00:01:05,400 --> 00:01:09,560 1 ہفتہ چھوٹا سب کچھ کرتا ہے، اور ہم اب کوئی جاوا اسکرپٹ pset. 15 00:01:09,560 --> 00:01:12,310 مجھے نہیں معلوم کہ وہ کس طرح اثر انداز ہوتا ہے کہ کیا جاوا سکرپٹ امتحان پر دکھایا جا رہا ہے 16 00:01:12,310 --> 00:01:15,510 یا 1 کوئز. 17 00:01:15,510 --> 00:01:22,260 میں سوچ بھی اس میں کچھ طرح آپ کو جاوا سکرپٹ کے بارے میں اعلی سطحی چیزوں کا جاننے کی ضرورت ہے، 18 00:01:22,260 --> 00:01:26,460 لیکن مجھے شک ہے کہ ہم آپ کو براہ راست جاوا سکرپٹ کے کوڈ دیں گے 19 00:01:26,460 --> 00:01:28,720 کیونکہ تم اس میں ایک pset تھا نہیں. 20 00:01:28,720 --> 00:01:33,000 لیکن اس کوئز جائزہ لینے کے لئے چیزیں اگلے ہفتے ہو جائے گا. 21 00:01:33,000 --> 00:01:36,320 >> سوالات کے سیکشن ہے. 22 00:01:36,320 --> 00:01:43,870 اس چیز کی ایک بہت کسی حد تک غیر تسلی بخش الفاظ میں ہے، لیکن ہم کیوں بات کریں گے. 23 00:01:43,870 --> 00:01:50,220 C کے برعکس، پی ایچ پی "کو متحرک ٹائپ" زبان ہے. اس کا کیا مطلب ہے، آپ سے پوچھنا؟ 24 00:01:50,220 --> 00:01:53,830 ٹھیک ہے، الوداع کہنے کا ان چار، فلوٹ، int، اور دیگر مطلوبہ الفاظ کی تمام آپ کو استعمال کرنے کی ضرورت 25 00:01:53,830 --> 00:01:56,190 C. میں متغیر اور افعال اعلان جب 26 00:01:56,190 --> 00:02:00,420 پی ایچ پی میں ایک متغیر کی قسم قدر ہے کہ وہ اس وقت پکڑ کی طرف سے مقرر کیا جاتا ہے. 27 00:02:00,420 --> 00:02:04,990 تو اس سے پہلے کہ ہم نامی dynamic.php فائل میں اس کوڈ کو ٹائپ کریں، 28 00:02:04,990 --> 00:02:12,670 پی ایچ پی کو متحرک طور پر ٹائپ ہے. یہ سچ ہے. 29 00:02:12,670 --> 00:02:17,590 میں یہ حقیقت ہے کہ اس کا مطلب ہے کہ ہم نے چار، فلوٹ کو الوداع کہہ رہے ہو، int کے ساتھ متفق نہیں ہوں، 30 00:02:17,590 --> 00:02:20,620 اور دیگر مطلوبہ الفاظ. 31 00:02:20,620 --> 00:02:25,510 کو متحرک طور پر ٹائپ شدہ اور متبادل کے درمیان عین مطابق فرق، 32 00:02:25,510 --> 00:02:32,010 جو statically ٹائپ ہے، کو متحرک طور پر ٹائپ، آپ کی قسم جانچ اور پڑتال کا سامان سب 33 00:02:32,010 --> 00:02:37,350 رن وقت ہوتا ہے، جبکہ statically ٹائپ یہ تالیف وقت ہوتا ہے. 34 00:02:37,350 --> 00:02:43,030 عام طور پر مستحکم لفظ تالیف کو وقت کی چیزوں کا مطلب ہے. 35 00:02:43,030 --> 00:02:48,170 مجھے لگتا ہے کہ اس کے لئے دوسرے استعمال ہیں، لیکن C جب آپ ایک مستحکم متغیر کا اعلان 36 00:02:48,170 --> 00:02:52,650 اس کی ذخیرہ تالیف وقت مختص ہے. 37 00:02:52,650 --> 00:02:59,260 یہاں ہے، کو متحرک طور پر ٹائپ کا مطلب صرف اتنا ہے کہ - 38 00:02:59,260 --> 00:03:04,350 C میں، اگر آپ ایک سٹرنگ اور ایک عددی کو شامل کرنے کے لئے، جب آپ نے اسے مرتب کرنے کی کوشش 39 00:03:04,350 --> 00:03:11,000 کیونکہ اس کا کہنا ہے کہ آپ کو ایک int ہے اور پوائنٹر کو شامل نہیں کر سکتے ہو رہا ہے شکایت کرنے جا رہا ہے. 40 00:03:11,000 --> 00:03:14,710 یہ صرف نہیں ہے ایک درست آپریشن ہے. 41 00:03:14,710 --> 00:03:21,170 یہ ایک اور بات یہ ہے کہ ہم ایک دوسرے میں حاصل کرنے کے لئے کریں گے ہے. 42 00:03:21,170 --> 00:03:24,860 لیکن چیکنگ کے اس طرح سے، حقیقت یہ ہے کہ یہ تالیف وقت شکایت 43 00:03:24,860 --> 00:03:29,220 مستحکم قسم کی چیکنگ ہے. 44 00:03:29,220 --> 00:03:35,220 زبانوں جہاں آپ کو چار، فلوٹ، int کہنے کی ضرورت نہیں ہے، اور سب کے سب وہ چیزیں ہیں، 45 00:03:35,220 --> 00:03:40,940 لیکن زبان بات کے تناظر سے بتا کس قسم کا ہونا چاہیے ہے، 46 00:03:40,940 --> 00:03:43,980 لیکن یہ اب بھی statically ٹائپ ہے. 47 00:03:43,980 --> 00:03:49,000 تو اگر آپ 51 OCaml لیتے ہیں، تو آپ کو ان اقسام میں سے کسی کو استعمال کرنے کے لئے نہیں کی ضرورت ہے، 48 00:03:49,000 --> 00:03:58,700 لیکن یہ اب بھی آپ کو یہ نہیں کیونکہ آپ کو ایک int اور ایک تار اختلاط رہے ہیں کر سکتے ہیں تالیف وقت کہیں گے. 49 00:03:58,700 --> 00:04:05,650 متحرک طور سے ٹائپ کا مطلب یہ ہے کہ آپ کچھ دیر چلانے کے وقت کے دوران ایک شکایت کو حاصل کرنے کے لئے جا رہے ہیں. 50 00:04:05,650 --> 00:04:13,430 اگر آپ بھی جاوا استعمال کیا ہے سے پہلے عام طور پر، تقریبا کسی بھی زبان C قسم 51 00:04:13,430 --> 00:04:20,070 ہے statically ٹائپ، تو C، C + +، جاوا، ان میں سے سب statically عام طور پر ٹائپ کر رہے ہیں کیا جا رہا ہے. 52 00:04:20,070 --> 00:04:22,910 جاوا میں تم سے کچھ جب مرتب اور تم کہہ رہے ہو 53 00:04:22,910 --> 00:04:26,670 سٹرنگ کچھ نیا کہ ایک تار نہیں ہے برابر، 54 00:04:26,670 --> 00:04:28,950 ہے کہ کیونکہ ان اقسام کو صرف سے مماثل نہیں ہے شکایت کرنے جا رہا ہے. 55 00:04:28,950 --> 00:04:31,180 یہ تالیف وقت شکایت کرنے جا رہا ہے. 56 00:04:31,180 --> 00:04:36,750 لیکن یہ بھی کچھ متحرک وقت چیزیں پسند ہے اگر آپ کچھ ڈالنے کی کوشش کرتے ہیں 57 00:04:36,750 --> 00:04:40,500 ایک قسم ہے جو اس کی موجودہ قسم سے زیادہ مخصوص ہے، 58 00:04:40,500 --> 00:04:45,610 وہاں کچھ بھی نہیں ہے یہ تالیف وقت چیک کرنے کے لیے چاہے وہ کاسٹ کامیاب ہونے جا رہا ہے کر سکتے ہیں ہے. 59 00:04:45,610 --> 00:04:51,130 جاوا بھی کچھ متحرک ہے کہ جانچ پڑتال کی قسم ہے، جیسے ہی یہ کوڈ کے لائن پر ہو جاتا ہے 60 00:04:51,130 --> 00:04:54,130 جب یہ اصل میں قتل ہے، اس کاسٹ کیا جا رہا ہے، 61 00:04:54,130 --> 00:04:56,260 اگر یہ کاسٹ پہلی جگہ میں صحیح تھا چیک کرنے کے لیے، 62 00:04:56,260 --> 00:04:59,890 اور اگر یہ نہیں تھا، تو یہ شکایت ہے کہ آپ کو ایک غلط قسم ہے جا رہا ہے. 63 00:04:59,890 --> 00:05:03,200 متحرک قسم کی جانچ ہو رہی ہے. 64 00:05:03,200 --> 00:05:07,010 نامی dynamic.php فائل میں یہ ٹائپ کریں. 65 00:05:10,130 --> 00:05:12,380 Dynamic.php. 66 00:05:14,580 --> 00:05:17,190 میں اس فارمیٹنگ کو ان زپ کریں گے. 67 00:05:18,750 --> 00:05:21,880 ہم نے ایک متغیر ہے، ہم اسے عددی 7 قائم کرنے، 68 00:05:21,880 --> 00:05:27,930 تو پھر ہم اور٪ s کو پرنٹ کرنے کے لئے جا رہے ہیں - 69 00:05:27,930 --> 00:05:32,830 اوہ، ہم اس کی قسم چھپائی رہے ہیں، تو gettype متغیر کی قسم واپس جا رہا ہے. 70 00:05:32,830 --> 00:05:35,720 ہم صرف کی قسم چھپائی سے زیادہ بار بار کر رہے ہیں. 71 00:05:35,720 --> 00:05:39,440 ہمیں صرف php.dynamic.php. 72 00:05:39,440 --> 00:05:45,920 ہم دیکھیں گے کہ عددی سے بولین پر سٹرنگ تبدیلیوں کے طور پر ہم کے ذریعے جانا. 73 00:05:45,920 --> 00:05:54,590 C میں کوئی بولین ڈیٹا کی قسم ہے، اس کے جملے کی معلومات کی قسم ہے. 74 00:05:54,590 --> 00:06:00,500 حروف * ہے اور بولین int یا چار یا کچھ اور ہو جاتا ہے. 75 00:06:00,500 --> 00:06:05,690 پی ایچ پی میں ان اقسام موجود ہیں، اور یہ C پر پی ایچ پی کے بڑے فوائد میں سے ایک ہے - 76 00:06:05,690 --> 00:06:13,290 کہ سٹرنگ آپریشن infinitely سی سے پی ایچ پی میں آسانی سے وہ صرف کام ہے. 77 00:06:13,290 --> 00:06:18,290 >> تو ہم یہاں واپس آتے ہیں. 78 00:06:18,290 --> 00:06:21,260 ہم نے dynamic.php بھاگ گیا. 79 00:06:21,260 --> 00:06:26,710 یہ پی ایچ پی کی ترجمان، سے ملاقات کی پی ایچ پی کی ہے، dynamic.php میں پی ایچ پی کوڈ چلانے کہتا ہے. 80 00:06:26,710 --> 00:06:30,250 اگر آپ کے پاس فائل میں کسی بھی غلطی ہے، مترجم آپ کو بتائیں گے! 81 00:06:30,250 --> 00:06:39,110 مترجم، یہ پی ایچ پی اور سی کے درمیان ایک بڑا فرق ہے 82 00:06:39,110 --> 00:06:48,200 C میں تم سے کچھ کو مرتب اور پھر آپ اس مرتب فائل کو چلانا ہے. 83 00:06:48,200 --> 00:06:50,490 پی ایچ پی میں آپ کو کسی بھی چیز کی کبھی نہیں تالیف. 84 00:06:50,490 --> 00:06:57,200 تو پی ایچ پی کی ترجمان بنیادی طور پر لائن کی طرف سے ہے اس لائن پڑھ. 85 00:06:57,200 --> 00:07:02,900 یہ اختیار کرنے متغیر 7 = پھر یہ printf تو مار دیتی ہے یہ متغیر مار دیتی ہے تو اس printf اور اس پرہار. 86 00:07:02,900 --> 00:07:10,910 مرتب کرتا ہے تھوڑا سا ہے، اور اس کے نتائج کیش 87 00:07:10,910 --> 00:07:15,510 اگر ایسا ہے تو آپ کو سکرپٹ چلانے کے بعد آپ کو کچھ کر سکتے ہیں، 88 00:07:15,510 --> 00:07:19,280 لیکن بنیادی طور پر یہ بات کی لائن ترتیب دیں کی طرف سے ایک لائن ہے. 89 00:07:19,280 --> 00:07:25,280 اس کا مطلب یہ ہے کہ، اصلاحات ہے کہ ہم سی کی ایک بہت 90 00:07:25,280 --> 00:07:31,920 مرتب کی طرح، یہ صرف عام طور پر کمپائلر آپ کے لئے ترکیبیں کے ایک بہت کچھ کر سکتے ہیں. 91 00:07:31,920 --> 00:07:36,110 یہ غیر استعمال شدہ متغیر لے جا سکتے ہیں، یہ ان قسم کی چیزوں کی سب کر سکتے ہیں، 92 00:07:36,110 --> 00:07:38,660 یہ دم کی تکرار کر سکتے ہیں. 93 00:07:38,660 --> 00:07:42,550 پی ایچ پی میں آپ کو اس فائدہ حاصل کرنے کے لئے نہیں کر رہے ہیں 94 00:07:42,550 --> 00:07:45,690 کیونکہ یہ صرف لائن کی طرف سے لائن کی طرف سے لائن پر عمل شروع ہو رہا ہے، 95 00:07:45,690 --> 00:07:49,950 اور اس نے ان چیزوں کو واقعی نہیں ہے آسانی سے تسلیم 96 00:07:49,950 --> 00:07:54,440 کیونکہ یہ 1 چیز پر بڑا تالیف پاس اور پھر پھانسی نہیں ہے؛ 97 00:07:54,440 --> 00:07:56,860 لائن کی طرف سے لائن ہے. 98 00:08:00,730 --> 00:08:02,750 تو وہ مترجم ہے. 99 00:08:02,750 --> 00:08:06,840 >> ہمارے متحرک ٹائپنگ کی حمایت: خوبصورت ڈاؤن لوڈ، اتارنا، اہ؟ 100 00:08:06,840 --> 00:08:08,640 تم ضرور C میں نہیں کر سکا! 101 00:08:08,640 --> 00:08:11,860 اب، دیکھو، اگر آپ کو درج ذیل اقدار میں سے ہر ایک کی قسم اعداد و شمار کر سکتے ہیں. 102 00:08:11,860 --> 00:08:14,760 اس ریفرنس کے لئے ملاحظہ کریں. 103 00:08:14,760 --> 00:08:19,420 تو 3.50. کس قسم کی آپ کے خیال میں جو ہو رہا ہے؟ 104 00:08:24,480 --> 00:08:26,370 اقسام ہم نے یہ ہیں. 105 00:08:26,370 --> 00:08:30,430 ہم bools، integers، سچل پوائنٹس، ڈور، arrays، اشیاء ہیں، 106 00:08:30,430 --> 00:08:38,370 اور پھر وسائل، جو مبہم کی طرح ہے. 107 00:08:38,370 --> 00:08:41,010 مجھے لگتا ہے کہ اصل میں ایک مثال یہاں ہے. 108 00:08:41,010 --> 00:08:43,740 پھر نل ہے. نل ایک خاص قسم ہے. 109 00:08:43,740 --> 00:08:47,140 C جہاں نل 0 ایڈریس کے ساتھ ایک پوائنٹر کے برعکس، 110 00:08:47,140 --> 00:08:54,930 پی ایچ پی میں، نل اس کی اپنی قسم ہے جہاں صرف اس قسم کی درست بات خالی ہے ہے. 111 00:08:57,560 --> 00:09:00,670 یہ غلطی پرکھنے کے لئے بہت مفید ہے. 112 00:09:00,670 --> 00:09:04,310 C جہاں ہم نے اس معاملے میں جہاں اگر آپ نل واپس، 113 00:09:04,310 --> 00:09:08,660 کیا اس کا مطلب ہے کہ آپ کو ایک نل پوائنٹر واپس لوٹنے رہے ہیں یا نل کا استعمال کرتے ہوئے غلطی کی نشاندہی 114 00:09:08,660 --> 00:09:12,380 یا اس برم کی تمام ہم ایک نقطہ پر تھا. 115 00:09:12,380 --> 00:09:18,440 یہاں، نل واپس لوٹنے عام طور پر غلطی کا مطلب ہے. 116 00:09:20,860 --> 00:09:27,300 بہت سی چیزیں بھی غلطی کے لئے جھوٹے واپس. 117 00:09:27,300 --> 00:09:33,140 نل قسم کی صرف ایک ہی چیز ہے لیکن نکتہ نل پر قسم ہے، نل ہے. 118 00:09:33,140 --> 00:09:40,090 پھر واپسی کال ہے جیسا کہ تم نے کچھ گمنام افعال کی وضاحت کر سکتے ہیں. 119 00:09:40,090 --> 00:09:46,420 تقریب میں ایک کا نام دینے کے نہیں ہے، لیکن تم اس کے ساتھ یہاں پر نمٹنے کی ضرورت نہیں کرے گا. 120 00:09:46,420 --> 00:09:53,940 کی تلاش میں قسم کی ہے کہ وہ ہمیں جاننے کی امید رکھتے ہیں، 121 00:09:53,940 --> 00:09:59,000 کیا تمہیں لگتا ہے کہ 3.50 کی قسم ہے؟ >> [طالب علم کو] فلوٹ. 122 00:09:59,000 --> 00:10:00,370 جی ہاں. 123 00:10:00,370 --> 00:10:06,290 تو پھر یہاں کیا آپ کو لگتا ہے اس کی قسم ہے؟ >> [طالب علم] لڑی. 124 00:10:06,290 --> 00:10:09,890 جی ہاں. پہلا ایک فلوٹ تھا، اور دوسرا شخص ایک صف ہے. 125 00:10:09,890 --> 00:10:14,500 یاد رکھیں کہ اس صف C صف کی طرح نہیں ہے 126 00:10:14,500 --> 00:10:19,610 1 صفحہ جہاں آپ انڈیکس ہے 0 کچھ اہمیت کی حامل ہے، کوئی قیمت نہیں ہے. 127 00:10:19,610 --> 00:10:26,320 یہاں سوچکانکوں میں اے، بی، سی اور اور اقدار 1، 2، اور 3. 128 00:10:26,320 --> 00:10:33,980 پی ایچ پی میں ساہچری صف اور صرف ایک باقاعدہ صف کے درمیان کوئی فرق نہیں ہے 129 00:10:33,980 --> 00:10:36,740 کے طور پر آپ کو اس کی سی میں لگتا ہے کہ 130 00:10:36,740 --> 00:10:43,040 صرف یہ ہے، اور ہڈ کے نیچے ایک باقاعدہ صف صرف ایک ساہچری سرنی ہے 131 00:10:43,040 --> 00:10:50,000 جہاں کسی قدر 0 نقشے اسی طرح کسی قدر ایک نقشے. 132 00:10:50,000 --> 00:11:00,410 اس کی وجہ سے، پی ایچ پی کی واقعی روزہ چیزیں کوڈ / بینچ مارکنگ کے لئے بہت برا ہو سکتا ہے 133 00:11:00,410 --> 00:11:07,930 کے بعد سے سی جب آپ ایک صف کا استعمال کرتے ہوئے کر رہے ہیں آپ جانتے ہیں کہ ایک رکن تک رسائی حاصل کرنے میں مسلسل وقت ہے. 134 00:11:07,930 --> 00:11:11,860 پی ایچ پی کی ایک رکن تک رسائی حاصل کرنے میں ہے جو کتنا وقت جانتا ہے؟ 135 00:11:11,860 --> 00:11:18,970 یہ شاید مسلسل ہے اگر یہ hashes درست طریقے سے. 136 00:11:18,970 --> 00:11:21,620 کون جانتا ہے کہ کیا یہ واقعی ہڈ کے نیچے کر رہی ہے؟ 137 00:11:21,620 --> 00:11:25,600 تم واقعی عملدرآمد میں یہ دیکھنے کی ضرورت ہے کہ یہ کس طرح اس کے ساتھ نمٹنے کے لئے جا رہا ہے پر نظر کرنے کی ضرورت ہے. 138 00:11:25,600 --> 00:11:28,550 تو fopen. 139 00:11:28,550 --> 00:11:36,420 مجھے لگتا ہے کہ ہم صرف پی ایچ پی کی دستی fopen واپسی کی قسم کو دیکھنے کے لئے. 140 00:11:36,420 --> 00:11:41,260 ہم یہاں دیکھ کر آپ کو نظر بہت PHP دستی میں کوئی کام کر سکتے ہیں 141 00:11:41,260 --> 00:11:47,540 اور اس طرح کی پی ایچ پی آدمی صفحے کے ہے. 142 00:11:47,540 --> 00:11:51,060 واپسی قسم کے وسائل کی جا رہی ہے. 143 00:11:51,060 --> 00:11:56,050 یہی وجہ ہے کہ میں نے اسے دیکھا، کیونکہ ہم وسائل واقعی نہیں تھا کی وضاحت. 144 00:11:56,050 --> 00:12:04,110 وسائل کے خیال، آپ C میں اس قسم کی ایک فائل * یا جو کچھ بھی ہے، 145 00:12:04,110 --> 00:12:07,200 وسائل کی پی ایچ پی میں آپ کی فائل کی * ہے. 146 00:12:07,200 --> 00:12:10,360 یہ ہے جو تم سے پڑھنے جا رہے ہیں، آپ کو کیا لکھنے جا رہے ہیں. 147 00:12:10,360 --> 00:12:20,710 یہ عام طور پر بیرونی ہے، تو یہ ایک وسائل ہے تم سے چیزوں کو ھیںچو کر سکتے ہیں اور چیزیں پھینک کر سکتے ہیں ہے. 148 00:12:20,710 --> 00:12:26,520 اور آخر میں، نل کی قسم کیا ہے؟ >> [طالب علم]، اتارنا null. 149 00:12:26,520 --> 00:12:30,650 جی ہاں. تو صرف ایک ہی چیز ہے جو نل ہے خالی ہے. 150 00:12:30,650 --> 00:12:33,480 نل نل ہے. 151 00:12:35,490 --> 00:12:41,170 >> پی ایچ پی کی قسم نظام (بہتر یا برے کے لئے) میں سے ایک خصوصیت اس کی اقسام juggle کرنے کی صلاحیت ہے. 152 00:12:41,170 --> 00:12:44,390 ، جب آپ پی ایچ پی کوڈ ہے جو مختلف قسم کی اقدار کو اکٹھا کی ایک لائن لکھنے 153 00:12:44,390 --> 00:12:46,670 پی ایچ پی سمجھدار بات کرنے کی کوشش کی جائے گا. 154 00:12:46,670 --> 00:12:48,920 پی ایچ پی کوڈ کے مندرجہ ذیل لائنوں میں سے ہر ایک کی کوشش کریں. کیا چھپا ہے؟ 155 00:12:48,920 --> 00:12:51,000 یہ کیا ہے آپ کی امید ہے؟ یا نہیں کیوں؟ 156 00:12:51,000 --> 00:12:58,600 پی ایچ پی کے بارے میں یہ حقیقت یہ ہے کہ یہ کیا کرتا ہے جو ہم کہتے ہیں کمزور ٹائپ. 157 00:12:58,600 --> 00:13:04,610 کمزور ٹائپ اور سخت ٹائپ، 158 00:13:04,610 --> 00:13:06,840 ان شرائط کے لئے مختلف استعمال ہیں، 159 00:13:06,840 --> 00:13:12,020 لیکن زیادہ تر لوگوں کو کمزور کو ٹائپ اور سخت ٹائپ کا استعمال کرتے ہیں اس طرح کی چیز کا مطلب 160 00:13:12,020 --> 00:13:15,920 ("1" 2 +) جہاں، کہ کام کرتا ہے. 161 00:13:15,920 --> 00:13:18,290 C میں کام نہیں کریں گے. 162 00:13:18,290 --> 00:13:22,490 آپ یہ کام نہیں کر تصور کر سکتے ہیں. 163 00:13:22,490 --> 00:13:29,200 بہت سے لوگوں کی ایک متحرک ٹائپنگ اور کمزور ٹائپنگ اور مستحکم ٹائپنگ اور مضبوط ٹائپنگ دوسو 164 00:13:29,200 --> 00:13:34,050 ازگر ایک ایسی زبان ہے جو کو متحرک طور پر ٹائپ کی ایک اور مثال ہے. 165 00:13:34,050 --> 00:13:41,770 آپ کو متغیر میں اقسام کے ارد گرد پھینک اور رن کے وقت کا تعین کرنے جا رہا ہے کر سکتے ہیں 166 00:13:41,770 --> 00:13:44,680 کسی بھی غلطی checkings. 167 00:13:44,680 --> 00:13:50,740 ازگر میں اس پر عمل کرنے اور اس ("1" 2 +) جا رہا ہے؛ 168 00:13:50,740 --> 00:13:55,920 اور اس میں ناکام رہتے ہیں کیونکہ اس کا کہنا ہے کہ آپ کو ایک اسٹرنگ اور ایک عددی شامل نہیں کر سکتے. 169 00:13:55,920 --> 00:14:00,860 میں پی ایچ پی، جس میں صرف کے طور پر متحرک طور پر ٹائپ ہے، یہ ناکام نہیں ہو گا. 170 00:14:00,860 --> 00:14:04,220 کمزور ٹائپنگ حقیقت یہ ہے کہ یہ اقسام کے ساتھ چیزیں کرتا ہے کے ساتھ کیا ہے 171 00:14:04,220 --> 00:14:07,800 اس لحاظ سے واقعی نہیں کرنا ضروری ہے. 172 00:14:07,800 --> 00:14:17,420 تو ("1" 2 +)، میں یہ تصور کریں کہ میں 12 سٹرنگ ہونے کا تصور، اسے 3 سٹرنگ ہونے کی وجہ سے کر سکتے ہیں کر سکتے ہیں، 173 00:14:17,420 --> 00:14:20,710 میں تصور کر سکتے ہیں یہ عددی 3 ہونے کے. 174 00:14:20,710 --> 00:14:24,530 یہ، ضروری نہیں ہے کی وضاحت اور ہم شاید یہاں دیکھنے کے لئے جا رہے ہیں 175 00:14:24,530 --> 00:14:29,140 کہ جب ہم پرنٹ ("1" 2 +)، یہ شاید مختلف ہونے کے ختم ہو رہا ہے 176 00:14:29,140 --> 00:14:32,320 پرنٹنگ سے (1 + "2"). 177 00:14:32,320 --> 00:14:39,700 اور یہ برے کے لئے میری رائے میں،، جاتا ہے. 178 00:14:39,700 --> 00:14:44,240 یہاں ہم ان کی کوشش کر سکتے ہیں. 179 00:14:44,240 --> 00:14:48,740 پی ایچ پی کے بارے میں ایک اور چھوٹی سی چال ہے کہ آپ اصل فائل کو لکھنے کی ضرورت نہیں ہے. 180 00:14:48,740 --> 00:14:52,790 اس سے فرق پڑتا ہے اس کمانڈ موڈ چلائیں. 181 00:14:52,790 --> 00:14:57,710 تو پی ایچ پی کی R-، تو ہم یہاں کمانڈ میں پھینک کر سکتے ہیں: 182 00:14:57,710 --> 00:15:06,610 پرنٹ کریں ('1 '2 +) "اور میں ایک نئی سطر میں پھینک دونگا. 183 00:15:19,550 --> 00:15:23,970 یہ 3 طباعت. 184 00:15:31,100 --> 00:15:35,330 ایسا لگتا ہے جیسے یہ 3 پرنٹ اور عددی 3. 185 00:15:35,330 --> 00:15:38,420 تو اب ہم کے ارد گرد دوسرے طریقے سے کرنے کی کوشش کریں: 186 00:15:38,420 --> 00:15:42,970 "پرنٹ کریں (1 + '2 ')؛ 187 00:15:45,560 --> 00:15:50,490 ہم 3 ملتا ہے، اور یہ بھی 3 عددی جا؟ میں ایمانداری کا کوئی خیال نہیں ہے. 188 00:15:50,490 --> 00:15:54,030 ایسا لگتا ہے اس طرح مسلسل ہے. 189 00:15:54,030 --> 00:15:59,550 یہ سٹرنگ 12 یا ایسا کچھ بھی ہونے کا کوئی موقع کبھی نہیں ہے کہ 190 00:15:59,550 --> 00:16:08,080 کیونکہ پی ایچ پی، کے برعکس جاوا سکرپٹ اور جاوا بھی، 191 00:16:08,080 --> 00:16:11,670 concatenation کے لئے ایک علیحدہ آپریٹر ہے. 192 00:16:11,670 --> 00:16:14,930 پی ایچ پی میں Concatenation ڈاٹ ہے. 193 00:16:14,930 --> 00:16:22,950 تو پرنٹنگ (1 '2 '.)، ہمیں 12 دینے جا رہی ہے. 194 00:16:25,790 --> 00:16:32,420 یہ الجھن جہاں لوگ STR = + طرح کچھ کرنے کی کوشش کروں کی قیادت جاتا 195 00:16:32,420 --> 00:16:37,840 کچھ دوسری بات یہ ہے کہ وہ ان کے تار کے آخر میں شامل کرنا چاہتے ہیں، اور یہ کہ کرنے میں ناکام ہو رہا ہے. 196 00:16:37,840 --> 00:16:40,770 آپ STR کرنے کی ضرورت =. 197 00:16:42,000 --> 00:16:46,240 تو نہیں بھولنا concatenation پی ایچ پی میں ایک نقطہ ہے. 198 00:16:46,240 --> 00:16:52,100 دیگر چیزوں کو کرنے کی کوشش کریں: پرنٹ کریں ("CS" 50 +)؛ 199 00:16:55,750 --> 00:17:03,610 میں نے تم سے کہا ہے کہ اس کی کوئی امید نہیں ہے CS50 کے نتیجے میں نہیں ہے 200 00:17:03,610 --> 00:17:06,119 کے بعد concatenation + نہیں ہے. 201 00:17:06,119 --> 00:17:08,440 آپ کو کیا لگتا ہے یہ کیا جا رہا ہے ختم ہو رہا ہے؟ 202 00:17:10,359 --> 00:17:13,460 میں ایمانداری سے بالکل کوئی اندازہ نہیں ہے. 203 00:17:14,250 --> 00:17:16,460 ایسا لگتا ہے جیسے یہ صرف 50 ہے. 204 00:17:16,460 --> 00:17:21,490 یہ سٹرنگ دیکھتا ہے، اور میں شرط لگا سکتا ہوں کہ اگر ہم 123CS ڈال - 205 00:17:21,490 --> 00:17:29,640 یہ پہلا سٹرنگ دیکھتا ہے، اس کی جانب سے ایک عددی یا اس کی طرف سے ایک بڑی تعداد کو پڑھنے کے لئے کی کوشش کرتا ہے. 206 00:17:29,640 --> 00:17:31,710 اس صورت میں یہ 123CS دیکھتا ہے. 207 00:17:31,710 --> 00:17:35,190 "یہ ایک عددی کے طور پر کوئی مطلب نہیں ہے، تو میں صرف 123 کے بارے میں سوچو جا رہا ہوں." 208 00:17:35,190 --> 00:17:38,580 123 تو 50 + 173 جا رہا ہے. 209 00:17:38,580 --> 00:17:40,740 اور یہ ایک عددی طور پر اس کی تلاوت شروع ہوتا ہے. 210 00:17:40,740 --> 00:17:45,690 تو اس سے بھی کچھ نظر نہیں ہے، یہ صرف اس 0 طور پر علاج کرتا ہے. 0 تو 50 + 50 کی جا رہی ہے. 211 00:17:45,690 --> 00:17:51,600 یہ مجھے سنبھالنے رہا ہوں اسی طرح کچھ کرنے کے لئے جا رہا ہے. 212 00:17:51,600 --> 00:17:54,310 میں 99 میں سوچ رہا ہوں. 213 00:17:54,310 --> 00:17:57,580 جی ہاں، کیونکہ یہ پہلی لے جا رہا ہے - 214 00:18:12,880 --> 00:18:15,730 تو 99. 215 00:18:15,730 --> 00:18:21,970 یہاں (10/7)، اگر یہ C تھے، کہ جو لوٹ آئیں گے؟ 216 00:18:23,700 --> 00:18:29,630 1 [طالب علم. >> جی ہاں، یہ 1 کیونکہ 10/7 2 integers تقسیم کر رہا ہے. 217 00:18:29,630 --> 00:18:32,910 ایک عددی کے ذریعے تقسیم کی عددی ایک عددی واپس جا رہا ہے. 218 00:18:32,910 --> 00:18:37,750 1 نقطہ جو کچھ بھی ہو گا واپس نہیں کر سکتے ہیں، تو یہ صرف 1 واپس جا رہا ہے. 219 00:18:37,750 --> 00:18:46,120 یہاں پرنٹنگ (10/7)، یہ اصل میں اس کی تشریح کی جا رہا ہے. 220 00:18:46,120 --> 00:18:53,760 اور اس کا مطلب یہ ہے کہ اگر آپ نے اصل میں اس طرح عددی پکڑ دھکڑ اور سامان کرنا چاہتے ہیں تو، 221 00:18:53,760 --> 00:18:59,950 آپ پرنٹ کریں (منزل (10/7)) کرنے کی ضرورت؛ 222 00:18:59,950 --> 00:19:08,460 C میں شاید یہ عجیب ہے کہ آپ کو عددی ٹرنکیشن پر انحصار باقاعدگی سے کر سکتے ہیں، 223 00:19:08,460 --> 00:19:12,260 لیکن کیونکہ تم یہ فلوٹ میں پی ایچ پی میں نہیں کر سکتے ہیں خود کار طریقے سے اس کی باری ہے. 224 00:19:13,430 --> 00:19:17,610 اور پھر (7 سچ +)، کیا آپ کو لگتا ہے کہ جو ہو رہا ہے؟ 225 00:19:18,550 --> 00:19:23,640 میں 8 اندازہ اگر یہ 1 کے طور پر درست تشریح جا رہا ہوں. 226 00:19:23,640 --> 00:19:25,740 ایسا لگتا ہے جیسے 8 ہے. 227 00:19:25,740 --> 00:19:31,710 >> تو کچھ ہم نے گزشتہ 10 منٹ تم بالکل نہیں کرنا چاہیے میں نے کیا ہے. 228 00:19:31,710 --> 00:19:39,870 آپ کوڈ کو نظر آئے گا کہ یہ اس کی ہے. 229 00:19:39,870 --> 00:19:42,700 اس کے طور پر کے طور پر براہ راست نہیں ہے. 230 00:19:42,700 --> 00:19:47,240 آپ کے پاس 2 متغیر ہے، اور 1 متغیر ایک تار پر ہوتا ہے 231 00:19:47,240 --> 00:19:51,310 اور دوسرے متغیر ایک int ہوتا ہے، اور پھر آپ کو ان متغیرات کے ساتھ شامل ہے. 232 00:19:51,310 --> 00:20:00,120 چونکہ پی ایچ پی کو متحرک طور پر ٹائپ ہے اور یہ آپ کے لئے کسی بھی قسم کی چیکنگ نہیں کرے گا 233 00:20:00,120 --> 00:20:03,640 اور چونکہ یہ کمزور ٹائپ ہے اور کیونکہ یہ خود کار طریقے سے صرف ان چیزوں کے ساتھ پھینک دیں گے 234 00:20:03,640 --> 00:20:11,490 اور سب کچھ صرف کام کریں گے، یہ مشکل ہے یہ بھی جانتا ہوں کہ یہ متغیر ایک تار اب ضروری ہے، 235 00:20:11,490 --> 00:20:14,930 تو میں اس متغیر شامل نہیں ہونا چاہئے، جس میں ایک عدد صحیح ہے. 236 00:20:18,780 --> 00:20:24,560 سب سے اچھا عمل ہے اگر ایک متغیر ایک تار ہے، یہ ایک تار کے طور پر ہمیشہ کے لئے رکھیں. 237 00:20:24,560 --> 00:20:26,980 اگر ایک متغیر ایک int ہے، یہ ایک int کے طور پر ہمیشہ کے لئے رکھیں. 238 00:20:26,980 --> 00:20:30,770 اگر آپ کے پاس integers اور ڈور کے ساتھ نمٹنے کے لئے چاہتے ہیں، 239 00:20:30,770 --> 00:20:36,970 آپ varsint استعمال کر سکتے ہیں - جو جاوا سکرپٹ ہے. 240 00:20:36,970 --> 00:20:42,520 Intval. مجھے یہ ہر وقت کرتے ہیں. پی ایچ پی اور جاوا سکرپٹ میں نے سب کچھ دوسو 241 00:20:42,520 --> 00:20:47,600 تو intval ایک متغیر کی عددی قیمت واپس جا رہا ہے. 242 00:20:47,600 --> 00:20:56,550 اگر ہم "پرنٹ کریں (intval ('123 ')) میں گزرتے ہیں، آپ 123 ملتا ہے. 243 00:21:06,820 --> 00:21:15,850 Intval خود ہمارے لئے چیک کرنا ہے کہ یہ خاص طور سے ایک عددی ہے نہیں ہے. 244 00:21:15,850 --> 00:21:20,460 PHP دستی، وہاں بہت سارے افعال دستیاب ہیں، 245 00:21:20,460 --> 00:21:26,560 تو مجھے لگتا ہے کہ میں استعمال کریں گے is_numeric پہلے ہے. 246 00:21:26,560 --> 00:21:32,590 میں اندازہ ہے کہ جھوٹے واپس کر رہا ہوں. 247 00:21:32,590 --> 00:21:35,780 یہ ایک اور چیز ہے جو ہم === ہے پر جانے کے لئے ہے. 248 00:21:37,850 --> 00:21:44,020 تو is_numeric ('123df) کہ جیسے is_numeric لگتا ہے، نہیں کریں گے. 249 00:21:44,020 --> 00:21:46,720 C میں آپ تمام حروف iterate ہوگا 250 00:21:46,720 --> 00:21:50,410 اور اگر ہر کردار پوائنٹس یا جو کچھ بھی ہے کو دیکھنے کے لئے چیک کرنے کے لیے. 251 00:21:50,410 --> 00:21:53,850 یہاں is_numeric ہمارے لئے وہ کیا کرنے والی ہے، 252 00:21:53,850 --> 00:21:56,520 اور یہ جھوٹے واپس آ گیا ہے. 253 00:21:56,520 --> 00:22:02,120 تو جب میں اس پرنٹ میں طباعت کی، یہ کچھ بھی نہیں طباعت، تو میں یہاں یہ دیکھنے کے لئے آپس میں موازنہ کر رہا ہوں، 254 00:22:02,120 --> 00:22:05,490 کیا تم نے باطل ہو؟ اور تو اب اسے 1 چھپائی ہے. 255 00:22:05,490 --> 00:22:10,060 بظاہر صحیح طور پر درست چھپائی کی بجائے سچ کے طور پر پرنٹ 1. 256 00:22:10,060 --> 00:22:15,790 میں سوچتا ہوں اگر میں print_r کرتے ہیں. نہیں، یہ اب بھی 1 ہے. 257 00:22:15,790 --> 00:22:26,760 >> === واپس جانا، == اب بھی موجود ہے، 258 00:22:26,760 --> 00:22:32,260 اور اگر تم ٹومی پر بات کرتے ہیں، وہ کہتے ہیں کہ == گے بالکل ٹھیک ہے. 259 00:22:32,260 --> 00:22:37,700 کا کہنا ہے کہ == خوفناک ہے اور آپ == کا استعمال کبھی نہیں کرنا چاہئے جا رہا ہوں. 260 00:22:37,700 --> 00:22:44,870 فرق یہ ہے کہ == چیزوں کا موازنہ 261 00:22:44,870 --> 00:22:48,450 یہ سچ کہاں ہو یہاں تک کہ اگر وہ اسی طرح نہیں ہو سکتا ہے، 262 00:22:48,450 --> 00:22:53,810 جبکہ === چیزوں کا آپس میں موازنہ اور سب سے پہلے چیک وہ اسی قسم کے ہیں؟ 263 00:22:53,810 --> 00:22:58,010 جی ہاں. ٹھیک ہے، اب میں دیکھیں اگر وہ واقعی اس کے برابر ہونا موازنہ کرنے کے لئے جا رہا ہوں. 264 00:22:58,010 --> 00:23:08,890 تم 10 کی طرح عجیب باتیں برابر - چلو دیکھتے ہیں وہ کیا جو یہ کہتا ہے. 265 00:23:08,890 --> 00:23:15,570 تو ('10 '== '1 e1')؛ 266 00:23:15,570 --> 00:23:17,980 یہ سچ بتائےگا. 267 00:23:17,980 --> 00:23:21,420 کیا کسی اندازہ کیوں یہ سچ واپس ہے؟ 268 00:23:25,180 --> 00:23:27,120 یہ صرف اس کے بارے میں نہیں ہے. شاید یہ ایک اشارہ ہے. 269 00:23:27,120 --> 00:23:33,170 لیکن اگر میں ایک ایف ہے کہ تبدیل - ارے! میں ڈبل قیمت درج کرنے کا استعمال کرتے ہوئے رہتے ہیں. 270 00:23:33,170 --> 00:23:38,780 وجہ ہے ڈبل قیمت درج کرنے کو مجھ پر چللا رہی ہو ہے کیونکہ میں ڈبل قیمت درج کرنے میں اس کو رکھا ہے. ہے. 271 00:23:38,780 --> 00:23:43,850 تو میں یہاں ڈبل قیمت درج کرنے سے فرار ہونے میں، لیکن ایک کی قیمت درج کرنے کو آسان بنانے کے کر سکتے ہیں. 272 00:23:43,850 --> 00:23:49,120 تو ('10 '== '1 F1')؛ سچ پرنٹ نہیں کرتا. ('10 '== '1 e1')؛ سچ پرنٹ. 273 00:23:49,120 --> 00:23:56,330 [طالب علم] کیا یہ hex؟ >> یہ hex نہیں ہے، لیکن اس کے قریب ہے کہ اس کی طرح ہے ہے - 274 00:23:56,330 --> 00:24:01,060 1e1، سائنسی سنکیتن. 275 00:24:01,060 --> 00:24:07,950 1 کے طور پر 1e1 کو تسلیم 10 * 1 ^ یا جو کچھ بھی ہے. 276 00:24:07,950 --> 00:24:11,510 وہ برابر integers ہیں. 277 00:24:11,510 --> 00:24:15,930 اگر ہم === ہو تو یہ غلط ہونے جا رہا ہے. 278 00:24:15,930 --> 00:24:28,490 میں واقعی میں کوئی اندازہ نہیں ہے اگر ہم ایسا کرتے ہیں == کے بارے میں کیا (10 اور '10abc ')؛ ٹھیک ہے. تو یہ درست ہے. 279 00:24:28,490 --> 00:24:35,940 تو لگتا ہے جب آپ (10 + '10abc) نے کیا، اور یہ 20 ہو جائے گی، 280 00:24:35,940 --> 00:24:38,800 یہاں (10 == '10abc ')؛ سچ ہے. 281 00:24:38,800 --> 00:24:45,350 بھی بدتر جیسی چیزوں (جھوٹی نل ==) ہیں، سچ ہے 282 00:24:45,350 --> 00:24:52,210 یا (جھوٹے 0 ==)، سچ ہے، (جھوٹے == [])؛ 283 00:24:52,210 --> 00:25:00,970 کے عجیب مقدمات ہیں - یہ ان عجیب مقدمات میں سے ایک ہے. 284 00:25:00,970 --> 00:25:08,110 کہ نوٹس (جھوٹے == [])؛ سچ ہے. 285 00:25:08,110 --> 00:25:11,950 ('0 جھوٹے '==)؛ سچ ہے. 286 00:25:11,950 --> 00:25:16,090 ('0 '== [])، باطل ہے. 287 00:25:16,090 --> 00:25:19,090 تو == نہیں ترسیلی راستہ میں ہے. 288 00:25:19,090 --> 00:25:26,830 بی کے برابر ہو جائے اور سی کے برابر ہو سکتا ہے کر سکتے ہیں، 289 00:25:26,830 --> 00:25:29,340 لیکن بی سی کے برابر نہیں ہو سکتا ہے. 290 00:25:29,340 --> 00:25:35,580 یہ میرے لئے ایک نفرت ہے، اور تم = ہمیشہ استعمال کرنا چاہئے. 291 00:25:35,580 --> 00:25:38,590 [طالب علم] ہم == ساتھ ساتھ کرو! سکتا ہے؟ >> [Bowden] جی ہاں. 292 00:25:38,590 --> 00:25:44,600 برابر ہو جائے گا! = اور ==. 293 00:25:44,600 --> 00:25:48,230 یہ اصل میں pset رپورٹ میں لایا 294 00:25:48,230 --> 00:25:52,000 جہاں افعال واپسی کے بہت - 295 00:25:52,000 --> 00:25:53,890 پی ایچ پی کی دستی اس کے بارے میں اچھا ہے. 296 00:25:53,890 --> 00:25:59,140 یہ ایک بڑے سرخ باکس میں کہتے ہیں، "یہ جھوٹے واپس اگر میں ایک خرابی ہے." 297 00:25:59,140 --> 00:26:03,940 لیکن واپس لوٹنے 0 پر واپس لوٹنے کا ایک بالکل مناسب بات ہے. 298 00:26:03,940 --> 00:26:08,250 کسی بھی تقریب جو ایک عددی واپس کی توقع ہے کے بارے میں سوچو. 299 00:26:11,250 --> 00:26:17,880 چلو کا کہنا ہے کہ اس تقریب میں ایک فائل یا کچھ اور میں لائنوں کی تعداد شمار سمجھا جاتا ہے. 300 00:26:17,880 --> 00:26:23,490 عام حالات کے تحت، آپ کو اس تقریب میں ایک فائل پاس 301 00:26:23,490 --> 00:26:27,120 اور یہ ایک عددی جس میں لائنوں کی تعداد کی نمائندگی کرتا ہے واپس جا رہا ہے. 302 00:26:27,120 --> 00:26:30,820 تو 0 ایک بالکل مناسب تعداد ہے اگر فائل خالی ہے. 303 00:26:30,820 --> 00:26:36,810 لیکن کیا اگر تم نے یہ ایک غلط فائل پاس اور تقریب جھوٹے واپس ہوتا ہے 304 00:26:36,810 --> 00:26:38,860 اگر آپ نے ایک غلط فائل کے پاس ہے؟ 305 00:26:38,860 --> 00:26:46,500 اگر آپ نے ابھی کیا == آپ جعلی فائل اور خالی فائل کے درمیان معاملے میں فرق نہیں کر رہے ہیں. 306 00:26:48,870 --> 00:26:51,350 ہمیشہ = کا استعمال کریں. 307 00:26:55,690 --> 00:26:58,000 یہ ہے ان میں سے سب. 308 00:26:58,000 --> 00:27:01,660 >> پی ایچ پی میں، صف کی قسم C. میں جو آپ استعمال کرتے رہے ہیں سے مختلف ہے 309 00:27:01,660 --> 00:27:06,650 بے شک آپ کے پاس پہلے سے ہی اس سے اوپر کر سکتے ہیں نے محسوس کیا جب آپ نے دیکھا کہ اس قسم کی صف ہے. 310 00:27:06,650 --> 00:27:15,640 بریکٹ کا نحو 5.4 پی ایچ پی کی ہے، جو کہ پی ایچ پی کے نئے ورژن ہے کے طور پر نئے ہے. 311 00:27:15,640 --> 00:27:36,960 > 1، 'ب' - 2 -> اس سے پہلے کہ آپ ہمیشہ صف ('ایک' لکھنے کی تھی. 312 00:27:36,960 --> 00:27:41,160 یہ ایک صف کے لئے تعمیر تھا. 313 00:27:41,160 --> 00:27:45,950 اب پی ایچ پی آخر میں صرف مربع بریکٹ کی اچھی نحو کے ارد گرد آ گیا ہے، 314 00:27:45,950 --> 00:27:50,900 جس میں صرف اتنا صف سے بہتر ہے. 315 00:27:50,900 --> 00:27:54,480 لیکن 5.4 PHP غور تازہ ترین ورژن ہے، 316 00:27:54,480 --> 00:27:59,090 آپ مقامات 5.3 پی ایچ پی بھی نہیں ہے کا سامنا کر سکتے ہیں. 317 00:27:59,090 --> 00:28:08,220 موسم گرما کے دوران ہم نے اس معاملے میں بھاگ گئے جہاں PHP 5.3 تھا جو ہم آلے پر تھا، 318 00:28:08,220 --> 00:28:14,480 لیکن سرور ہے کہ ہم اپنے تمام گریڈ کتاب تعینات اور پیش کرتے ہیں کہ وہ سامان 319 00:28:14,480 --> 00:28:16,750 5.4 PHP تھا. 320 00:28:16,750 --> 00:28:23,060 یہ نہیں جاننے، ہم نے 5.3 میں تیار، 5.4 پر دھکیل دیا، 321 00:28:23,060 --> 00:28:25,660 اور اب ہمارے کوڈ کا اچانک کوئی نہیں سب کے کام 322 00:28:25,660 --> 00:28:28,680 کیونکہ 5.3 اور 5.4 کے درمیان تبدیلی کیا گیا ہے ہوا 323 00:28:28,680 --> 00:28:31,030 جو پیچھے ہم آہنگ نہیں ہیں، 324 00:28:31,030 --> 00:28:35,770 اور ہم اور ہماری چیزوں کے جو 5.4 پی ایچ پی کے لئے کام نہیں کرتے ہیں کو حل کرنے جانا ہے. 325 00:28:39,210 --> 00:28:42,320 اس کلاس کے لئے، کیونکہ آلات کرتا ہے 5.4 پی ایچ پی کی ہے، 326 00:28:42,320 --> 00:28:45,490 مربع بریکٹ کو استعمال کرنے کے لئے یہ بالکل ٹھیک ہے. 327 00:28:47,240 --> 00:28:50,440 لیکن، اگر آپ انٹرنیٹ کے ارد گرد تلاش کر رہے ہیں چیزوں کو 328 00:28:50,440 --> 00:28:54,880 اگر آپ کو دیکھ صف کے سامان کی کسی قسم رہے ہیں، سب سے زیادہ امکان آپ کو دیکھنے جا رہے ہیں 329 00:28:54,880 --> 00:29:02,020 صف تعمیر نحو باہر جادو ہے کہ چونکہ پی ایچ پی سے مروج ہے پیدا کر دیا گیا تھا 330 00:29:02,020 --> 00:29:07,340 اور مربع بریکٹ نحو گزشتہ چند ماہ کے لئے ارد گرد کیا گیا ہے 331 00:29:07,340 --> 00:29:10,020 یا جب بھی 5.4 کے ارد گرد آئے. 332 00:29:10,020 --> 00:29:12,710 یہ کہ آپ کس طرح انڈیکس ہے. 333 00:29:12,710 --> 00:29:30,610 سی طرح کہ آپ کس طرح $ [0] ڈالر، [1] صف صف ڈالر،، [2] صف کی طرح مربع بریکٹ کی طرف سے انڈیکس گے 334 00:29:30,610 --> 00:29:36,320 آپ کو اسی طرح اگر آپ کو آپ کے سوچکانکوں ڈور ہونے ہونے فہرست. 335 00:29:36,320 --> 00:29:40,440 تو ڈالر صف ['ایک'] ڈالر اور صف ['B']. 336 00:29:40,440 --> 00:29:47,410 صف $ [B]. یہ غلط کیوں ہو گا؟ 337 00:29:52,490 --> 00:29:59,870 یہ شاید ایک انتباہ لیکن پھر بھی کام پیدا کرے گا. PHP ایسا جاتا ہے. 338 00:29:59,870 --> 00:30:04,890 یہ صرف، "میں تم سے اس کے بارے میں آگاہ کرنے جا رہا ہوں کے لئے جاتا ہے، لیکن میں صرف جا رکھنے کے لئے جا رہا ہوں 339 00:30:04,890 --> 00:30:07,550 "اور جو کچھ بھی میں کر سکتا ہوں." 340 00:30:07,550 --> 00:30:11,500 یہ شاید ایک سٹرنگ کا ترجمہ کریں گے، 341 00:30:11,500 --> 00:30:15,000 لیکن یہ ممکن ہے کہ نے کہا کہ ماضی میں کسی کسی نہ کسی موڑ پر 342 00:30:15,000 --> 00:30:20,180 ب 'ہیلو ورلڈ' ہو وضاحت. 343 00:30:20,180 --> 00:30:28,740 تو اب ب مسلسل ڈالر اور صف ہو سکتا ہے [B] اصل میں رکھا جائے گا کر 'ہیلو ورلڈ. 344 00:30:28,740 --> 00:30:32,380 میں اس وقت میں کیا سوچتے ہیں، یا کم از کم ہمارے پی ایچ پی کی ترتیبات، 345 00:30:32,380 --> 00:30:37,870 اگر آپ کو ایک صف میں انڈیکس کی کوشش کرتے ہیں اور اس کی چابی کا کوئی وجود نہیں، یہ ناکام ہو جائے گا. 346 00:30:37,870 --> 00:30:40,150 مجھے نہیں لگتا ہے کہ یہ آپ نے خبردار کیا جائے گا ہے. 347 00:30:40,150 --> 00:30:44,560 یا کم از کم آپ کو رکھ دیا تاکہ وہ آپ نہ صرف کرتا ہے نے خبردار کیا کر سکتے ہیں، صرف براہ راست اوپر ناکام ہو جاتا ہے. 348 00:30:44,560 --> 00:30:49,290 >> جس طرح سے آپ اگر اصل میں اس طرح انڈیکس ہے دیکھنا چیک کرنے کے لیے isset ہے. 349 00:30:49,290 --> 00:30:54,690 تو isset ($ صف ['ہیلو ورلڈ']) جھوٹے واپس آ جائیں گے. 350 00:30:54,690 --> 00:30:59,160 isset (صف $ ['B']) صحیح واپس آ جائیں گے. 351 00:31:06,830 --> 00:31:09,880 آپ ان syntaxes کو ملا کر سکتے ہیں. 352 00:31:15,060 --> 00:31:22,440 ہم اس کی جانچ کر سکتے ہیں - مجھے یقین ہے کہ اس صف ختم ہونے کے گے ہوں. 353 00:31:43,290 --> 00:31:45,700 اوہ، میں PHPWord کی ضرورت ہے. 354 00:31:53,960 --> 00:32:00,260 یہ نحو جہاں آپ کی وضاحت کیا چابی ہے اختلاط ہے 355 00:32:00,260 --> 00:32:03,330 آپ کی وضاحت نہیں کیا کلید ہے. 356 00:32:03,330 --> 00:32:05,520 3 یہیں ایک قیمت ہے. 357 00:32:05,520 --> 00:32:08,080 تم نے نہیں واضح طور پر کہا ہے کہ اس کے کلیدی ہونے جا رہا ہے. 358 00:32:08,080 --> 00:32:11,670 کیا آپ کو لگتا ہے کہ اس کے کلیدی ہونے جا رہا ہے؟ 359 00:32:11,670 --> 00:32:21,410 0 [طالب علم]. >> میں 0 اندازہ صرف اس صورت میں ہے کیونکہ یہ سب سے پہلے ہم وضاحت نہیں ہے کر رہا ہوں. 360 00:32:21,410 --> 00:32:23,500 ہم ان میں سے ایک جوڑے کی اصل کر سکتے ہیں. 361 00:32:23,500 --> 00:32:28,030 تو print_r پنراورتی پرنٹ. یہ پوری صف پرنٹ گا. 362 00:32:28,030 --> 00:32:32,700 یہ صف کے subarrays پرنٹ اگر کوئی تھے. 363 00:32:32,700 --> 00:32:36,630 تو print_r ($ صف)؛ php.test.php. 364 00:32:36,630 --> 00:32:38,810 یہ دیکھ کر لگتا ہے یہ 0 دی ہے. 365 00:32:38,810 --> 00:32:43,530 اصل میں کچھ ذہن میں یہاں رکھنے کے، لیکن ہم ایک دوسرے میں واپس مل جائے گا. 366 00:32:43,530 --> 00:32:45,850 لیکن کیا اگر میں اس انڈیکس 1 ہوا؟ 367 00:32:45,850 --> 00:32:51,170 پی ایچ پی سٹرنگ سوچکانک اور عددی سوچکانکوں کے درمیان فرق نہیں کرتا ہے، 368 00:32:51,170 --> 00:33:00,280 تو میں اس وقت صرف ایک 1 انڈیکس وضاحت کی گئی ہے اور میں دونوں $ صف [1] اور $ صف ['1 '] کر سکتے ہیں 369 00:33:00,280 --> 00:33:06,250 اور یہ اسی فہرست اور ایک ہی چابی ہو جائے گا. 370 00:33:06,250 --> 00:33:13,000 تو اب کیا آپ کو لگتا ہے کہ 3 سے جا رہا ہے؟ >> [2 طالب علم. >> [Bowden] میں 2 اندازہ لگا رہا ہوں. 371 00:33:16,000 --> 00:33:18,690 جی ہاں. 2 ہے. 372 00:33:18,690 --> 00:33:24,790 کیا ہوگا اگر ہم نے یہ 10 ہے، اس 4 ہے؟ 3 انڈیکس جا رہا ہے آپ کو کیا لگتا ہے؟ 373 00:33:27,360 --> 00:33:29,110 میں 11 میں سوچ رہا ہوں. 374 00:33:29,110 --> 00:33:33,060 جو پی ایچ پی کی ہے کے طور پر میرا اندازہ - اور مجھے لگتا ہے کہ میں نے یہ پہلے دیکھا ہے - 375 00:33:33,060 --> 00:33:39,760 یہ صرف سب سے زیادہ عددی انڈیکس اب تک استعمال کیا جاتا ہے ہے کے ٹریک رکھتا ہے. 376 00:33:39,760 --> 00:33:44,230 یہ 3 ایک تار صفحہ تفویض کبھی نہیں ہے. یہ ایک عددی انڈیکس ہمیشہ رہے گا. 377 00:33:44,230 --> 00:33:47,690 تو یہ وہ زیادہ سے زیادہ بھی شخص اس کی اب تک تفویض کیا ہے، جو 10 ہے کا ٹریک رکھتا ہے، 378 00:33:47,690 --> 00:33:52,540 اور یہ 3 سے 11 دینے جا رہا ہے. 379 00:33:52,540 --> 00:34:02,110 کیا میں نے پہلے کہا، جس طرح سے اس صف چھپائی ہے محسوس کریں. 380 00:34:02,110 --> 00:34:06,850 یہ اہم 10 پرنٹ اہم، 4، 11 اہم، اہم D. 381 00:34:06,850 --> 00:34:09,790 یا اس سے بھی دیتے - 382 00:34:15,760 --> 00:34:22,489 مجھے لگتا ہے کہ میں ایک 0 نہیں لگا، لیکن یہ پرنٹنگ 1، 2، 3، 4 ہے. 383 00:34:22,489 --> 00:34:29,330 اگر میں یہاں کر دیا؟ یا واقعی میں ان 2 سوئچ. 384 00:34:29,330 --> 00:34:31,940 اب یہ 2، 1، 3، 4 پرنٹ. 385 00:34:31,940 --> 00:34:41,270 پی ایچ پی arrays صرف آپ کے باقاعدہ ہیش کی میز کی طرح نہیں ہیں. 386 00:34:41,270 --> 00:34:45,570 یہ بالکل مناسب ہے ہیش میزیں وقت میں سے 99 فی صد کے طور پر ان کے بارے میں سوچنا. 387 00:34:45,570 --> 00:34:53,790 لیکن آپ کے ہیش کے ٹیبل میں جس میں چیزیں داخل کی گئی آرڈر کا کوئی احساس نہیں ہے. 388 00:34:53,790 --> 00:34:56,639 تو جیسے ہی آپ اپنے ہیش ٹیبل میں داخل، 389 00:34:56,639 --> 00:35:00,590 فرض کوئی فہرست منسلک ہے اور آپ کو ایک لنک کی فہرست کے اندر اندر فیصلہ کر سکتے ہیں 390 00:35:00,590 --> 00:35:03,980 جس میں سب سے پہلے داخل کیا گیا تھا. 391 00:35:03,980 --> 00:35:10,060 لیکن یہاں ہم 2 سب سے پہلے داخل اور یہ جانتا ہے کہ جب وہ باہر چھپائی اس صف ہے کہ 2 سے پہلے آتا ہے. 392 00:35:10,060 --> 00:35:13,090 یہ صرف کسی بھی ترتیب میں پرنٹ نہیں. 393 00:35:13,090 --> 00:35:17,550 تکنیکی ڈیٹا کا ڈھانچہ ہے کہ اس کا استعمال کر رہا ہے ایک حکم دیا نقشہ ہے، 394 00:35:17,550 --> 00:35:24,690 تو اس اقدار کی کلید نقشے اور اس کی ترتیب ہے جس میں ان کی چابیاں کو داخل کیا گیا یاد. 395 00:35:24,690 --> 00:35:31,600 بنیادی طور پر یہ کچھ پیچیدگیاں جہاں اس اصل پر پریشان ہے ہے - 396 00:35:31,600 --> 00:35:34,510 چلو کا کہنا ہے کہ آپ ایک 0 صف، 1، 2، 3، 4، 5 397 00:35:34,510 --> 00:35:37,700 اور آپ کو 2 صفحہ پر لے جانا چاہتا ہوں. 398 00:35:37,700 --> 00:35:47,750 کرنے کے ایک طریقہ، ہم دیکھتے ہیں کہ وہ کیسا لگتا ہے. 399 00:35:47,750 --> 00:35:50,410 0، 2، 1، 3، 4. 400 00:35:50,410 --> 00:35:54,880 ناسیٹ کریں دونوں متغیر اور صف سوچکانک ناسیٹ کریں ہوتا ہے. 401 00:35:54,880 --> 00:35:58,630 تو ناسیٹ کریں ($ صف [2])؛ 402 00:35:58,630 --> 00:36:03,430 اب کیا اس طرح نظر آئے جا رہا ہے؟ صرف 2 چلا گیا ہے، تو ہے کہ بالکل ٹھیک ہے. 403 00:36:03,430 --> 00:36:11,670 مزید پریشان ہے، اگر تم چیزوں کو اصل میں ایک صف کی طرح بننا چاہتا ہوں. 404 00:36:11,670 --> 00:36:14,910 میں بے ترتیب تعداد میں ڈال دیتا ہوں. 405 00:36:14,910 --> 00:36:20,400 اب میری سوچکانک نوٹس 406 00:36:20,400 --> 00:36:26,860 1 - میں یہ صرف C صف کی طرح جہاں یہ 0 سے لمبائی جاتا ہے کرنے کے لئے کرنا چاہتے ہیں 407 00:36:26,860 --> 00:36:30,810 اور میں نے اس پر اس طرح کے طور پر iterate کر سکتے ہیں. 408 00:36:30,810 --> 00:36:38,520 لیکن جیسے ہی مجھے دوسرے انڈیکس 3 انڈیکس میں کیا تھا ناسیٹ کریں 2 صفحہ نہیں کرتا ہو. 409 00:36:38,520 --> 00:36:44,790 اس کے بجائے یہ صرف اس انڈیکس کو ہٹا دیتا ہے اور اب تم 0، 1، 3، 4 جاتے. 410 00:36:44,790 --> 00:36:48,740 یہ بالکل مناسب ہے. 411 00:36:48,740 --> 00:36:53,950 یہ صرف پریشان ہے اور آپ صف شادی کی طرح کام کرنے کے لئے ہے. جی ہاں. 412 00:36:53,950 --> 00:36:57,200 >> [طالب علم] کیا ہوگا اگر آپ کو لوپ کے لئے ایک ہوتا 413 00:36:57,200 --> 00:36:59,630 اور آپ نے تمام عناصر پر جانا چاہتا تھا؟ 414 00:36:59,630 --> 00:37:02,290 جب 2 مارا، یہ کبھی برآمد ہوں گے؟ 415 00:37:02,290 --> 00:37:10,150 ایک صف پر Iterating. 2 طریقوں سے آپ یہ کر سکتے ہیں ہیں. 416 00:37:10,150 --> 00:37:12,770 آپ لوپ کے لئے ایک باقاعدہ استعمال کر سکتے ہیں. 417 00:37:12,770 --> 00:37:22,000 یہ پی ایچ پی کی ایک اور intricacy ہے. 418 00:37:22,000 --> 00:37:27,420 زیادہ تر زبانوں میں کہیں گے، لمبائی یا لین یا کچھ اور کسی قسم کا 419 00:37:27,420 --> 00:37:30,470 ایک صف کی لمبائی کا اشارہ ہے. 420 00:37:30,470 --> 00:37:32,820 پی ایچ پی میں یہ شمار ہے. 421 00:37:32,820 --> 00:37:36,160 تو شمار ($ صف)؛ ڈالر میں +) + 422 00:37:36,160 --> 00:37:42,950 صرف پرنٹ چلو ($ صف [میں $])؛ 423 00:37:45,920 --> 00:37:48,820 نوٹس آفسیٹ جانچ: 2. 424 00:37:48,820 --> 00:37:51,610 یہ صرف کرنے میں ناکام ہو رہا ہے. 425 00:37:51,610 --> 00:38:03,020 یہی وجہ ہے کہ، سب سے زیادہ حصہ کے لئے، آپ کی ضرورت ہے اس طرح ایک صف پر iterate کبھی نہیں. 426 00:38:03,020 --> 00:38:07,110 یہ ایک مبالغہ ہے، لیکن آپ کی ضرورت ہے اس طرح ایک صف پر iterate کبھی نہیں ہو سکتا ہے 427 00:38:07,110 --> 00:38:19,410 کیونکہ پی ایچ پی کی اس foreach نحو جہاں foreach ($ صف کے طور پر ڈالر آئٹم) فراہم کرتا ہے. 428 00:38:19,410 --> 00:38:31,830 اب ہم نے ($ آئٹم) پرنٹ کریں اگر؛ - we'll یہ ایک سیکنڈ میں بات چیت - جو بالکل ٹھیک کام کرتا ہے. 429 00:38:31,830 --> 00:38:38,960 جس طرح سے کہ foreach کام کر رہا ہے ہے، پہلی دلیل صف کہ میں آپ iterating رہے ہیں ہے. 430 00:38:38,960 --> 00:38:44,060 اور دوسری لوپ کے لئے میں سے ہر ایک پاس کے ذریعے دلیل، اشیاء، 431 00:38:44,060 --> 00:38:52,690 صف میں اگلے کام پر لے جا رہا ہے. تو یاد رکھو صف ایک حکم ہے. 432 00:38:52,690 --> 00:38:55,690 لوپ کے لئے کے ذریعے پہلی بار، آئٹم 123 جا رہا ہے 433 00:38:55,690 --> 00:38:59,540 تو یہ 12 ہو جائے گا تو یہ 13 ہو جائے گا تو یہ 23 ہو جائے گا تو یہ 213 ہو جائے گا. 434 00:38:59,540 --> 00:39:04,670 چیزیں بہت ہی عجیب ہو جاؤ جب تم foreach طرح کچھ کرنا. 435 00:39:04,670 --> 00:39:07,480 چلو دیکھتے کیا کیونکہ آپ کو یہ کبھی نہیں کرنا چاہئے ہے. 436 00:39:07,480 --> 00:39:13,320 کیا ہوگا اگر ہم ناسیٹ کریں ($ صف [1])؛ 437 00:39:20,410 --> 00:39:26,030 یہ شاید یہ توقع کی جارہی تھی. 438 00:39:26,030 --> 00:39:30,950 آپ اس صف پر iterating رہے ہیں، اور ہر وقت آپ کو سب سے پہلے انڈیکس unsetting رہے ہیں. 439 00:39:30,950 --> 00:39:39,720 تو 0 انڈیکس کے لئے، پہلی بات، اشیاء 0 قیمت پر لیتا ہے، تو یہ 123 ہو رہا ہے. 440 00:39:39,720 --> 00:39:44,630 لیکن اندر لوپ کے لئے ہم ناسیٹ صفحہ 1، تو اس کا مطلب 12 گیا ہے 441 00:39:44,630 --> 00:39:57,480 تو پرنٹ. PHP_EOL. 442 00:39:57,480 --> 00:40:03,580 PHP_EOL صرف newline ہے، لیکن یہ تکنیکی طور پر زیادہ پورٹیبل ہے 443 00:40:03,580 --> 00:40:08,890 کے بعد سے ونڈوز میں newlines میک اور UNIX newlines سے مختلف ہے. 444 00:40:08,890 --> 00:40:18,040 ونڈوز newline \ R ن \، ہے ہر جگہ اور جبکہ صرف کریں \ n جاتا ہے. 445 00:40:18,040 --> 00:40:25,150 PHP_EOL ترتیب دیا ہے تاکہ اس کا استعمال کرتا ہے جو آپ کے سسٹم کے newline ہے. 446 00:40:25,150 --> 00:40:29,310 تاکہ پرنٹ. آو print_r ($ صف) آخر میں نہیں ہے. 447 00:40:32,830 --> 00:40:37,390 مجھے کوئی اندازہ نہیں ہے کہ رویہ ہو گا. 448 00:40:41,740 --> 00:40:48,960 آئٹم ابھی تک 12 کی قیمت پر لیتا ہے اگرچہ ہم 12 ناسیٹ کریں اس سے پہلے ہم نے کبھی صف سے ہے. 449 00:40:52,770 --> 00:40:58,840 اس پر میری بات نہیں لے، لیکن ایسا لگتا ہے جیسے foreach صف کی ایک کاپی پیدا 450 00:40:58,840 --> 00:41:02,160 اور پھر آئٹم کہ کاپی کی تمام اقدار پر لیتا ہے. 451 00:41:02,160 --> 00:41:07,760 تو بھی اگر آپ کو لوپ کے لئے اندر صف میں ترمیم کرتے ہیں، 452 00:41:07,760 --> 00:41:17,240 یہ پرواہ نہیں جائے گا. آئٹم اصل اقدار پر لے جائے گا. 453 00:41:17,240 --> 00:41:19,240 یہ unsetting کرنے کی کوشش کریں. 454 00:41:19,240 --> 00:41:24,460 کیا ہوگا اگر یہ $ [1] صف ہے = "ہیلو"؛ 455 00:41:24,460 --> 00:41:31,770 اگرچہ ہم صف میں "ہیلو" ڈال دیا، اس قدر پر اشیاء کبھی نہیں لیتا ہے. 456 00:41:31,770 --> 00:41:37,430 ایک loops foreach نحو 457 00:41:37,430 --> 00:41:45,900 آپ کو ایک تیر کی طرف سے الگ 2 متغیر کہاں رکھ دیا. 458 00:41:45,900 --> 00:41:49,680 یہ پہلا متغیر اس قدر کے اہم ہو رہا ہے، 459 00:41:49,680 --> 00:41:53,050 اور یہ دوسری متغیر ایک ہی عین مطابق آئٹم بننے جا رہا ہے. 460 00:41:53,050 --> 00:42:01,610 یہ uninteresting ہے، لیکن اگر ہم 'ایک' ہمارے اصل کیس واپس جاؤ -> 1، 461 00:42:01,610 --> 00:42:06,090 'B' -> 1، 462 00:42:06,090 --> 00:42:14,470 یہاں اگر ہم آئٹم کے طور پر ہر صف کے لئے iterate آئٹم 1 ہر ایک وقت ہونے جا رہا ہے. 463 00:42:14,470 --> 00:42:18,170 لیکن اگر ہم بھی اس آئٹم کے ساتھ منسلک کلید جاننا چاہتے ہیں 464 00:42:18,170 --> 00:42:25,230 > آئٹم $ - تو ہم کے طور پر ڈالر کی چابی کرتے ہیں. 465 00:42:25,230 --> 00:42:31,980 :. تو اب ہم پرنٹ ($ چابی کر سکتے ہیں. 466 00:42:31,980 --> 00:42:39,380 اب یہ ختم ہو iterating اور ہر کلید اور اس کے منسلک قیمت چھپائی ہے. 467 00:42:39,380 --> 00:42:47,030 >> ایک اضافی چیز ہے جو ہم foreach loops میں کیا کر سکتے ہیں ہے آپ کو یہ نحو دیکھ سکتے ہیں. 468 00:42:47,030 --> 00:42:54,770 متغیر کے نام سے پہلے Ampersands کس طرح پی ایچ پی کا حوالہ ہے ہیں. 469 00:42:54,770 --> 00:43:00,460 حوالہ جات اشارہ کی طرح کہاں ہو، 470 00:43:00,460 --> 00:43:04,820 آپ اشارہ نہیں ہے، تو میموری کے ساتھ آپ کبھی نہیں براہ راست نمٹنے کے. 471 00:43:04,820 --> 00:43:12,620 لیکن آپ نے حوالہ جات جہاں 1 متغیر دوسرے متغیر کے طور پر ایک ہی بات کی طرف اشارہ کرتی ہے. 472 00:43:12,620 --> 00:43:21,450 یہاں سے اندر ڈالر کرتے آئٹم. 1 10 واپس جانے دو. 473 00:43:21,450 --> 00:43:28,800 چلو ڈالر آئٹم + +، وہ اب بھی پی ایچ پی میں موجود ہے. آپ + + اب بھی کر سکتے ہیں. 474 00:43:28,800 --> 00:43:38,260 php.test.php. میں اسے پرنٹ کرنے کے لئے ہے. print_r ($ صف)؛ 475 00:43:38,260 --> 00:43:42,730 ہم 2 11، پرنٹ ہے. 476 00:43:42,730 --> 00:43:49,560 اگر میں صرف foreach (صف ڈالر کے طور پر ڈالر آئٹم) کیا تھا تو آئٹم 1 قدر ہو جائے گا 477 00:43:49,560 --> 00:43:54,190 لوپ کے ذریعے پہلی بار. 2 1 اضافہ اور پھر ہم کیا کر رہے ہیں. 478 00:43:54,190 --> 00:43:57,260 تو پھر یہ لوپ کے دوسرے پاس کے ذریعے جاؤ اور کہ آئٹم 10 ہے. 479 00:43:57,260 --> 00:44:01,570 یہ increments 11 اشیاء، اور پھر یہ صرف دور پھینک دیا ہے. 480 00:44:01,570 --> 00:44:06,670 ہم print_r ($ صف) اس کے بعد، اور ہم دیکھتے ہیں کہ یہ صرف 1 ہے، 10. 481 00:44:06,670 --> 00:44:09,070 تو اضافہ ہم نے کھو دیا تھا. 482 00:44:09,070 --> 00:44:13,410 لیکن foreach ($ صف کے طور پر ڈالر اور عمومی آئٹم) 483 00:44:13,410 --> 00:44:21,910 اب یہ آئٹم یہاں اس حق کے طور پر اسی آئٹم ہے. یہ وہی چیز ہے. 484 00:44:21,910 --> 00:44:26,820 تو آئٹم $ + + 0 صف میں ترمیم کر رہا ہے. 485 00:44:29,330 --> 00:44:41,850 بنیادی طور پر، آپ K $ بھی کر سکتے ہیں - آئٹم $> اور آپ کو $ کر سکتے ہیں صف [K $] + +؛ 486 00:44:41,850 --> 00:44:48,650 >> تو یہ ہے کہ ایسا کرنے کا ایک اور طریقہ ہے، ہم آئٹم نظر ثانی کرنے کے لئے آزاد ہیں، 487 00:44:48,650 --> 00:44:54,070 لیکن اس سے ہماری اصل صف میں ترمیم نہیں کریں گے. 488 00:44:54,070 --> 00:44:59,720 لیکن اگر ہم K، استعمال کرتے ہیں جو ہمارے چابی ہے، تو ہمارے صف میں انڈیکس وہ چابی کا استعمال کرتے ہوئے ہم کر سکتے ہیں 489 00:44:59,720 --> 00:45:01,530 اور یہ کہ اضافہ. 490 00:45:01,530 --> 00:45:05,410 یہ براہ راست ہماری اصل صف ترمیم. 491 00:45:05,410 --> 00:45:10,690 تم وہ بھی اگر آپ کو کسی وجہ کے لئے پر نظر ثانی کرنے کی صلاحیت کی ضرورت تھی - 492 00:45:10,690 --> 00:45:13,510 اصل میں، یہ بالکل مناسب ہے. 493 00:45:13,510 --> 00:45:16,020 $ صف لکھنے کی ضرورت نہیں کرنا چاہتا تھا [K $] +، + 494 00:45:16,020 --> 00:45:27,890 تم صرف ڈالر آئٹم لکھنے کرنا چاہتا تھا + + لیکن آپ اب بھی کہنا چاہتا تھا اگر ($ K = 'ایک') 495 00:45:27,890 --> 00:45:30,620 تو اشیاء اور پھر اضافہ ہمارے صف پرنٹ. 496 00:45:30,620 --> 00:45:36,290 تو اب کیا ہم print_r کرنے کی توقع کرتے ہیں؟ کیا اقدار پرنٹ چاہئے؟ 497 00:45:36,290 --> 00:45:43,770 [طالب علم] 2 اور 10. >> [Bowden] صرف اگر چابی تھا 'ہم واقعی ایسا پرنٹ کریں. 498 00:45:51,940 --> 00:45:55,670 >> تم شاید بہت کم، اگر کبھی، پی ایچ پی میں فرائض کی وضاحت کی ضرورت ہو گی، 499 00:45:55,670 --> 00:46:03,370 لیکن آپ کو اسی طرح کی کچھ یہ دیکھنے کی ضرورت ہے جہاں آپ تقریب کے جو کی طرح ایک تقریب کی وضاحت کر سکتے ہیں. 500 00:46:03,370 --> 00:46:09,900 عام طور پر آپ کا کہنا ہے کہ ($ FOO ڈالر، بار) اور اس کے بعد جو بھی وضاحت کریں گے. 501 00:46:09,900 --> 00:46:17,580 لیکن اگر میں یہ کروں، تو اس کا مطلب ہے کہ جو کچھ بھی جو کچھ بھی مطالبہ، 502 00:46:17,580 --> 00:46:25,110 تو جو کچھ بھی باز مطالبہ، پہلی دلیل باز منظور تبدیل کیا جا سکتا ہے. 503 00:46:25,110 --> 00:46:38,100 چلو FOO $ + +؛ 504 00:46:38,100 --> 00:46:48,020 اور اندر یہاں سے ہم باز ($ آئٹم)؛ 505 00:46:48,020 --> 00:46:52,250 اب ہم ایک تقریب کا مطالبہ کر رہے ہیں. 506 00:46:52,250 --> 00:46:56,780 جو دلیل حوالے کے طور پر لیا جاتا ہے، اس کا مطلب ہے کہ اگر ہم اس پر نظر ثانی 507 00:46:56,780 --> 00:47:00,390 ہم بات یہ ہے کہ اندر منظور کیا گیا تھا میں ترمیم کر رہے ہیں 508 00:47:00,390 --> 00:47:04,420 اور ہم یہ توقع پرنٹنگ - جب تک میں نے نحو گڑبڑ - ہم 2 11، ہے، 509 00:47:04,420 --> 00:47:06,300 تو یہ اصل میں incremented کیا گیا تھا. 510 00:47:06,300 --> 00:47:08,790 ہم 2 جگہوں پر حوالہ جات کی ضرورت نوٹس 511 00:47:08,790 --> 00:47:13,050 اگر میں نے یہ کیا ہے؟ اس کا کیا مطلب ہے؟ 512 00:47:13,050 --> 00:47:15,810 [طالب علم] اسے تبدیل کریں گے. >> جی ہاں. 513 00:47:15,810 --> 00:47:18,290 آئٹم صف میں قدر کی ایک کاپی ہے. 514 00:47:18,290 --> 00:47:26,670 تو آئٹم 2 میں تبدیل، لیکن صف ['ایک'] 1 اب بھی ہو جائے گا. 515 00:47:26,670 --> 00:47:32,560 تو کیا ہو گا اگر میں نے یہ کیا؟ 516 00:47:32,560 --> 00:47:39,260 اب آئٹم باز کی ایک نقل کے طور پر بھیجا جاتا ہے. 517 00:47:39,260 --> 00:47:46,330 تو دلیل کی کاپی 2 incremented رکھا جائے گا. 518 00:47:46,330 --> 00:47:49,240 لیکن آئٹم خود 2 incremented کبھی نہیں کیا گیا تھا. 519 00:47:49,240 --> 00:47:52,880 اور آئٹم صف بریکٹ جو کے طور پر ایک ہی بات ہے، 520 00:47:52,880 --> 00:47:55,380 تاکہ صف نہیں incremented کیا گیا تھا. 521 00:47:55,380 --> 00:47:57,960 تو ان دونوں جگہوں پر اس کی ضرورت ہے. 522 00:47:57,960 --> 00:48:03,830 >> عام طور پر پی ایچ پی ہے اس کے بارے میں بہت ہوشیار ہے. 523 00:48:03,830 --> 00:48:06,570 آپ کو لگتا ہے کہ میں حوالے کے طور پر منتقل کرنا چاہتے ہیں کر سکتے ہیں - 524 00:48:06,570 --> 00:48:09,560 یہ اصل میں psets میں سے ایک پر ایک سوال تھا. 525 00:48:09,560 --> 00:48:14,480 یہ ایک questions.txt چیز تھی جہاں اس نے کہا کہ، 526 00:48:14,480 --> 00:48:19,280 آپ کو حوالہ کی طرف سے اس struct پر منظور کیوں کرنا چاہتے ہو سکتا ہے؟ 527 00:48:19,280 --> 00:48:21,250 اس کا جواب کیا تھا؟ 528 00:48:21,250 --> 00:48:25,100 [طالب علم] تو تم بڑی چیز کو کاپی کرنے کی ضرورت نہیں ہے. >> جی ہاں. 529 00:48:25,100 --> 00:48:32,920 A struct منمانے بڑے ہو، اور جب تم ایک دلیل کے طور پر میں struct منتقل کر سکتی ہیں 530 00:48:32,920 --> 00:48:36,800 یہ کہ پوری struct یہ کام کرنے کو منتقل کی کاپی کی ضرورت ہے، 531 00:48:36,800 --> 00:48:40,410 جبکہ اگر آپ حوالہ سے صرف struct پاس 532 00:48:40,410 --> 00:48:46,530 تو اس تقریب میں دلیل کے طور پر 4 بائٹ ایڈریس کی کاپی کی ضرورت ہے. 533 00:48:48,520 --> 00:48:52,320 پی ایچ پی تھوڑا سا اس سے ہوشیار ہے. 534 00:48:52,320 --> 00:49:00,650 اگر میں کوئی تقریب ہے اور میں اس پر 1،000 چیزوں کے ایک صف پاس 535 00:49:00,650 --> 00:49:03,990 اس کا یہ مطلب ہے کہ ان تمام چیزوں کے 1،000 کاپی کرنے کے لئے کی ضرورت ہو رہا ہے 536 00:49:03,990 --> 00:49:10,450 اس تقریب میں منظور؟ یہ ہے کہ فوری طور پر کرنے کی ضرورت نہیں ہے. 537 00:49:10,450 --> 00:49:15,940 اگر اس تقریب کے اندر FOO اصل میں کبھی نہیں ترمیم، 538 00:49:15,940 --> 00:49:22,660 اگر ایسا ہے تو ($ FOO = 'ہیلو') صحیح واپس. 539 00:49:22,660 --> 00:49:26,460 نوٹس ہم نے اس تقریب کی دلیل اندر اصل میں کبھی نہیں نظر ثانی شدہ 540 00:49:26,460 --> 00:49:30,010 جس کا مطلب یہ ہے کہ جو کچھ بھی میں منظور FOO کی ضرورت کاپی کبھی نہیں تھا 541 00:49:30,010 --> 00:49:32,100 کیونکہ اس سے اسے بدلے نہیں ہے. 542 00:49:32,100 --> 00:49:39,240 تو راستہ PHP کام دلائل ہے ہمیشہ ریفرنس کی طرف سے منظور کر رہے ہیں 543 00:49:39,240 --> 00:49:42,170 جب تک آپ اصل میں اسے نظر ثانی کرنے کی کوشش کریں. 544 00:49:42,170 --> 00:49:51,160 اب اگر میں $ FOO + + کہتا ہوں، یہ اصل FOO کی ایک نقل اب اور کاپی پر نظر ثانی کرے گا. 545 00:49:51,160 --> 00:49:53,090 اس میں کچھ وقت بچاتا ہے. 546 00:49:53,090 --> 00:49:58,210 اگر آپ کو یہ بڑے پیمانے پر صف چھونے کبھی نہیں رہے ہیں، تو آپ کو یہ اصل میں کبھی نہیں تبدیل، 547 00:49:58,210 --> 00:50:02,360 کاپی بنانے کے لئے کی ضرورت نہیں ہے، 548 00:50:02,360 --> 00:50:06,640 جبکہ اگر ہم صرف اس ایمپرسینڈ اس کا مطلب یہ بھی نہیں ہے کاپی ڈال 549 00:50:06,640 --> 00:50:08,640 یہاں تک کہ اگر آپ اس پر نظر ثانی ہے. 550 00:50:08,640 --> 00:50:10,680 اس رویے کو کاپی لکھنا کہا جاتا ہے. 551 00:50:10,680 --> 00:50:17,380 تم نے اسے دیگر مقامات میں دیکھ سکتے ہیں، خاص طور پر اگر آپ کو ایک آپریٹنگ سسٹم کورس لے لیں گے. 552 00:50:17,380 --> 00:50:23,880 کاپی لکھنا ایک بہت معمول طرز ہے جہاں آپ کو کسی چیز کی ایک کاپی بنانے کے لئے کی ضرورت نہیں ہے 553 00:50:23,880 --> 00:50:26,650 جب تک یہ اصل میں تبدیل کر رہا ہے. جی ہاں. 554 00:50:26,650 --> 00:50:29,520 [] طالب علم اگر آپ کو ٹیسٹ کے اندر اضافہ تھا، 555 00:50:29,520 --> 00:50:33,700 1،000 میں سے صرف 1 عنصر کو تبدیل کرنے کی ضرورت ہو گی؟ 556 00:50:33,700 --> 00:50:38,770 مجھے یقین نہیں ہے. 557 00:50:38,770 --> 00:50:51,250 مجھے لگتا ہے کہ یہ پوری چیز کاپی کریں گے، لیکن یہ ممکن ہے یہ وہ کافی ہوشیار ہے - 558 00:50:51,250 --> 00:51:00,020 اصل میں، جو میں سوچ رہا ہوں تصور ہم ایک صف ہے جو اس طرح لگ رہا ہے تھا: $ array2 = [ 559 00:51:00,020 --> 00:51:11,000 اس کے بعد انڈیکس '' [1 2 3 4]، اور انڈیکس 'ب' کے ایک صف ہے جو کچھ بھی ایک صف ہے. 560 00:51:11,000 --> 00:51:15,380 میں نے ان میں سے سب کے درمیان کوما کی ضرورت ہے. امیجن وہاں کی علامت ہیں. 561 00:51:15,380 --> 00:51:21,210 پھر 'سی' قیمت 3 ہے. 562 00:51:24,210 --> 00:51:26,290 ٹھیک ہے. 563 00:51:26,290 --> 00:51:33,440 اب کا کہنا ہے کہ ہم باز ڈالر (array2 ڈالر) کرتے ہیں؛ 564 00:51:33,440 --> 00:51:36,540 باز حوالے کے طور پر جہاں یہ نہیں لے کرتا ہے. 565 00:51:43,510 --> 00:51:47,370 تو $ FOO ['C'] + +؛ 566 00:51:47,370 --> 00:51:52,340 یہ ایسی ایک مثال ہے جہاں ہم ایک دلیل کے طور پر array2 گزر رہے ہیں ہے 567 00:51:52,340 --> 00:51:57,010 اور پھر یہ incrementing کی طرف سے صف کی ایک مخصوص انڈیکس کی تجدید کر رہا ہے. 568 00:51:57,010 --> 00:52:01,090 میں ایمانداری سے نہیں خیال کیا پی ایچ پی کرنے جا رہی ہے. 569 00:52:01,090 --> 00:52:07,200 یہ ساری بات کی ایک کاپی آسانی سے بنانے، لیکن کر سکتے ہیں اگر وہ ہوشیار ہے، 570 00:52:07,200 --> 00:52:15,030 یہ ان چابیوں کا ایک نقل ہے جہاں یہ اس کی الگ قیمت کرے گا 571 00:52:15,030 --> 00:52:20,620 لیکن یہ اسی 1،2،3،4 صف میں اب بھی اشارہ کر سکتے ہیں 572 00:52:20,620 --> 00:52:22,320 اور یہ ایک ہی صف میں بھی اشارہ کر سکتے ہیں. 573 00:52:22,320 --> 00:52:24,170 میں اس رکن گے. 574 00:52:28,900 --> 00:52:45,950 ہم اس صف میں جہاں اس آدمی کو پوائنٹس 3 سے گزرتے ہیں، [1،2،3،4] اس آدمی کو پوائنٹس، 575 00:52:45,950 --> 00:52:51,350 اس آدمی پوائنٹس [34، ...] 576 00:52:51,350 --> 00:52:58,590 اب جب کہ ہم اس کے باز میں گزر رہے ہیں، ہم اس میں ترمیم کر رہے ہیں. 577 00:52:58,590 --> 00:53:03,550 اگر پی ایچ پی ہوشیار ہے، یہ صرف کر سکتے ہیں - 578 00:53:11,850 --> 00:53:18,230 ہم اب بھی کچھ میموری کاپی کرنا پڑا، لیکن اگر ان بھاری اندر در اندر subarrays تھے 579 00:53:18,230 --> 00:53:21,560 ہم ان کی کاپی کرنے کی ضرورت نہیں تھی. 580 00:53:21,560 --> 00:53:27,530 مجھے معلوم ہے کہ اگر وہ ہے جو اس سے فرق پڑتا ہے نہیں ہے، لیکن میں سوچ یہ ہے کہ کر سکتے ہیں. 581 00:53:29,050 --> 00:53:36,690 یہ بھی سی کے پی ایچ پی میں ایک بہت بڑا فائدہ یہ ہے. 582 00:53:36,690 --> 00:53:40,320 >> پی ایچ پی کی زندگی تو بہت سی چیزیں کے لئے بہت آسان ہے، 583 00:53:40,320 --> 00:53:45,060 لیکن آپ کی طرح بالکل نہیں خیال یہ اچھی طرح کس طرح کارکردگی کا مظاہرہ کریں گے 584 00:53:45,060 --> 00:53:52,530 ، کیونکہ میں ہڈ کے نیچے کوئی اندازہ نہیں ہے جب یہ چیزوں کی ان کاپیاں بنا رہا ہے 585 00:53:52,530 --> 00:53:55,170 اوہ، یہ ایک مسلسل وقت کی نقل کی جا رہی ہے، 586 00:53:55,170 --> 00:54:01,140 ہے یہ صرف 1 پوائنٹر کو تبدیل کرنے کی جا رہی ہے، یہ ایک مضحکہ خیز مشکل لکیری نقل ہونے جا رہا ہے؟ 587 00:54:01,140 --> 00:54:03,000 اگر وہ جگہ نہیں مل سکتے ہیں؟ 588 00:54:03,000 --> 00:54:06,760 کیا یہ اس کے بعد ردی کی ٹوکری میں جمع کرنے کو کچھ اور جگہ حاصل کرنے کے لئے چلانے کی ضرورت ہے؟ 589 00:54:06,760 --> 00:54:11,210 اور ردی کی ٹوکری میں جمع کرنے کو منمانے طویل لگ سکتے ہیں. 590 00:54:11,210 --> 00:54:13,600 C میں آپ کو ان چیزوں کے بارے میں فکر کرنے کی ضرورت نہیں ہے. 591 00:54:13,600 --> 00:54:19,780 ہر ایک لائن آپ کو آپ کے لکھنے کہ یہ کس طرح کارکردگی کا مظاہرہ ہو رہا ہے اس کے بارے میں کافی زیادہ کی وجہ سے کر سکتے ہیں. 592 00:54:26,800 --> 00:54:29,150 >> چلو، ان میں واپس دیکھنا. 593 00:54:35,400 --> 00:54:37,520 یہ کتنا اچھا ہے کہ آپ ہیش افعال کے ساتھ نمٹنے کے لئے کی ضرورت نہیں ہے، 594 00:54:37,520 --> 00:54:39,010 منسلک کی فہرست، یا ایسا کچھ ہے؟ 595 00:54:39,010 --> 00:54:41,980 چونکہ ہیش میزیں کے ساتھ کام کرنے سے بہت آسان ہے، یہاں پر کام کرنے کے لئے ایک مذاق پہیلی ہے. 596 00:54:41,980 --> 00:54:45,920 کہا جاتا unique.php اور اس میں فائل کھولیں پی ایچ پی پروگرام لکھ 597 00:54:45,920 --> 00:54:48,330 ("اسکرپٹ" کے طور پر بھی کہا جاتا ہے). 598 00:54:48,330 --> 00:54:55,700 ہم نے انہیں اسکرپٹ فون کرنے کے لئے کرتے ہیں اگر وہ چھوٹی چیزیں ہیں کہ آپ کمانڈ لائن پر چلاتے ہیں. 599 00:54:55,700 --> 00:55:02,950 بنیادی طور پر، کسی بھی زبان ہے جسے آپ مرتب نہیں لیکن آپ کارکردگی کو چلانے کے لئے جا رہے ہیں 600 00:55:02,950 --> 00:55:05,920 کمانڈ لائن پر، آپ کو اس کارکردگی سکرپٹ کو فون کر سکتے ہیں. 601 00:55:05,920 --> 00:55:08,510 میں سی پروگرام ہے کہ یہ اس کی صرف اس کے ساتھ ساتھ لکھ سکتے تھے، 602 00:55:08,510 --> 00:55:12,300 لیکن میں نے اس سکرپٹ کو کال نہیں ہے جب سے میں نے سب سے پہلے آرکائیو کریں اور پھر بائنری چلانے. 603 00:55:12,300 --> 00:55:15,480 لیکن یہ پی ایچ پی پروگرام ہم نے سکرپٹ کو فون کرنے جا رہے ہیں. 604 00:55:15,480 --> 00:55:23,830 یا، اگر ہم یہ ازگر یا پرل یا Node.js یا ان چیزوں میں سے کسی ایک میں لکھا 605 00:55:23,830 --> 00:55:26,500 ہم ان سب اسکرپٹ کال، کیونکہ تم نے ان کو کمانڈ لائن میں چلانا چاہتے 606 00:55:26,500 --> 00:55:30,040 لیکن ہم نے ان کو مرتب نہیں ہے. 607 00:55:30,860 --> 00:55:33,400 ہم اس خوبصورت فوری طور پر کر سکتے ہیں. 608 00:55:36,960 --> 00:55:41,480 ہم جا argv استعمال کرنے کے لئے نہیں کر رہے ہیں. صرف دو اس کے ذریعے اڑا. 609 00:55:41,480 --> 00:55:45,730 منفرد کال کے لئے ایک پروگرام لکھتے ہیں. 610 00:55:45,730 --> 00:55:49,400 آپ فرض کریں کہ ان پٹ میں ایک لفظ فی لائن پر مشتمل کر سکتے ہیں. 611 00:55:49,400 --> 00:55:52,020 اصل میں، argv بہت استعمال کرنے کے لئے چھوٹی سی ہو جائے گا. 612 00:56:03,730 --> 00:56:06,720 unique.php. 613 00:56:08,550 --> 00:56:13,750 پہلی چیز سب سے پہلے، ہم اگر ہم کیا گیا ہے 1 دلیل کمانڈ لائن منظور چیک کرنے کے لیے کرنا چاہتے ہیں. 614 00:56:13,750 --> 00:56:20,900 صرف جیسا کہ آپ argc اور C میں argv توقع کریں گے، ہم اب بھی پی ایچ پی میں ان ہے. 615 00:56:20,900 --> 00:56:33,900 لہذا اگر (argc $ 2 ==!) تو میں نے ایک پیغام یا کچھ چھپائی سے نمٹنے کے نہیں کرے گا. 616 00:56:33,900 --> 00:56:37,340 میں صرف 1 خرابی کا کوڈ سے باہر نکلیں گے. 617 00:56:37,340 --> 00:56:41,340 1 بھی واپس آ سکتا ہے. 618 00:56:41,340 --> 00:56:53,180 کبھی کبھار پی ایچ پی میں آپ کو اس حالت میں ہیں جہاں ہم ہیں - 619 00:56:53,180 --> 00:56:57,820 عام طور پر آپ کو ایک تقریب کی طرف سے کہا جاتا ایک تقریب کی طرف سے کہا جاتا ایک تقریب کی طرف سے کہا جاتا ایک تقریب میں ہو. 620 00:56:57,820 --> 00:57:02,070 اور اگر کچھ غلط ہو جاتا ہے اور آپ نے ابھی سب کچھ مکمل طور پر باہر نکلیں کرنا چاہتے ہیں، 621 00:57:02,070 --> 00:57:05,680 وہاں سے نکلنے کی صرف ایک پروگرام ختم ہوتا ہے. 622 00:57:05,680 --> 00:57:08,160 یہ سی میں بھی موجود ہے 623 00:57:08,160 --> 00:57:10,700 اگر آپ کو ایک تقریب میں ایک تقریب میں ایک تقریب میں ایک تقریب میں ہو 624 00:57:10,700 --> 00:57:17,540 اور آپ پروگرام قتل کرنا چاہتے ہیں، آپ وہاں سے نکلنے کی کال اور اس سے باہر نکلنے گا کر سکتے ہیں. 625 00:57:17,540 --> 00:57:23,120 لیکن یہ پی ایچ پی میں بھی غیر معمولی ہے کہ ہم اس سب سے اوپر کی سطح پر ہیں. 626 00:57:23,120 --> 00:57:26,090 عام طور پر ہم کسی قسم کی تقریب کے اندر ہیں، تو ہم وہاں سے نکلنے کی کال 627 00:57:26,090 --> 00:57:29,650 تاکہ ہم 1 بات ہے جو اس کے بعد پتہ چلتا ہے واپس نہیں ہے ایک خامی ہے 628 00:57:29,650 --> 00:57:32,270 تاکہ اس کو واپس اگر اس کو تسلیم کرنے میں ایک خرابی تھی. 629 00:57:32,270 --> 00:57:35,270 ہم نے اس کے ساتھ نمٹنے کے لئے نہیں کرنا چاہتے ہیں، تو سے باہر نکلیں (1)؛ 630 00:57:35,270 --> 00:57:38,240 واپسی (1)، اس معاملے میں برابر ہو جائے گی. 631 00:57:38,240 --> 00:57:44,000 >> تو کیا ہم کو کھولنے کے چاہتے ہیں ہم fopen میں کرنا چاہتے ہیں. 632 00:57:44,000 --> 00:57:46,760 دلائل خوبصورت اسی طرح دیکھنے کے لئے جا رہے ہیں. 633 00:57:46,760 --> 00:57:51,600 ہم نے fopen (argv $ [1]، اور ہم نے اسے پڑھنے کے لئے کھولنے کے چاہتے ہیں. کرنا چاہتے ہیں 634 00:57:51,600 --> 00:57:55,720 یہ ایک وسیلہ ہے جو ہم F فون کرنے جا رہے ہیں واپس. 635 00:57:55,720 --> 00:58:02,180 یہ خوبصورت کس طرح C اس سے فرق پڑتا ہے کے علاوہ ہم فائل * کہنے کی ضرورت نہیں ہے جیسا لگتا ہے. 636 00:58:02,180 --> 00:58:06,170 اس کے بجائے ہم صرف ایف ڈالر کا کہنا ہے کہ. ٹھیک ہے. 637 00:58:06,170 --> 00:58:17,190 اصل میں، مجھے لگتا ہے کہ یہ بھی ہمیں PHP کہا جاتا فائل ایک تقریب کے طور پر ایک اشارہ دیتا ہے. پی ایچ پی فائل. 638 00:58:17,190 --> 00:58:23,990 اس کا کیا کیا جا رہا ہے ایک صف میں ایک پوری فائل کو پڑھنے کے ہیں. 639 00:58:23,990 --> 00:58:29,770 تم نے یہ fopen بھی ضرورت نہیں ہے. یہ ہے کہ آپ کے لئے کیا جا رہا ہے. 640 00:58:37,450 --> 00:58:43,700 تو لائنز $ = فائل (argv $ [1])؛ 641 00:58:43,700 --> 00:58:49,680 اب فائل کی لائنوں کی تمام لائنوں میں ہیں. اب ہم لائنوں کو الگ الگ کرنا چاہتے ہیں. 642 00:58:49,680 --> 00:58:52,180 ہم لائنوں کو کس طرح الگ الگ کر سکتے ہیں؟ 643 00:58:52,180 --> 00:58:54,920 ہم لائنوں کو الگ الگ کریں. 644 00:58:54,920 --> 00:58:58,080 اور اب ہم انہیں یا جو کچھ بھی پرنٹ کر سکتے ہیں. 645 00:58:58,080 --> 00:59:05,580 شاید سب سے آسان طریقہ foreach ($ ڈالر کے طور پر لائن لائنز) $ بازگشت لائن ہے؛ 646 00:59:05,580 --> 00:59:10,960 [طالب علم] ہم طرح میں کچھ حوالہ کی طرف سے بھی نہیں لائنز پار کریں گے؟ 647 00:59:10,960 --> 00:59:28,850 اس کا ہے جہاں طرح تقریب کی طرح (اور صف ڈالر) کے طور پر کی وضاحت کی جائے گی. 648 00:59:28,850 --> 00:59:32,650 جب آپ تقریب فون آپ حوالہ سے اسے منظور نہیں ہے. 649 00:59:32,650 --> 00:59:36,900 یہ تقریب ہے کہ یہ حوالہ کے طور پر اسے لے کے طور پر کی وضاحت ہے. 650 00:59:36,900 --> 00:59:40,900 یہ اصل میں بالکل ہے کیا غلط ہو گیا 651 00:59:40,900 --> 00:59:46,220 ہم اپنے سرورز جب سب کچھ ڈال دیا جب ہم نے 5.3 سے 5.4 پر گئے تھے. 652 00:59:46,220 --> 00:59:53,800 5.4 تک یہ بالکل مناسب تھا. 653 00:59:53,800 --> 00:59:58,740 ایک تقریب اسے ریفرنس کے طور پر لے جانا کی توقع نہیں ہے، لیکن تم اس حوالہ کے طور پر منتقل کر سکتی ہیں 654 00:59:58,740 --> 01:00:02,860 اگر ایسا ہے تو کام ہوتا ہے اسے نظر ثانی کرنے کے، یہ اب بھی نظر ثانی کی ہے. 655 01:00:02,860 --> 01:00:05,850 5.4 کے طور پر، تمہیں یہ کرنے کے لئے نہیں کر رہے ہیں. 656 01:00:05,850 --> 01:00:11,740 تو اب صرف ایک ہی طریقہ ہے آپ حوالہ سے گزر اگر تقریب میں واضح طور پر اس سے فرق پڑتا ہے. 657 01:00:11,740 --> 01:00:19,840 اگر تم اسے نظر ثانی کرنا نہیں چاہتے ہیں، تو آپ کو ڈالر نقل لائنز $ = اور پاس نقل کرنے کی ضرورت ہے. 658 01:00:19,840 --> 01:00:24,820 تو اب لائنوں کو محفوظ رکھا جائے گا اور نقل تبدیل رکھا جائے گا. 659 01:00:27,670 --> 01:00:31,460 php.unique.php. میں کچھ گڑبڑ ہو سکتی ہے. 660 01:00:31,460 --> 01:00:33,190 غیر متوقع 'ترتیب دیں'. 661 01:00:38,320 --> 01:00:43,850 کچھ ہے جو ہمارے لئے اس کرتا ہے جا رہا ہے. 662 01:00:43,850 --> 01:00:45,820 یہ وہاں بھی نہیں ہے. 663 01:00:45,820 --> 01:00:52,140 نوٹس جب آپ دستی کو پڑھا ہے کہ پہلی دلیل ایک صف کی توقع ہے 664 01:00:52,140 --> 01:00:56,490 اور اس حوالہ کی طرف سے اٹھائے گئے. 665 01:00:58,160 --> 01:01:03,540 یہ مجھ سے کیوں شکایت ہے؟ کیونکہ میں نے اس تقریب کی طرح اب بھی یہاں ہے کہ میں نہیں چاہتا. 666 01:01:03,540 --> 01:01:09,210 ٹھیک ہے، php.unique.php. میں اسے منظور نہیں کیا ایک دلیل کی وجہ سے میں ایک فائل کی ضرورت نہیں ہے. 667 01:01:09,210 --> 01:01:13,560 یہ test.php پر php.unique.php ہے. 668 01:01:13,560 --> 01:01:19,080 یہاں سب ایک اچھا حل کے لئے میں طباعت test.php ہے. 669 01:01:19,080 --> 01:01:24,600 یاد رکھیں کہ کے مطابق ایک کوڈ کی فائل کے لئے قسم کی عجیب ہے 670 01:01:24,600 --> 01:01:27,460 کیونکہ ہمارے خالی لائنوں کی تمام پہلے آنے کے لئے جا رہے ہیں 671 01:01:27,460 --> 01:01:30,190 تو ہمارے 1 سطح indentations کے تمام آنے والے ہیں 672 01:01:30,190 --> 01:01:33,360 پھر ہمارے کوئی indentations کے تمام آئے. 673 01:01:33,360 --> 01:01:38,620 جی ہاں. >> [طالب علم] تو اس کے منبع کوڈ کے لئے ریفرنس کی طرف سے منظور نہیں کیا گیا تھا؟ 674 01:01:38,620 --> 01:01:42,240 یہ ہے کہ عام طور پر قدر کی طرف سے منظور ہے؟ 675 01:01:42,240 --> 01:01:50,240 [Bowden] کا تعین کرتا ہے جب آپ کے پاس ایک تقریب کہتے ہیں، کبھی نہیں چاہے وہ ریفرنس کی طرف سے منظور کیا گیا تھا. 676 01:01:50,240 --> 01:01:53,960 یہ تقریب تعریف ہے جس کا تعین کرتا ہے چاہے وہ ریفرنس کی طرف سے منظور کیا گیا تھا ہے. 677 01:01:53,960 --> 01:01:59,450 اور طرح کی تقریب کی تعریف میں تلاش یا صرف یہ دیکھ کر، 678 01:01:59,450 --> 01:02:02,820 یہ ریفرنس کی طرف سے دلیل لیتا ہے. 679 01:02:02,820 --> 01:02:07,160 تو اس سے قطع نظر کہ آیا آپ یہ حوالے کے طور پر لینا چاہتے ہیں، اس حوالے کے طور پر کرتا ہے، اسے لے لو. 680 01:02:07,160 --> 01:02:10,200 یہ جگہ میں صف ترمیم. 681 01:02:10,200 --> 01:02:17,400 یہ صرف کی اجازت نہیں ہے. آپ کو ایسا کرنے کی اجازت نہیں کر رہے ہیں. >> [طالب علم] اوہ، ٹھیک ہے. 682 01:02:17,400 --> 01:02:22,410 [Bowden] یہ، طرح حوالہ کی طرف سے لائنیں لو اور اس پر نظر ثانی کی جا رہی ہے. 683 01:02:22,410 --> 01:02:26,850 اور پھر، اگر آپ اسے ایسا نہیں کرنا چاہتا تھا، آپ طرح کی ایک کاپی بنا سکتے ہیں. 684 01:02:26,850 --> 01:02:35,850 یہاں تک کہ اس معاملے میں، اصل کاپی نہیں ہے لائنز کی ایک کاپی ہے. 685 01:02:35,850 --> 01:02:40,620 یہ صرف ایک ہی بات کی طرف اشارہ ہے جب تک یہ پہلی نظر ثانی شدہ ہو جاتا ہے، 686 01:02:40,620 --> 01:02:44,430 سب سے پہلے جہاں طرح تقریب میں پر نظر ثانی کرنے کے لئے جا رہا ہے، 687 01:02:44,430 --> 01:02:50,940 جہاں، کیونکہ یہ کاپی پر لکھتے ہیں، اب کاپی کی ایک نقل کی جا رہی ہے. 688 01:02:57,500 --> 01:03:04,250 آپ یہ بھی کر سکتے ہیں. یہ دوسری جگہ آپ ایمپرسینڈ دیکھ سکتے ہیں ہے. 689 01:03:04,250 --> 01:03:07,190 تم foreach loops میں دیکھتا ہوں، آپ کو تقریب کا اعلان کیا میں اسے دیکھ، 690 01:03:07,190 --> 01:03:10,040 اور آپ نے اسے دیکھا ہے جب صرف متغیر بتائے. 691 01:03:10,040 --> 01:03:12,350 اب ہم یہ کر کی طرف سے کچھ نہیں مکمل کیا ہے 692 01:03:12,350 --> 01:03:15,600 کیونکہ کاپی اور لائنوں لفظی ایک ہی چیز ہیں. 693 01:03:15,600 --> 01:03:19,940 آپ لائنوں کا استعمال کر سکتے ہیں اور interchangeably کاپی کر سکتے ہیں. 694 01:03:19,940 --> 01:03:25,430 آپ ناسیٹ کریں (کاپی ڈالر) کر سکتے ہیں، اور کہ ناسیٹ کریں لائنوں نہیں کرتا، 695 01:03:25,430 --> 01:03:29,120 آپ کو صرف ایک ہی بات آپ کے حوالہ سے محروم ہے. 696 01:03:29,120 --> 01:03:33,440 تو اس بات کے طور پر، اب لائنوں واحد راستہ ہے جس سے تم لائنوں تک رسائی حاصل کر سکتے ہیں ہے. 697 01:03:36,450 --> 01:03:38,770 >> سوال؟ 698 01:03:41,000 --> 01:03:42,460 جی ہاں. 699 01:03:42,460 --> 01:03:45,880 مکمل طور پر موضوع سے دور [طالب علم]، لیکن آپ کے ساتھ پی ایچ پی کو بند کرنے کی ضرورت نہیں ہے - >> تم نہیں. 700 01:03:45,880 --> 01:03:47,730 ٹھیک ہے. 701 01:03:47,730 --> 01:03:53,790 [Bowden] میں جہاں تک جانا کے طور پر کہتے ہیں کہ یہ بری پریکٹس ہے ان کو بند کرنے کے. 702 01:03:53,790 --> 01:03:57,580 یہ شاید ایک مبالغہ ہے خاص طور پر سکرپٹ میں، 703 01:03:57,580 --> 01:04:03,740 لیکن دیکھتے ہیں کیا ہوتا اگر میں ایسا. 704 01:04:03,740 --> 01:04:08,890 اس نے کچھ نہیں کیا. [sighs] - کیا ہوگا اگر میں چاہتا تھا 705 01:04:13,870 --> 01:04:16,960 میں ایک دلیل کو منتقل کرنے کی ضرورت ہے. 706 01:04:19,000 --> 01:04:22,050 گولی مارو. میں نے اسے غلط قرار دیا. 707 01:04:24,340 --> 01:04:28,310 ایک دلیل کے ساتھ تو php.unique.php. 708 01:04:28,310 --> 01:04:30,980 اب مجھے اس کی ضرورت بھی نہیں ہے. 709 01:04:34,520 --> 01:04:37,740 میں یہ ایک درست دلیل منظور کریں گے. 710 01:04:37,740 --> 01:04:42,050 اس پرنٹ میں طباعت کی جو بھی اس پرنٹنگ ہے. 711 01:04:45,260 --> 01:04:50,080 میں کاپی پرنٹ رہا ہوں اور کاپی موجود ہی نہیں کر رہا ہے. ہے. تو لائنوں. 712 01:04:53,650 --> 01:04:58,270 یہ سب کچھ طباعت، اور پھر یہاں نیچے یہ سب ردی نوٹس 713 01:04:58,270 --> 01:05:06,690 کیونکہ PHP کچھ میں جو پی ایچ پی ٹیگز سے باہر ہے 714 01:05:06,690 --> 01:05:09,520 ہے صرف لفظی پرنٹ کیا جا رہا ہے. 715 01:05:09,520 --> 01:05:18,050 یہی وجہ ہے کہ HTML ہے، بہت اچھی بات ہے کہ میں div BLAH BLAH، BLAH کلاس یا جو کچھ بھی کر سکتے ہیں، 716 01:05:18,050 --> 01:05:25,140 BLAH، BLAH، BLAH اور پھر کچھ پی ایچ پی کوڈ اور پھر آخر div کرو. 717 01:05:25,140 --> 01:05:36,460 اور اب یہ پرنٹ میں نے اوپر میری اچھی div ملے، سب کچھ ہے کہ پی ایچ پی چھپی، نیچے دیے گئے div. 718 01:05:36,460 --> 01:05:43,510 جو تباہ کن جب کچھ اس طرح ہوتا ہے، بہت عام ہے، 719 01:05:43,510 --> 01:05:47,930 صرف ایک فائل کے سب سے نیچے دیئے گئے آوارا newline. 720 01:05:47,930 --> 01:05:50,940 تمہیں نہیں لگتا یہ ہے کہ ایک معاہدے کے بڑے ہو گی 721 01:05:50,940 --> 01:05:58,660 جب تک کہ آپ نے براؤزر کے ساتھ یہ حقیقت پر غور - 722 01:05:58,660 --> 01:06:03,880 >> کام ری ڈائریکٹس کیسے یا بنیادی طور پر کسی بھی ہیڈرز کام 723 01:06:03,880 --> 01:06:07,980 جب آپ کو ایک ویب سائٹ پر اپنے کنکشن کی اور اسے واپس بھیجتا ہے یہ تمام جو کچھ ہیڈر اور 724 01:06:07,980 --> 01:06:12,020 ، 200 کے جواب یا جواب یا جو بھی ری کی طرح 725 01:06:12,020 --> 01:06:18,230 ہیڈرز صرف صحيح ہے جب تک ڈیٹا کا پہلا بائٹ بھیجا جاتا ہے. 726 01:06:18,230 --> 01:06:23,140 آپ کو ہزاروں بار ری، لیکن جیسے ہی کے طور پر اعداد و شمار کے پہلے بائٹ کو بھیجا جاتا ہے کر سکتے ہیں 727 01:06:23,140 --> 01:06:26,120 تمہیں دوبارہ ری ڈائریکٹ کرنے کے لئے نہیں کر رہے ہیں. 728 01:06:26,120 --> 01:06:31,860 >> اگر آپ کو فائل کا سب سے نیچے دیئے گئے ایک آوارا newline ہے 729 01:06:31,860 --> 01:06:37,260 اور کا کہنا ہے کہ آپ کو اس تقریب کا استعمال کرتے ہیں اور پھر آپ چاہتے ہیں - 730 01:06:41,580 --> 01:06:52,870 چلو کا کہنا ہے کہ یہ دوسری فائل ہے جو index.php ہے اور تم سے کچھ require_once - 731 01:06:52,870 --> 01:06:56,920 میں اس کی ایک اچھی مثال کے بارے میں سوچ بھی نہیں کر سکتے. 732 01:06:56,920 --> 01:07:04,740 مسئلہ ہوتا ہے جب اس لائن کے نیچے دیے گئے مائدونت ہو جاتا ہے. 733 01:07:04,740 --> 01:07:08,660 آپ کو گیا ہے ابھی تک ہے مائدونت کچھ نہیں کرنا چاہتے ہیں. 734 01:07:10,820 --> 01:07:15,700 اگرچہ آپ کو ہو رہی ہے مائدونت کچھ کا ارادہ نہیں کیا، کچھ مائدونت ملا 735 01:07:15,700 --> 01:07:17,990 تو اب تمہیں کوئی ہیڈر کو بھیجنے کے لئے نہیں کر رہے ہیں 736 01:07:17,990 --> 01:07:20,030 اور آپ شکایات حاصل کرنے کے لئے جا رہے ہیں. 737 01:07:22,170 --> 01:07:24,420 آپ کو صرف ان کلوزنگ ٹیگ کی ضرورت نہیں ہے. 738 01:07:24,420 --> 01:07:27,420 اگر آپ کو HTML کے ساتھ کچھ کر کی منصوبہ بندی - 739 01:07:27,420 --> 01:07:30,490 اور یہ بالکل مناسب ہے یہاں div کرنا جو بھی 740 01:07:30,490 --> 01:07:39,450 اور پھر آپ کو اس مقام پر آپ کو یا کر سکتے ہیں ان میں شامل ہیں. 741 01:07:39,450 --> 01:07:41,590 یہ واقعی کوئی فرق نہیں پڑتا. 742 01:07:41,590 --> 01:07:45,450 لیکن یہ پی ایچ پی اسکرپٹ میں شاذ و نادر ہے اسے بند کرنے کے لئے. 743 01:07:45,450 --> 01:07:50,400 سب کچھ پی ایچ پی، بالکل سب کچھ کب ہے، 744 01:07:50,400 --> 01:07:55,460 تم نے اسے بند / تم نے اسے بند نہیں کرنا چاہئے واقعی ضرورت نہیں ہے. 745 01:08:02,030 --> 01:08:05,720 >> تاروں سے نمٹنے سی کے مقابلے میں بہت اچھے ہے 746 01:08:05,720 --> 01:08:09,470 پی ایچ پی میں آپ ایک یا ڈبل ​​قیمت درج کرنے کے ساتھ ایک تار کی وضاحت کر سکتے ہیں. 747 01:08:09,470 --> 01:08:12,820 ایک کی قیمت درج کرنے کے ساتھ آپ کو "فرار" کے انداز کا استعمال نہیں کر سکتے. 748 01:08:12,820 --> 01:08:17,640 مسلسل، BLAH، BLAH، BLAH فرار ہونے کی. 749 01:08:19,920 --> 01:08:24,010 تو printf پی ایچ پی میں بہت کم ہے. 750 01:08:24,010 --> 01:08:32,290 مجھے لگتا ہے کہ میں printf کا استعمال اگر میں بات ایک طرح سے کرنا چاہتا تھا - 5 pset میں آپ sprintf یا جو کچھ بھی کرتے تھے. 751 01:08:32,290 --> 01:08:36,060 لیکن آپ 001.jpg اور 002.jpg کرنا چاہتے ہیں. 752 01:08:36,060 --> 01:08:40,300 اس چیز کے بارے میں اس قسم کے لئے جہاں میں اصل متن میں printf استعمال کریں گے فارمیٹ میں کرنا چاہتے ہیں. 753 01:08:40,300 --> 01:08:44,689 لیکن دوسری صورت میں سٹرنگ concatenation استعمال کریں گے. 754 01:08:44,689 --> 01:08:47,000 میں printf واقعی کبھی نہیں استعمال کریں. 755 01:08:49,229 --> 01:09:00,170 ہم نے ابھی تفصیلات ایک کی قیمت درج کرنے اور ڈبل قیمت درج کرنے کے درمیان فرق کر رہے ہیں. 756 01:09:00,170 --> 01:09:07,490 سب سے بڑا فرق ہے کہ ایک کی قیمت درج کرنے، یہ لفظی رکھا جائے طباعت گا. 757 01:09:07,490 --> 01:09:15,390 پی ایچ پی میں کوئی چار اعداد و شمار کی قسم ہے، C کے برعکس، تو یہ اس کے برابر ہے. 758 01:09:15,390 --> 01:09:17,970 وہ دونوں ڈور ہیں. 759 01:09:17,970 --> 01:09:29,180 اور ایک اقتباس ڈور کے بارے میں اچھی بات یہ ہے کہ میں کہہ سکتے ہیں 'ہیلو دنیا! BLAH، BLAH، وغیرہ، 760 01:09:29,180 --> 01:09:33,340 wooo $ $. 761 01:09:33,340 --> 01:09:38,260 جب میں پرنٹ یہ ہے کہ یہ پرنٹ لفظی گا تو کیا ہوتا ہے. 762 01:09:38,260 --> 01:09:40,680 ہمارے چیزیں سب سے چھٹکارا حاصل کریں. 763 01:09:40,680 --> 01:09:44,700 تو str1 ڈالر بازگشت؛ 764 01:09:48,569 --> 01:09:56,570 یہ لفظی ان چیزوں کے سب طباعت: ڈالر کی نشانیاں، 765 01:09:56,570 --> 01:09:58,770 الٹا سلیش (ن)، جو آپ کو لگتا ہے کہ newlines گے - 766 01:09:58,770 --> 01:10:01,500 ان میں سے سب نے اس سے لفظی پرنٹ. 767 01:10:01,500 --> 01:10:05,650 صرف ایک چیز آپ سے فرار ہونے کی ضرورت ہے ایک کی قیمت درج کرنے ہیں 768 01:10:05,650 --> 01:10:09,470 اسے لگتا ہے ورنہ کیونکہ یہ ایک قیمت درج کرنے بند ہے. 769 01:10:09,470 --> 01:10:15,050 ڈبل کوٹس، مکمل طور پر مختلف ہے. 770 01:10:20,300 --> 01:10:25,870 ہم پہلے ہی دیکھ نحو اجاگر ہمیں کیا اس کے بارے میں بہت غلط ہے cluing ہے. 771 01:10:25,870 --> 01:10:36,190 php.unique. جانچ متغیر: wooo کیونکہ یہ نامی wooo متغیر کے طور پر تشریح کیا جاتا ہے. 772 01:10:36,190 --> 01:10:42,400 ڈبل قیمت درج کرنے کا آپ میں متغیر داخل - 773 01:10:42,400 --> 01:10:52,730 چلو کا کہنا ہے کہ ڈالر کا نام = "روب"؛ 774 01:10:52,730 --> 01:10:58,020 تو بازگشت "ہیلو، میرا نام $ نام ہے!"؛ 775 01:10:58,020 --> 01:11:09,260 یہ ایک متغیر کے طور پر تسلیم کرتا ہے. 776 01:11:09,260 --> 01:11:21,210 جب میں اس چلاتے ہیں - اور میں ایک newline داخل - ہیلو، میرا نام روب ہے! اور ہیلو دنیا! 777 01:11:21,210 --> 01:11:24,910 اس کا ہے کیونکہ میں wooo کی اشاعت کے اوپر کبھی نہیں ہٹا دیا ہے. 778 01:11:24,910 --> 01:11:30,020 1 مزید قدم ہے جو آپ کر سکتے ہیں ہے. 779 01:11:30,020 --> 01:11:39,250 صف $ = [1، 2، 3]؛ 780 01:11:39,250 --> 01:11:43,270 کیا ہوگا اگر میں صف کی پہلی فہرست کو پرنٹ کرنے کے لئے کرنا چاہتے ہیں؟ 781 01:11:43,270 --> 01:11:45,150 آپ $ صف [0]. 782 01:11:45,150 --> 01:11:49,280 نحو اجاگر ایک اشارہ ہے. کیا یہ کرنے جا رہے ہیں؟ 783 01:11:52,320 --> 01:11:54,510 php.unique. 784 01:11:54,510 --> 01:11:59,860 ہیلو، میرا نام 1 ہے! جو نہیں ہے جو میں چاہتا تھا. 785 01:11:59,860 --> 01:12:05,050 نحو اجاگر نے مجھ سے جھوٹ بولا. 786 01:12:05,050 --> 01:12:13,020 چلو کوشش کرتے ہیں 'ایک' -> 1، 'B' - 2>. 787 01:12:18,450 --> 01:12:21,440 یہ ہے کہ میں اسے کس طرح لکھنے کے لئے ہوگا. 788 01:12:26,350 --> 01:12:32,160 غیر متوقع طور پر ایک اقتباس (T_ENCAPSED BLAH، BLAH، BLAH، BLAH، BLAH). 789 01:12:32,160 --> 01:12:41,780 خیال ہے کہ اس صف کے حصے کے طور پر تسلیم نہیں. 790 01:12:41,780 --> 01:12:46,620 اس ایک خط کی طرف سے حساب سے ترتیب صف کے طور پر تسلیم نہیں. 791 01:12:46,620 --> 01:12:49,870 آپ گھوبگھرالی منحنی خطوط وحدانی کی طرف سے گھیر لیا ہے کہ کرنا چاہتے ہیں، 792 01:12:49,870 --> 01:12:54,730 اور اب interpolated رکھا جائے گا اس گھوبگھرالی منحنی خطوط وحدانی میں جو کچھ بھی ہے، 793 01:12:54,730 --> 01:13:00,340 جو لفظ ہے ہم جادوئی صحیح جگہ میں ان متغیرات میں داخل کرنے کے لئے استعمال کرتے ہیں. 794 01:13:00,340 --> 01:13:04,280 اب یہ کر رہی، php.unique، اور ہیلو، میرا نام 1! توقع کے مطابق 795 01:13:04,280 --> 01:13:07,720 یا ہیلو، میرا نام Rob ہے! 796 01:13:14,110 --> 01:13:23,130 ایک بات ہے کہ ایک کی قیمت درج کرنے کے بارے میں اچھا ہے یہ ہے کہ - 797 01:13:23,130 --> 01:13:28,480 interpolating کچھ قیمت ہے. 798 01:13:30,520 --> 01:13:35,100 اگر آپ کو ڈبل قیمت درج کرنے کا استعمال کرتے ہیں، ترجمان کے اس جملے کو جانا ہے، 799 01:13:35,100 --> 01:13:41,500 اس بات کا یقین کر لیں کہ، کر "اوہ، یہاں ایک متغیر ہے اب میں اس متغیر کو حاصل کریں اور اسے یہاں داخل کرنے کی ضرورت ہے." 800 01:13:41,500 --> 01:13:48,930 یہاں تک کہ اگر آپ کسی بھی متغیر کا استعمال نہیں کرتے، 801 01:13:48,930 --> 01:13:52,220 ان ڈبل قیمت درج کرنے کی اندر کچھ بھی نہیں interpolated کرنے کی ضرورت ہے، 802 01:13:52,220 --> 01:13:56,800 لیکن یہ اب بھی سست ہو سکتا ہے کیونکہ یہ ڈبل قیمت درج کرنے پر جانے کی ضرورت ہے 803 01:13:56,800 --> 01:14:00,130 چیزیں جو interpolated رکھا جائے کرنے کی ضرورت ہے کے لئے کر رہے ہیں. 804 01:14:00,130 --> 01:14:05,360 تو ایک کی قیمت درج کرنے تیزی سے تھوڑا سا ہو جائے گا اگر کچھ نہیں interpolated رکھا جائے کرنے کی ضرورت ہے کر سکتے ہیں، 805 01:14:05,360 --> 01:14:15,650 اور میں ایک کی قیمت درج کرنے کا استعمال کرتے ہیں کے لئے بھی، 'ہیلو، میرا نام ہے' کرتے ہیں. $ صف ['ایک'] ویسے بھی. 806 01:14:15,650 --> 01:14:20,430 یہ جو ہم پہلے کے برابر ہو رہا ہے. 807 01:14:24,840 --> 01:14:28,440 لیکن یہ ترجیح کا معاملہ ہے. 808 01:14:28,440 --> 01:14:34,750 اگر آپ پی ایچ پی کا استعمال کر رہے ہیں، آپ کو رفتار میں فرق کے بارے میں شاید کوئی فرق نہیں پڑتا ہے. 809 01:14:34,750 --> 01:14:39,480 انہیں باہر کرنے کی وجہ سے کے ساتھ شروع کرنے کے لئے کافی نہیں ہے. 810 01:14:39,480 --> 01:14:43,030 >> کوئی آخری سوال؟ 811 01:14:47,430 --> 01:14:51,710 >> ہم اصل میں اس کے تمام کے ذریعے بھی نہیں ملا، لیکن یہ چیزیں بورنگ تھا. 812 01:14:51,710 --> 01:14:59,080 آخری بات یہ ہے کہ پی ایچ پی میں قسم کی اچھی بات ہے ہے جب آپ کو HTML کے ساتھ کام کر رہے ہو، 813 01:14:59,080 --> 01:15:06,450 آپ اسے ایک متغیر چھپائی کے لئے تھوڑا سا ہے، تو اچھا شارٹ کٹ نحو استعمال کریں گے. 814 01:15:32,400 --> 01:15:36,730 PHP یہاں ڈال کے بغیر، اس مختصر ٹیگ کہا جاتا ہے. 815 01:15:36,730 --> 01:15:44,330 سرکاری طور پر کے طور پر 5.4 پی ایچ پی کی اس فرسودہ ہے. 816 01:15:44,330 --> 01:15:48,640 آپ پی ایچ پی کی ڈال کرنے کی سفارش کی ہے. 817 01:15:48,640 --> 01:15:55,770 یہ اب بھی، <سے اتنی مختصر ٹیگ کی حمایت کی ہے. = اب بھی بالکل ٹھیک ہے. 818 01:15:55,770 --> 01:16:02,480 یہ حمایت کی پہلے سے طے شدہ کی طرف سے ہے، تو آپ ان کا استعمال کرتے ہیں، جیسا کہ آپ چاہتے ہیں کر سکتے ہیں، اور وہ کافی آسان ہے. 819 01:16:02,480 --> 01:16:05,700 >> کوئی سوال؟ 820 01:16:07,780 --> 01:16:09,270 ٹھیک ہے. 821 01:16:10,840 --> 01:16:13,800 >> بہترین معیار رہو، سان ڈیاگو. 822 01:16:13,800 --> 01:16:16,070 [منہ دبا ہںسنا] 823 01:16:18,620 --> 01:16:22,660 بای. [ہنسی] 824 01:16:24,350 --> 01:16:28,470 [تعریف] [ہنسی] 825 01:22:46,460 --> 01:22:49,460 >> [CS50.TV]