[Powered by Google Translate] [سیکشن 8 - مزید آرام دہ اور پرسکون] [روب Bowden - ہارورڈ یونیورسٹی] یہ [CS50 ہے. CS50.TV] - یہ ہفتے کے سیکشن نوٹ بہت مختصر ہو جا رہے ہیں، تو میں صرف بات کر رکھنے کے لئے جا رہا ہوں، تم لوگ سوال پوچھ رکھنے کے لئے جا رہے ہیں، اور ہم نے ہر ممکن حد تک زیادہ سے زیادہ وقت پر کرنے کی کوشش کریں گے. بہت سے لوگوں کو لگتا ہے کہ کہ یہ pset ضروری مشکل نہیں ہے، لیکن یہ بہت طویل ہے. pset رپورٹ خود کو ایک گھنٹے پڑھ لیتا ہے. ہم آپ کو SQL آپ کو استعمال کرنے کے لئے ممکنہ طور پر کی ضرورت ہے کر سکتے ہیں کی ایک بہت دے. ہم آپ کو اس کا ایک بہت کے ذریعے چلتے ہیں، تو یہ بہت برا نہیں ہونا چاہئے. کیا کسی کو شروع یا ختم؟ یہ آخری pset ہے. اوہ، میرے خدا. عام طور پر اس کے بعد ایک جاوا سکرپٹ ہے، لیکن کیلنڈر کی تبدیلی کی چیزیں 1 ہفتہ چھوٹا سب کچھ کرتا ہے، اور ہم اب کوئی جاوا اسکرپٹ pset. مجھے نہیں معلوم کہ وہ کس طرح اثر انداز ہوتا ہے کہ کیا جاوا سکرپٹ امتحان پر دکھایا جا رہا ہے یا 1 کوئز. میں سوچ بھی اس میں کچھ طرح آپ کو جاوا سکرپٹ کے بارے میں اعلی سطحی چیزوں کا جاننے کی ضرورت ہے، لیکن مجھے شک ہے کہ ہم آپ کو براہ راست جاوا سکرپٹ کے کوڈ دیں گے کیونکہ تم اس میں ایک pset تھا نہیں. لیکن اس کوئز جائزہ لینے کے لئے چیزیں اگلے ہفتے ہو جائے گا. سوالات کے سیکشن ہے. اس چیز کی ایک بہت کسی حد تک غیر تسلی بخش الفاظ میں ہے، لیکن ہم کیوں بات کریں گے. C کے برعکس، پی ایچ پی "کو متحرک ٹائپ" زبان ہے. اس کا کیا مطلب ہے، آپ سے پوچھنا؟ ٹھیک ہے، الوداع کہنے کا ان چار، فلوٹ، int، اور دیگر مطلوبہ الفاظ کی تمام آپ کو استعمال کرنے کی ضرورت C. میں متغیر اور افعال اعلان جب پی ایچ پی میں ایک متغیر کی قسم قدر ہے کہ وہ اس وقت پکڑ کی طرف سے مقرر کیا جاتا ہے. تو اس سے پہلے کہ ہم نامی dynamic.php فائل میں اس کوڈ کو ٹائپ کریں، پی ایچ پی کو متحرک طور پر ٹائپ ہے. یہ سچ ہے. میں یہ حقیقت ہے کہ اس کا مطلب ہے کہ ہم نے چار، فلوٹ کو الوداع کہہ رہے ہو، int کے ساتھ متفق نہیں ہوں، اور دیگر مطلوبہ الفاظ. کو متحرک طور پر ٹائپ شدہ اور متبادل کے درمیان عین مطابق فرق، جو statically ٹائپ ہے، کو متحرک طور پر ٹائپ، آپ کی قسم جانچ اور پڑتال کا سامان سب رن وقت ہوتا ہے، جبکہ statically ٹائپ یہ تالیف وقت ہوتا ہے. عام طور پر مستحکم لفظ تالیف کو وقت کی چیزوں کا مطلب ہے. مجھے لگتا ہے کہ اس کے لئے دوسرے استعمال ہیں، لیکن C جب آپ ایک مستحکم متغیر کا اعلان اس کی ذخیرہ تالیف وقت مختص ہے. یہاں ہے، کو متحرک طور پر ٹائپ کا مطلب صرف اتنا ہے کہ - C میں، اگر آپ ایک سٹرنگ اور ایک عددی کو شامل کرنے کے لئے، جب آپ نے اسے مرتب کرنے کی کوشش کیونکہ اس کا کہنا ہے کہ آپ کو ایک int ہے اور پوائنٹر کو شامل نہیں کر سکتے ہو رہا ہے شکایت کرنے جا رہا ہے. یہ صرف نہیں ہے ایک درست آپریشن ہے. یہ ایک اور بات یہ ہے کہ ہم ایک دوسرے میں حاصل کرنے کے لئے کریں گے ہے. لیکن چیکنگ کے اس طرح سے، حقیقت یہ ہے کہ یہ تالیف وقت شکایت مستحکم قسم کی چیکنگ ہے. زبانوں جہاں آپ کو چار، فلوٹ، int کہنے کی ضرورت نہیں ہے، اور سب کے سب وہ چیزیں ہیں، لیکن زبان بات کے تناظر سے بتا کس قسم کا ہونا چاہیے ہے، لیکن یہ اب بھی statically ٹائپ ہے. تو اگر آپ 51 OCaml لیتے ہیں، تو آپ کو ان اقسام میں سے کسی کو استعمال کرنے کے لئے نہیں کی ضرورت ہے، لیکن یہ اب بھی آپ کو یہ نہیں کیونکہ آپ کو ایک int اور ایک تار اختلاط رہے ہیں کر سکتے ہیں تالیف وقت کہیں گے. متحرک طور سے ٹائپ کا مطلب یہ ہے کہ آپ کچھ دیر چلانے کے وقت کے دوران ایک شکایت کو حاصل کرنے کے لئے جا رہے ہیں. اگر آپ بھی جاوا استعمال کیا ہے سے پہلے عام طور پر، تقریبا کسی بھی زبان C قسم ہے statically ٹائپ، تو C، C + +، جاوا، ان میں سے سب statically عام طور پر ٹائپ کر رہے ہیں کیا جا رہا ہے. جاوا میں تم سے کچھ جب مرتب اور تم کہہ رہے ہو سٹرنگ کچھ نیا کہ ایک تار نہیں ہے برابر، ہے کہ کیونکہ ان اقسام کو صرف سے مماثل نہیں ہے شکایت کرنے جا رہا ہے. یہ تالیف وقت شکایت کرنے جا رہا ہے. لیکن یہ بھی کچھ متحرک وقت چیزیں پسند ہے اگر آپ کچھ ڈالنے کی کوشش کرتے ہیں ایک قسم ہے جو اس کی موجودہ قسم سے زیادہ مخصوص ہے، وہاں کچھ بھی نہیں ہے یہ تالیف وقت چیک کرنے کے لیے چاہے وہ کاسٹ کامیاب ہونے جا رہا ہے کر سکتے ہیں ہے. جاوا بھی کچھ متحرک ہے کہ جانچ پڑتال کی قسم ہے، جیسے ہی یہ کوڈ کے لائن پر ہو جاتا ہے جب یہ اصل میں قتل ہے، اس کاسٹ کیا جا رہا ہے، اگر یہ کاسٹ پہلی جگہ میں صحیح تھا چیک کرنے کے لیے، اور اگر یہ نہیں تھا، تو یہ شکایت ہے کہ آپ کو ایک غلط قسم ہے جا رہا ہے. متحرک قسم کی جانچ ہو رہی ہے. نامی dynamic.php فائل میں یہ ٹائپ کریں. Dynamic.php. میں اس فارمیٹنگ کو ان زپ کریں گے. ہم نے ایک متغیر ہے، ہم اسے عددی 7 قائم کرنے، تو پھر ہم اور٪ s کو پرنٹ کرنے کے لئے جا رہے ہیں - اوہ، ہم اس کی قسم چھپائی رہے ہیں، تو gettype متغیر کی قسم واپس جا رہا ہے. ہم صرف کی قسم چھپائی سے زیادہ بار بار کر رہے ہیں. ہمیں صرف php.dynamic.php. ہم دیکھیں گے کہ عددی سے بولین پر سٹرنگ تبدیلیوں کے طور پر ہم کے ذریعے جانا. C میں کوئی بولین ڈیٹا کی قسم ہے، اس کے جملے کی معلومات کی قسم ہے. حروف * ہے اور بولین int یا چار یا کچھ اور ہو جاتا ہے. پی ایچ پی میں ان اقسام موجود ہیں، اور یہ C پر پی ایچ پی کے بڑے فوائد میں سے ایک ہے - کہ سٹرنگ آپریشن infinitely سی سے پی ایچ پی میں آسانی سے وہ صرف کام ہے. تو ہم یہاں واپس آتے ہیں. ہم نے dynamic.php بھاگ گیا. یہ پی ایچ پی کی ترجمان، سے ملاقات کی پی ایچ پی کی ہے، dynamic.php میں پی ایچ پی کوڈ چلانے کہتا ہے. اگر آپ کے پاس فائل میں کسی بھی غلطی ہے، مترجم آپ کو بتائیں گے! مترجم، یہ پی ایچ پی اور سی کے درمیان ایک بڑا فرق ہے C میں تم سے کچھ کو مرتب اور پھر آپ اس مرتب فائل کو چلانا ہے. پی ایچ پی میں آپ کو کسی بھی چیز کی کبھی نہیں تالیف. تو پی ایچ پی کی ترجمان بنیادی طور پر لائن کی طرف سے ہے اس لائن پڑھ. یہ اختیار کرنے متغیر 7 = پھر یہ printf تو مار دیتی ہے یہ متغیر مار دیتی ہے تو اس printf اور اس پرہار. مرتب کرتا ہے تھوڑا سا ہے، اور اس کے نتائج کیش اگر ایسا ہے تو آپ کو سکرپٹ چلانے کے بعد آپ کو کچھ کر سکتے ہیں، لیکن بنیادی طور پر یہ بات کی لائن ترتیب دیں کی طرف سے ایک لائن ہے. اس کا مطلب یہ ہے کہ، اصلاحات ہے کہ ہم سی کی ایک بہت مرتب کی طرح، یہ صرف عام طور پر کمپائلر آپ کے لئے ترکیبیں کے ایک بہت کچھ کر سکتے ہیں. یہ غیر استعمال شدہ متغیر لے جا سکتے ہیں، یہ ان قسم کی چیزوں کی سب کر سکتے ہیں، یہ دم کی تکرار کر سکتے ہیں. پی ایچ پی میں آپ کو اس فائدہ حاصل کرنے کے لئے نہیں کر رہے ہیں کیونکہ یہ صرف لائن کی طرف سے لائن کی طرف سے لائن پر عمل شروع ہو رہا ہے، اور اس نے ان چیزوں کو واقعی نہیں ہے آسانی سے تسلیم کیونکہ یہ 1 چیز پر بڑا تالیف پاس اور پھر پھانسی نہیں ہے؛ لائن کی طرف سے لائن ہے. تو وہ مترجم ہے. ہمارے متحرک ٹائپنگ کی حمایت: خوبصورت ڈاؤن لوڈ، اتارنا، اہ؟ تم ضرور C میں نہیں کر سکا! اب، دیکھو، اگر آپ کو درج ذیل اقدار میں سے ہر ایک کی قسم اعداد و شمار کر سکتے ہیں. اس ریفرنس کے لئے ملاحظہ کریں. تو 3.50. کس قسم کی آپ کے خیال میں جو ہو رہا ہے؟ اقسام ہم نے یہ ہیں. ہم bools، integers، سچل پوائنٹس، ڈور، arrays، اشیاء ہیں، اور پھر وسائل، جو مبہم کی طرح ہے. مجھے لگتا ہے کہ اصل میں ایک مثال یہاں ہے. پھر نل ہے. نل ایک خاص قسم ہے. C جہاں نل 0 ایڈریس کے ساتھ ایک پوائنٹر کے برعکس، پی ایچ پی میں، نل اس کی اپنی قسم ہے جہاں صرف اس قسم کی درست بات خالی ہے ہے. یہ غلطی پرکھنے کے لئے بہت مفید ہے. C جہاں ہم نے اس معاملے میں جہاں اگر آپ نل واپس، کیا اس کا مطلب ہے کہ آپ کو ایک نل پوائنٹر واپس لوٹنے رہے ہیں یا نل کا استعمال کرتے ہوئے غلطی کی نشاندہی یا اس برم کی تمام ہم ایک نقطہ پر تھا. یہاں، نل واپس لوٹنے عام طور پر غلطی کا مطلب ہے. بہت سی چیزیں بھی غلطی کے لئے جھوٹے واپس. نل قسم کی صرف ایک ہی چیز ہے لیکن نکتہ نل پر قسم ہے، نل ہے. پھر واپسی کال ہے جیسا کہ تم نے کچھ گمنام افعال کی وضاحت کر سکتے ہیں. تقریب میں ایک کا نام دینے کے نہیں ہے، لیکن تم اس کے ساتھ یہاں پر نمٹنے کی ضرورت نہیں کرے گا. کی تلاش میں قسم کی ہے کہ وہ ہمیں جاننے کی امید رکھتے ہیں، کیا تمہیں لگتا ہے کہ 3.50 کی قسم ہے؟ >> [طالب علم کو] فلوٹ. جی ہاں. تو پھر یہاں کیا آپ کو لگتا ہے اس کی قسم ہے؟ >> [طالب علم] لڑی. جی ہاں. پہلا ایک فلوٹ تھا، اور دوسرا شخص ایک صف ہے. یاد رکھیں کہ اس صف C صف کی طرح نہیں ہے 1 صفحہ جہاں آپ انڈیکس ہے 0 کچھ اہمیت کی حامل ہے، کوئی قیمت نہیں ہے. یہاں سوچکانکوں میں اے، بی، سی اور اور اقدار 1، 2، اور 3. پی ایچ پی میں ساہچری صف اور صرف ایک باقاعدہ صف کے درمیان کوئی فرق نہیں ہے کے طور پر آپ کو اس کی سی میں لگتا ہے کہ صرف یہ ہے، اور ہڈ کے نیچے ایک باقاعدہ صف صرف ایک ساہچری سرنی ہے جہاں کسی قدر 0 نقشے اسی طرح کسی قدر ایک نقشے. اس کی وجہ سے، پی ایچ پی کی واقعی روزہ چیزیں کوڈ / بینچ مارکنگ کے لئے بہت برا ہو سکتا ہے کے بعد سے سی جب آپ ایک صف کا استعمال کرتے ہوئے کر رہے ہیں آپ جانتے ہیں کہ ایک رکن تک رسائی حاصل کرنے میں مسلسل وقت ہے. پی ایچ پی کی ایک رکن تک رسائی حاصل کرنے میں ہے جو کتنا وقت جانتا ہے؟ یہ شاید مسلسل ہے اگر یہ hashes درست طریقے سے. کون جانتا ہے کہ کیا یہ واقعی ہڈ کے نیچے کر رہی ہے؟ تم واقعی عملدرآمد میں یہ دیکھنے کی ضرورت ہے کہ یہ کس طرح اس کے ساتھ نمٹنے کے لئے جا رہا ہے پر نظر کرنے کی ضرورت ہے. تو fopen. مجھے لگتا ہے کہ ہم صرف پی ایچ پی کی دستی fopen واپسی کی قسم کو دیکھنے کے لئے. ہم یہاں دیکھ کر آپ کو نظر بہت PHP دستی میں کوئی کام کر سکتے ہیں اور اس طرح کی پی ایچ پی آدمی صفحے کے ہے. واپسی قسم کے وسائل کی جا رہی ہے. یہی وجہ ہے کہ میں نے اسے دیکھا، کیونکہ ہم وسائل واقعی نہیں تھا کی وضاحت. وسائل کے خیال، آپ C میں اس قسم کی ایک فائل * یا جو کچھ بھی ہے، وسائل کی پی ایچ پی میں آپ کی فائل کی * ہے. یہ ہے جو تم سے پڑھنے جا رہے ہیں، آپ کو کیا لکھنے جا رہے ہیں. یہ عام طور پر بیرونی ہے، تو یہ ایک وسائل ہے تم سے چیزوں کو ھیںچو کر سکتے ہیں اور چیزیں پھینک کر سکتے ہیں ہے. اور آخر میں، نل کی قسم کیا ہے؟ >> [طالب علم]، اتارنا null. جی ہاں. تو صرف ایک ہی چیز ہے جو نل ہے خالی ہے. نل نل ہے. پی ایچ پی کی قسم نظام (بہتر یا برے کے لئے) میں سے ایک خصوصیت اس کی اقسام juggle کرنے کی صلاحیت ہے. ، جب آپ پی ایچ پی کوڈ ہے جو مختلف قسم کی اقدار کو اکٹھا کی ایک لائن لکھنے پی ایچ پی سمجھدار بات کرنے کی کوشش کی جائے گا. پی ایچ پی کوڈ کے مندرجہ ذیل لائنوں میں سے ہر ایک کی کوشش کریں. کیا چھپا ہے؟ یہ کیا ہے آپ کی امید ہے؟ یا نہیں کیوں؟ پی ایچ پی کے بارے میں یہ حقیقت یہ ہے کہ یہ کیا کرتا ہے جو ہم کہتے ہیں کمزور ٹائپ. کمزور ٹائپ اور سخت ٹائپ، ان شرائط کے لئے مختلف استعمال ہیں، لیکن زیادہ تر لوگوں کو کمزور کو ٹائپ اور سخت ٹائپ کا استعمال کرتے ہیں اس طرح کی چیز کا مطلب ("1" 2 +) جہاں، کہ کام کرتا ہے. C میں کام نہیں کریں گے. آپ یہ کام نہیں کر تصور کر سکتے ہیں. بہت سے لوگوں کی ایک متحرک ٹائپنگ اور کمزور ٹائپنگ اور مستحکم ٹائپنگ اور مضبوط ٹائپنگ دوسو ازگر ایک ایسی زبان ہے جو کو متحرک طور پر ٹائپ کی ایک اور مثال ہے. آپ کو متغیر میں اقسام کے ارد گرد پھینک اور رن کے وقت کا تعین کرنے جا رہا ہے کر سکتے ہیں کسی بھی غلطی checkings. ازگر میں اس پر عمل کرنے اور اس ("1" 2 +) جا رہا ہے؛ اور اس میں ناکام رہتے ہیں کیونکہ اس کا کہنا ہے کہ آپ کو ایک اسٹرنگ اور ایک عددی شامل نہیں کر سکتے. میں پی ایچ پی، جس میں صرف کے طور پر متحرک طور پر ٹائپ ہے، یہ ناکام نہیں ہو گا. کمزور ٹائپنگ حقیقت یہ ہے کہ یہ اقسام کے ساتھ چیزیں کرتا ہے کے ساتھ کیا ہے اس لحاظ سے واقعی نہیں کرنا ضروری ہے. تو ("1" 2 +)، میں یہ تصور کریں کہ میں 12 سٹرنگ ہونے کا تصور، اسے 3 سٹرنگ ہونے کی وجہ سے کر سکتے ہیں کر سکتے ہیں، میں تصور کر سکتے ہیں یہ عددی 3 ہونے کے. یہ، ضروری نہیں ہے کی وضاحت اور ہم شاید یہاں دیکھنے کے لئے جا رہے ہیں کہ جب ہم پرنٹ ("1" 2 +)، یہ شاید مختلف ہونے کے ختم ہو رہا ہے پرنٹنگ سے (1 + "2"). اور یہ برے کے لئے میری رائے میں،، جاتا ہے. یہاں ہم ان کی کوشش کر سکتے ہیں. پی ایچ پی کے بارے میں ایک اور چھوٹی سی چال ہے کہ آپ اصل فائل کو لکھنے کی ضرورت نہیں ہے. اس سے فرق پڑتا ہے اس کمانڈ موڈ چلائیں. تو پی ایچ پی کی R-، تو ہم یہاں کمانڈ میں پھینک کر سکتے ہیں: پرنٹ کریں ('1 '2 +) "اور میں ایک نئی سطر میں پھینک دونگا. یہ 3 طباعت. ایسا لگتا ہے جیسے یہ 3 پرنٹ اور عددی 3. تو اب ہم کے ارد گرد دوسرے طریقے سے کرنے کی کوشش کریں: "پرنٹ کریں (1 + '2 ')؛ ہم 3 ملتا ہے، اور یہ بھی 3 عددی جا؟ میں ایمانداری کا کوئی خیال نہیں ہے. ایسا لگتا ہے اس طرح مسلسل ہے. یہ سٹرنگ 12 یا ایسا کچھ بھی ہونے کا کوئی موقع کبھی نہیں ہے کہ کیونکہ پی ایچ پی، کے برعکس جاوا سکرپٹ اور جاوا بھی، concatenation کے لئے ایک علیحدہ آپریٹر ہے. پی ایچ پی میں Concatenation ڈاٹ ہے. تو پرنٹنگ (1 '2 '.)، ہمیں 12 دینے جا رہی ہے. یہ الجھن جہاں لوگ STR = + طرح کچھ کرنے کی کوشش کروں کی قیادت جاتا کچھ دوسری بات یہ ہے کہ وہ ان کے تار کے آخر میں شامل کرنا چاہتے ہیں، اور یہ کہ کرنے میں ناکام ہو رہا ہے. آپ STR کرنے کی ضرورت =. تو نہیں بھولنا concatenation پی ایچ پی میں ایک نقطہ ہے. دیگر چیزوں کو کرنے کی کوشش کریں: پرنٹ کریں ("CS" 50 +)؛ میں نے تم سے کہا ہے کہ اس کی کوئی امید نہیں ہے CS50 کے نتیجے میں نہیں ہے کے بعد concatenation + نہیں ہے. آپ کو کیا لگتا ہے یہ کیا جا رہا ہے ختم ہو رہا ہے؟ میں ایمانداری سے بالکل کوئی اندازہ نہیں ہے. ایسا لگتا ہے جیسے یہ صرف 50 ہے. یہ سٹرنگ دیکھتا ہے، اور میں شرط لگا سکتا ہوں کہ اگر ہم 123CS ڈال - یہ پہلا سٹرنگ دیکھتا ہے، اس کی جانب سے ایک عددی یا اس کی طرف سے ایک بڑی تعداد کو پڑھنے کے لئے کی کوشش کرتا ہے. اس صورت میں یہ 123CS دیکھتا ہے. "یہ ایک عددی کے طور پر کوئی مطلب نہیں ہے، تو میں صرف 123 کے بارے میں سوچو جا رہا ہوں." 123 تو 50 + 173 جا رہا ہے. اور یہ ایک عددی طور پر اس کی تلاوت شروع ہوتا ہے. تو اس سے بھی کچھ نظر نہیں ہے، یہ صرف اس 0 طور پر علاج کرتا ہے. 0 تو 50 + 50 کی جا رہی ہے. یہ مجھے سنبھالنے رہا ہوں اسی طرح کچھ کرنے کے لئے جا رہا ہے. میں 99 میں سوچ رہا ہوں. جی ہاں، کیونکہ یہ پہلی لے جا رہا ہے - تو 99. یہاں (10/7)، اگر یہ C تھے، کہ جو لوٹ آئیں گے؟ 1 [طالب علم. >> جی ہاں، یہ 1 کیونکہ 10/7 2 integers تقسیم کر رہا ہے. ایک عددی کے ذریعے تقسیم کی عددی ایک عددی واپس جا رہا ہے. 1 نقطہ جو کچھ بھی ہو گا واپس نہیں کر سکتے ہیں، تو یہ صرف 1 واپس جا رہا ہے. یہاں پرنٹنگ (10/7)، یہ اصل میں اس کی تشریح کی جا رہا ہے. اور اس کا مطلب یہ ہے کہ اگر آپ نے اصل میں اس طرح عددی پکڑ دھکڑ اور سامان کرنا چاہتے ہیں تو، آپ پرنٹ کریں (منزل (10/7)) کرنے کی ضرورت؛ C میں شاید یہ عجیب ہے کہ آپ کو عددی ٹرنکیشن پر انحصار باقاعدگی سے کر سکتے ہیں، لیکن کیونکہ تم یہ فلوٹ میں پی ایچ پی میں نہیں کر سکتے ہیں خود کار طریقے سے اس کی باری ہے. اور پھر (7 سچ +)، کیا آپ کو لگتا ہے کہ جو ہو رہا ہے؟ میں 8 اندازہ اگر یہ 1 کے طور پر درست تشریح جا رہا ہوں. ایسا لگتا ہے جیسے 8 ہے. تو کچھ ہم نے گزشتہ 10 منٹ تم بالکل نہیں کرنا چاہیے میں نے کیا ہے. آپ کوڈ کو نظر آئے گا کہ یہ اس کی ہے. اس کے طور پر کے طور پر براہ راست نہیں ہے. آپ کے پاس 2 متغیر ہے، اور 1 متغیر ایک تار پر ہوتا ہے اور دوسرے متغیر ایک int ہوتا ہے، اور پھر آپ کو ان متغیرات کے ساتھ شامل ہے. چونکہ پی ایچ پی کو متحرک طور پر ٹائپ ہے اور یہ آپ کے لئے کسی بھی قسم کی چیکنگ نہیں کرے گا اور چونکہ یہ کمزور ٹائپ ہے اور کیونکہ یہ خود کار طریقے سے صرف ان چیزوں کے ساتھ پھینک دیں گے اور سب کچھ صرف کام کریں گے، یہ مشکل ہے یہ بھی جانتا ہوں کہ یہ متغیر ایک تار اب ضروری ہے، تو میں اس متغیر شامل نہیں ہونا چاہئے، جس میں ایک عدد صحیح ہے. سب سے اچھا عمل ہے اگر ایک متغیر ایک تار ہے، یہ ایک تار کے طور پر ہمیشہ کے لئے رکھیں. اگر ایک متغیر ایک int ہے، یہ ایک int کے طور پر ہمیشہ کے لئے رکھیں. اگر آپ کے پاس integers اور ڈور کے ساتھ نمٹنے کے لئے چاہتے ہیں، آپ varsint استعمال کر سکتے ہیں - جو جاوا سکرپٹ ہے. Intval. مجھے یہ ہر وقت کرتے ہیں. پی ایچ پی اور جاوا سکرپٹ میں نے سب کچھ دوسو تو intval ایک متغیر کی عددی قیمت واپس جا رہا ہے. اگر ہم "پرنٹ کریں (intval ('123 ')) میں گزرتے ہیں، آپ 123 ملتا ہے. Intval خود ہمارے لئے چیک کرنا ہے کہ یہ خاص طور سے ایک عددی ہے نہیں ہے. PHP دستی، وہاں بہت سارے افعال دستیاب ہیں، تو مجھے لگتا ہے کہ میں استعمال کریں گے is_numeric پہلے ہے. میں اندازہ ہے کہ جھوٹے واپس کر رہا ہوں. یہ ایک اور چیز ہے جو ہم === ہے پر جانے کے لئے ہے. تو is_numeric ('123df) کہ جیسے is_numeric لگتا ہے، نہیں کریں گے. C میں آپ تمام حروف iterate ہوگا اور اگر ہر کردار پوائنٹس یا جو کچھ بھی ہے کو دیکھنے کے لئے چیک کرنے کے لیے. یہاں is_numeric ہمارے لئے وہ کیا کرنے والی ہے، اور یہ جھوٹے واپس آ گیا ہے. تو جب میں اس پرنٹ میں طباعت کی، یہ کچھ بھی نہیں طباعت، تو میں یہاں یہ دیکھنے کے لئے آپس میں موازنہ کر رہا ہوں، کیا تم نے باطل ہو؟ اور تو اب اسے 1 چھپائی ہے. بظاہر صحیح طور پر درست چھپائی کی بجائے سچ کے طور پر پرنٹ 1. میں سوچتا ہوں اگر میں print_r کرتے ہیں. نہیں، یہ اب بھی 1 ہے. === واپس جانا، == اب بھی موجود ہے، اور اگر تم ٹومی پر بات کرتے ہیں، وہ کہتے ہیں کہ == گے بالکل ٹھیک ہے. کا کہنا ہے کہ == خوفناک ہے اور آپ == کا استعمال کبھی نہیں کرنا چاہئے جا رہا ہوں. فرق یہ ہے کہ == چیزوں کا موازنہ یہ سچ کہاں ہو یہاں تک کہ اگر وہ اسی طرح نہیں ہو سکتا ہے، جبکہ === چیزوں کا آپس میں موازنہ اور سب سے پہلے چیک وہ اسی قسم کے ہیں؟ جی ہاں. ٹھیک ہے، اب میں دیکھیں اگر وہ واقعی اس کے برابر ہونا موازنہ کرنے کے لئے جا رہا ہوں. تم 10 کی طرح عجیب باتیں برابر - چلو دیکھتے ہیں وہ کیا جو یہ کہتا ہے. تو ('10 '== '1 e1')؛ یہ سچ بتائےگا. کیا کسی اندازہ کیوں یہ سچ واپس ہے؟ یہ صرف اس کے بارے میں نہیں ہے. شاید یہ ایک اشارہ ہے. لیکن اگر میں ایک ایف ہے کہ تبدیل - ارے! میں ڈبل قیمت درج کرنے کا استعمال کرتے ہوئے رہتے ہیں. وجہ ہے ڈبل قیمت درج کرنے کو مجھ پر چللا رہی ہو ہے کیونکہ میں ڈبل قیمت درج کرنے میں اس کو رکھا ہے. ہے. تو میں یہاں ڈبل قیمت درج کرنے سے فرار ہونے میں، لیکن ایک کی قیمت درج کرنے کو آسان بنانے کے کر سکتے ہیں. تو ('10 '== '1 F1')؛ سچ پرنٹ نہیں کرتا. ('10 '== '1 e1')؛ سچ پرنٹ. [طالب علم] کیا یہ hex؟ >> یہ hex نہیں ہے، لیکن اس کے قریب ہے کہ اس کی طرح ہے ہے - 1e1، سائنسی سنکیتن. 1 کے طور پر 1e1 کو تسلیم 10 * 1 ^ یا جو کچھ بھی ہے. وہ برابر integers ہیں. اگر ہم === ہو تو یہ غلط ہونے جا رہا ہے. میں واقعی میں کوئی اندازہ نہیں ہے اگر ہم ایسا کرتے ہیں == کے بارے میں کیا (10 اور '10abc ')؛ ٹھیک ہے. تو یہ درست ہے. تو لگتا ہے جب آپ (10 + '10abc) نے کیا، اور یہ 20 ہو جائے گی، یہاں (10 == '10abc ')؛ سچ ہے. بھی بدتر جیسی چیزوں (جھوٹی نل ==) ہیں، سچ ہے یا (جھوٹے 0 ==)، سچ ہے، (جھوٹے == [])؛ کے عجیب مقدمات ہیں - یہ ان عجیب مقدمات میں سے ایک ہے. کہ نوٹس (جھوٹے == [])؛ سچ ہے. ('0 جھوٹے '==)؛ سچ ہے. ('0 '== [])، باطل ہے. تو == نہیں ترسیلی راستہ میں ہے. بی کے برابر ہو جائے اور سی کے برابر ہو سکتا ہے کر سکتے ہیں، لیکن بی سی کے برابر نہیں ہو سکتا ہے. یہ میرے لئے ایک نفرت ہے، اور تم = ہمیشہ استعمال کرنا چاہئے. [طالب علم] ہم == ساتھ ساتھ کرو! سکتا ہے؟ >> [Bowden] جی ہاں. برابر ہو جائے گا! = اور ==. یہ اصل میں pset رپورٹ میں لایا جہاں افعال واپسی کے بہت - پی ایچ پی کی دستی اس کے بارے میں اچھا ہے. یہ ایک بڑے سرخ باکس میں کہتے ہیں، "یہ جھوٹے واپس اگر میں ایک خرابی ہے." لیکن واپس لوٹنے 0 پر واپس لوٹنے کا ایک بالکل مناسب بات ہے. کسی بھی تقریب جو ایک عددی واپس کی توقع ہے کے بارے میں سوچو. چلو کا کہنا ہے کہ اس تقریب میں ایک فائل یا کچھ اور میں لائنوں کی تعداد شمار سمجھا جاتا ہے. عام حالات کے تحت، آپ کو اس تقریب میں ایک فائل پاس اور یہ ایک عددی جس میں لائنوں کی تعداد کی نمائندگی کرتا ہے واپس جا رہا ہے. تو 0 ایک بالکل مناسب تعداد ہے اگر فائل خالی ہے. لیکن کیا اگر تم نے یہ ایک غلط فائل پاس اور تقریب جھوٹے واپس ہوتا ہے اگر آپ نے ایک غلط فائل کے پاس ہے؟ اگر آپ نے ابھی کیا == آپ جعلی فائل اور خالی فائل کے درمیان معاملے میں فرق نہیں کر رہے ہیں. ہمیشہ = کا استعمال کریں. یہ ہے ان میں سے سب. پی ایچ پی میں، صف کی قسم C. میں جو آپ استعمال کرتے رہے ہیں سے مختلف ہے بے شک آپ کے پاس پہلے سے ہی اس سے اوپر کر سکتے ہیں نے محسوس کیا جب آپ نے دیکھا کہ اس قسم کی صف ہے. بریکٹ کا نحو 5.4 پی ایچ پی کی ہے، جو کہ پی ایچ پی کے نئے ورژن ہے کے طور پر نئے ہے. > 1، 'ب' - 2 -> اس سے پہلے کہ آپ ہمیشہ صف ('ایک' لکھنے کی تھی. یہ ایک صف کے لئے تعمیر تھا. اب پی ایچ پی آخر میں صرف مربع بریکٹ کی اچھی نحو کے ارد گرد آ گیا ہے، جس میں صرف اتنا صف سے بہتر ہے. لیکن 5.4 PHP غور تازہ ترین ورژن ہے، آپ مقامات 5.3 پی ایچ پی بھی نہیں ہے کا سامنا کر سکتے ہیں. موسم گرما کے دوران ہم نے اس معاملے میں بھاگ گئے جہاں PHP 5.3 تھا جو ہم آلے پر تھا، لیکن سرور ہے کہ ہم اپنے تمام گریڈ کتاب تعینات اور پیش کرتے ہیں کہ وہ سامان 5.4 PHP تھا. یہ نہیں جاننے، ہم نے 5.3 میں تیار، 5.4 پر دھکیل دیا، اور اب ہمارے کوڈ کا اچانک کوئی نہیں سب کے کام کیونکہ 5.3 اور 5.4 کے درمیان تبدیلی کیا گیا ہے ہوا جو پیچھے ہم آہنگ نہیں ہیں، اور ہم اور ہماری چیزوں کے جو 5.4 پی ایچ پی کے لئے کام نہیں کرتے ہیں کو حل کرنے جانا ہے. اس کلاس کے لئے، کیونکہ آلات کرتا ہے 5.4 پی ایچ پی کی ہے، مربع بریکٹ کو استعمال کرنے کے لئے یہ بالکل ٹھیک ہے. لیکن، اگر آپ انٹرنیٹ کے ارد گرد تلاش کر رہے ہیں چیزوں کو اگر آپ کو دیکھ صف کے سامان کی کسی قسم رہے ہیں، سب سے زیادہ امکان آپ کو دیکھنے جا رہے ہیں صف تعمیر نحو باہر جادو ہے کہ چونکہ پی ایچ پی سے مروج ہے پیدا کر دیا گیا تھا اور مربع بریکٹ نحو گزشتہ چند ماہ کے لئے ارد گرد کیا گیا ہے یا جب بھی 5.4 کے ارد گرد آئے. یہ کہ آپ کس طرح انڈیکس ہے. سی طرح کہ آپ کس طرح $ [0] ڈالر، [1] صف صف ڈالر،، [2] صف کی طرح مربع بریکٹ کی طرف سے انڈیکس گے آپ کو اسی طرح اگر آپ کو آپ کے سوچکانکوں ڈور ہونے ہونے فہرست. تو ڈالر صف ['ایک'] ڈالر اور صف ['B']. صف $ [B]. یہ غلط کیوں ہو گا؟ یہ شاید ایک انتباہ لیکن پھر بھی کام پیدا کرے گا. PHP ایسا جاتا ہے. یہ صرف، "میں تم سے اس کے بارے میں آگاہ کرنے جا رہا ہوں کے لئے جاتا ہے، لیکن میں صرف جا رکھنے کے لئے جا رہا ہوں "اور جو کچھ بھی میں کر سکتا ہوں." یہ شاید ایک سٹرنگ کا ترجمہ کریں گے، لیکن یہ ممکن ہے کہ نے کہا کہ ماضی میں کسی کسی نہ کسی موڑ پر ب 'ہیلو ورلڈ' ہو وضاحت. تو اب ب مسلسل ڈالر اور صف ہو سکتا ہے [B] اصل میں رکھا جائے گا کر 'ہیلو ورلڈ. میں اس وقت میں کیا سوچتے ہیں، یا کم از کم ہمارے پی ایچ پی کی ترتیبات، اگر آپ کو ایک صف میں انڈیکس کی کوشش کرتے ہیں اور اس کی چابی کا کوئی وجود نہیں، یہ ناکام ہو جائے گا. مجھے نہیں لگتا ہے کہ یہ آپ نے خبردار کیا جائے گا ہے. یا کم از کم آپ کو رکھ دیا تاکہ وہ آپ نہ صرف کرتا ہے نے خبردار کیا کر سکتے ہیں، صرف براہ راست اوپر ناکام ہو جاتا ہے. جس طرح سے آپ اگر اصل میں اس طرح انڈیکس ہے دیکھنا چیک کرنے کے لیے isset ہے. تو isset ($ صف ['ہیلو ورلڈ']) جھوٹے واپس آ جائیں گے. isset (صف $ ['B']) صحیح واپس آ جائیں گے. آپ ان syntaxes کو ملا کر سکتے ہیں. ہم اس کی جانچ کر سکتے ہیں - مجھے یقین ہے کہ اس صف ختم ہونے کے گے ہوں. اوہ، میں PHPWord کی ضرورت ہے. یہ نحو جہاں آپ کی وضاحت کیا چابی ہے اختلاط ہے آپ کی وضاحت نہیں کیا کلید ہے. 3 یہیں ایک قیمت ہے. تم نے نہیں واضح طور پر کہا ہے کہ اس کے کلیدی ہونے جا رہا ہے. کیا آپ کو لگتا ہے کہ اس کے کلیدی ہونے جا رہا ہے؟ 0 [طالب علم]. >> میں 0 اندازہ صرف اس صورت میں ہے کیونکہ یہ سب سے پہلے ہم وضاحت نہیں ہے کر رہا ہوں. ہم ان میں سے ایک جوڑے کی اصل کر سکتے ہیں. تو print_r پنراورتی پرنٹ. یہ پوری صف پرنٹ گا. یہ صف کے subarrays پرنٹ اگر کوئی تھے. تو print_r ($ صف)؛ php.test.php. یہ دیکھ کر لگتا ہے یہ 0 دی ہے. اصل میں کچھ ذہن میں یہاں رکھنے کے، لیکن ہم ایک دوسرے میں واپس مل جائے گا. لیکن کیا اگر میں اس انڈیکس 1 ہوا؟ پی ایچ پی سٹرنگ سوچکانک اور عددی سوچکانکوں کے درمیان فرق نہیں کرتا ہے، تو میں اس وقت صرف ایک 1 انڈیکس وضاحت کی گئی ہے اور میں دونوں $ صف [1] اور $ صف ['1 '] کر سکتے ہیں اور یہ اسی فہرست اور ایک ہی چابی ہو جائے گا. تو اب کیا آپ کو لگتا ہے کہ 3 سے جا رہا ہے؟ >> [2 طالب علم. >> [Bowden] میں 2 اندازہ لگا رہا ہوں. جی ہاں. 2 ہے. کیا ہوگا اگر ہم نے یہ 10 ہے، اس 4 ہے؟ 3 انڈیکس جا رہا ہے آپ کو کیا لگتا ہے؟ میں 11 میں سوچ رہا ہوں. جو پی ایچ پی کی ہے کے طور پر میرا اندازہ - اور مجھے لگتا ہے کہ میں نے یہ پہلے دیکھا ہے - یہ صرف سب سے زیادہ عددی انڈیکس اب تک استعمال کیا جاتا ہے ہے کے ٹریک رکھتا ہے. یہ 3 ایک تار صفحہ تفویض کبھی نہیں ہے. یہ ایک عددی انڈیکس ہمیشہ رہے گا. تو یہ وہ زیادہ سے زیادہ بھی شخص اس کی اب تک تفویض کیا ہے، جو 10 ہے کا ٹریک رکھتا ہے، اور یہ 3 سے 11 دینے جا رہا ہے. کیا میں نے پہلے کہا، جس طرح سے اس صف چھپائی ہے محسوس کریں. یہ اہم 10 پرنٹ اہم، 4، 11 اہم، اہم D. یا اس سے بھی دیتے - مجھے لگتا ہے کہ میں ایک 0 نہیں لگا، لیکن یہ پرنٹنگ 1، 2، 3، 4 ہے. اگر میں یہاں کر دیا؟ یا واقعی میں ان 2 سوئچ. اب یہ 2، 1، 3، 4 پرنٹ. پی ایچ پی arrays صرف آپ کے باقاعدہ ہیش کی میز کی طرح نہیں ہیں. یہ بالکل مناسب ہے ہیش میزیں وقت میں سے 99 فی صد کے طور پر ان کے بارے میں سوچنا. لیکن آپ کے ہیش کے ٹیبل میں جس میں چیزیں داخل کی گئی آرڈر کا کوئی احساس نہیں ہے. تو جیسے ہی آپ اپنے ہیش ٹیبل میں داخل، فرض کوئی فہرست منسلک ہے اور آپ کو ایک لنک کی فہرست کے اندر اندر فیصلہ کر سکتے ہیں جس میں سب سے پہلے داخل کیا گیا تھا. لیکن یہاں ہم 2 سب سے پہلے داخل اور یہ جانتا ہے کہ جب وہ باہر چھپائی اس صف ہے کہ 2 سے پہلے آتا ہے. یہ صرف کسی بھی ترتیب میں پرنٹ نہیں. تکنیکی ڈیٹا کا ڈھانچہ ہے کہ اس کا استعمال کر رہا ہے ایک حکم دیا نقشہ ہے، تو اس اقدار کی کلید نقشے اور اس کی ترتیب ہے جس میں ان کی چابیاں کو داخل کیا گیا یاد. بنیادی طور پر یہ کچھ پیچیدگیاں جہاں اس اصل پر پریشان ہے ہے - چلو کا کہنا ہے کہ آپ ایک 0 صف، 1، 2، 3، 4، 5 اور آپ کو 2 صفحہ پر لے جانا چاہتا ہوں. کرنے کے ایک طریقہ، ہم دیکھتے ہیں کہ وہ کیسا لگتا ہے. 0، 2، 1، 3، 4. ناسیٹ کریں دونوں متغیر اور صف سوچکانک ناسیٹ کریں ہوتا ہے. تو ناسیٹ کریں ($ صف [2])؛ اب کیا اس طرح نظر آئے جا رہا ہے؟ صرف 2 چلا گیا ہے، تو ہے کہ بالکل ٹھیک ہے. مزید پریشان ہے، اگر تم چیزوں کو اصل میں ایک صف کی طرح بننا چاہتا ہوں. میں بے ترتیب تعداد میں ڈال دیتا ہوں. اب میری سوچکانک نوٹس 1 - میں یہ صرف C صف کی طرح جہاں یہ 0 سے لمبائی جاتا ہے کرنے کے لئے کرنا چاہتے ہیں اور میں نے اس پر اس طرح کے طور پر iterate کر سکتے ہیں. لیکن جیسے ہی مجھے دوسرے انڈیکس 3 انڈیکس میں کیا تھا ناسیٹ کریں 2 صفحہ نہیں کرتا ہو. اس کے بجائے یہ صرف اس انڈیکس کو ہٹا دیتا ہے اور اب تم 0، 1، 3، 4 جاتے. یہ بالکل مناسب ہے. یہ صرف پریشان ہے اور آپ صف شادی کی طرح کام کرنے کے لئے ہے. جی ہاں. [طالب علم] کیا ہوگا اگر آپ کو لوپ کے لئے ایک ہوتا اور آپ نے تمام عناصر پر جانا چاہتا تھا؟ جب 2 مارا، یہ کبھی برآمد ہوں گے؟ ایک صف پر Iterating. 2 طریقوں سے آپ یہ کر سکتے ہیں ہیں. آپ لوپ کے لئے ایک باقاعدہ استعمال کر سکتے ہیں. یہ پی ایچ پی کی ایک اور intricacy ہے. زیادہ تر زبانوں میں کہیں گے، لمبائی یا لین یا کچھ اور کسی قسم کا ایک صف کی لمبائی کا اشارہ ہے. پی ایچ پی میں یہ شمار ہے. تو شمار ($ صف)؛ ڈالر میں +) + صرف پرنٹ چلو ($ صف [میں $])؛ نوٹس آفسیٹ جانچ: 2. یہ صرف کرنے میں ناکام ہو رہا ہے. یہی وجہ ہے کہ، سب سے زیادہ حصہ کے لئے، آپ کی ضرورت ہے اس طرح ایک صف پر iterate کبھی نہیں. یہ ایک مبالغہ ہے، لیکن آپ کی ضرورت ہے اس طرح ایک صف پر iterate کبھی نہیں ہو سکتا ہے کیونکہ پی ایچ پی کی اس foreach نحو جہاں foreach ($ صف کے طور پر ڈالر آئٹم) فراہم کرتا ہے. اب ہم نے ($ آئٹم) پرنٹ کریں اگر؛ - we'll یہ ایک سیکنڈ میں بات چیت - جو بالکل ٹھیک کام کرتا ہے. جس طرح سے کہ foreach کام کر رہا ہے ہے، پہلی دلیل صف کہ میں آپ iterating رہے ہیں ہے. اور دوسری لوپ کے لئے میں سے ہر ایک پاس کے ذریعے دلیل، اشیاء، صف میں اگلے کام پر لے جا رہا ہے. تو یاد رکھو صف ایک حکم ہے. لوپ کے لئے کے ذریعے پہلی بار، آئٹم 123 جا رہا ہے تو یہ 12 ہو جائے گا تو یہ 13 ہو جائے گا تو یہ 23 ہو جائے گا تو یہ 213 ہو جائے گا. چیزیں بہت ہی عجیب ہو جاؤ جب تم foreach طرح کچھ کرنا. چلو دیکھتے کیا کیونکہ آپ کو یہ کبھی نہیں کرنا چاہئے ہے. کیا ہوگا اگر ہم ناسیٹ کریں ($ صف [1])؛ یہ شاید یہ توقع کی جارہی تھی. آپ اس صف پر iterating رہے ہیں، اور ہر وقت آپ کو سب سے پہلے انڈیکس unsetting رہے ہیں. تو 0 انڈیکس کے لئے، پہلی بات، اشیاء 0 قیمت پر لیتا ہے، تو یہ 123 ہو رہا ہے. لیکن اندر لوپ کے لئے ہم ناسیٹ صفحہ 1، تو اس کا مطلب 12 گیا ہے تو پرنٹ. PHP_EOL. PHP_EOL صرف newline ہے، لیکن یہ تکنیکی طور پر زیادہ پورٹیبل ہے کے بعد سے ونڈوز میں newlines میک اور UNIX newlines سے مختلف ہے. ونڈوز newline \ R ن \، ہے ہر جگہ اور جبکہ صرف کریں \ n جاتا ہے. PHP_EOL ترتیب دیا ہے تاکہ اس کا استعمال کرتا ہے جو آپ کے سسٹم کے newline ہے. تاکہ پرنٹ. آو print_r ($ صف) آخر میں نہیں ہے. مجھے کوئی اندازہ نہیں ہے کہ رویہ ہو گا. آئٹم ابھی تک 12 کی قیمت پر لیتا ہے اگرچہ ہم 12 ناسیٹ کریں اس سے پہلے ہم نے کبھی صف سے ہے. اس پر میری بات نہیں لے، لیکن ایسا لگتا ہے جیسے foreach صف کی ایک کاپی پیدا اور پھر آئٹم کہ کاپی کی تمام اقدار پر لیتا ہے. تو بھی اگر آپ کو لوپ کے لئے اندر صف میں ترمیم کرتے ہیں، یہ پرواہ نہیں جائے گا. آئٹم اصل اقدار پر لے جائے گا. یہ unsetting کرنے کی کوشش کریں. کیا ہوگا اگر یہ $ [1] صف ہے = "ہیلو"؛ اگرچہ ہم صف میں "ہیلو" ڈال دیا، اس قدر پر اشیاء کبھی نہیں لیتا ہے. ایک loops foreach نحو آپ کو ایک تیر کی طرف سے الگ 2 متغیر کہاں رکھ دیا. یہ پہلا متغیر اس قدر کے اہم ہو رہا ہے، اور یہ دوسری متغیر ایک ہی عین مطابق آئٹم بننے جا رہا ہے. یہ uninteresting ہے، لیکن اگر ہم 'ایک' ہمارے اصل کیس واپس جاؤ -> 1، 'B' -> 1، یہاں اگر ہم آئٹم کے طور پر ہر صف کے لئے iterate آئٹم 1 ہر ایک وقت ہونے جا رہا ہے. لیکن اگر ہم بھی اس آئٹم کے ساتھ منسلک کلید جاننا چاہتے ہیں > آئٹم $ - تو ہم کے طور پر ڈالر کی چابی کرتے ہیں. :. تو اب ہم پرنٹ ($ چابی کر سکتے ہیں. اب یہ ختم ہو iterating اور ہر کلید اور اس کے منسلک قیمت چھپائی ہے. ایک اضافی چیز ہے جو ہم foreach loops میں کیا کر سکتے ہیں ہے آپ کو یہ نحو دیکھ سکتے ہیں. متغیر کے نام سے پہلے Ampersands کس طرح پی ایچ پی کا حوالہ ہے ہیں. حوالہ جات اشارہ کی طرح کہاں ہو، آپ اشارہ نہیں ہے، تو میموری کے ساتھ آپ کبھی نہیں براہ راست نمٹنے کے. لیکن آپ نے حوالہ جات جہاں 1 متغیر دوسرے متغیر کے طور پر ایک ہی بات کی طرف اشارہ کرتی ہے. یہاں سے اندر ڈالر کرتے آئٹم. 1 10 واپس جانے دو. چلو ڈالر آئٹم + +، وہ اب بھی پی ایچ پی میں موجود ہے. آپ + + اب بھی کر سکتے ہیں. php.test.php. میں اسے پرنٹ کرنے کے لئے ہے. print_r ($ صف)؛ ہم 2 11، پرنٹ ہے. اگر میں صرف foreach (صف ڈالر کے طور پر ڈالر آئٹم) کیا تھا تو آئٹم 1 قدر ہو جائے گا لوپ کے ذریعے پہلی بار. 2 1 اضافہ اور پھر ہم کیا کر رہے ہیں. تو پھر یہ لوپ کے دوسرے پاس کے ذریعے جاؤ اور کہ آئٹم 10 ہے. یہ increments 11 اشیاء، اور پھر یہ صرف دور پھینک دیا ہے. ہم print_r ($ صف) اس کے بعد، اور ہم دیکھتے ہیں کہ یہ صرف 1 ہے، 10. تو اضافہ ہم نے کھو دیا تھا. لیکن foreach ($ صف کے طور پر ڈالر اور عمومی آئٹم) اب یہ آئٹم یہاں اس حق کے طور پر اسی آئٹم ہے. یہ وہی چیز ہے. تو آئٹم $ + + 0 صف میں ترمیم کر رہا ہے. بنیادی طور پر، آپ K $ بھی کر سکتے ہیں - آئٹم $> اور آپ کو $ کر سکتے ہیں صف [K $] + +؛ تو یہ ہے کہ ایسا کرنے کا ایک اور طریقہ ہے، ہم آئٹم نظر ثانی کرنے کے لئے آزاد ہیں، لیکن اس سے ہماری اصل صف میں ترمیم نہیں کریں گے. لیکن اگر ہم K، استعمال کرتے ہیں جو ہمارے چابی ہے، تو ہمارے صف میں انڈیکس وہ چابی کا استعمال کرتے ہوئے ہم کر سکتے ہیں اور یہ کہ اضافہ. یہ براہ راست ہماری اصل صف ترمیم. تم وہ بھی اگر آپ کو کسی وجہ کے لئے پر نظر ثانی کرنے کی صلاحیت کی ضرورت تھی - اصل میں، یہ بالکل مناسب ہے. $ صف لکھنے کی ضرورت نہیں کرنا چاہتا تھا [K $] +، + تم صرف ڈالر آئٹم لکھنے کرنا چاہتا تھا + + لیکن آپ اب بھی کہنا چاہتا تھا اگر ($ K = 'ایک') تو اشیاء اور پھر اضافہ ہمارے صف پرنٹ. تو اب کیا ہم print_r کرنے کی توقع کرتے ہیں؟ کیا اقدار پرنٹ چاہئے؟ [طالب علم] 2 اور 10. >> [Bowden] صرف اگر چابی تھا 'ہم واقعی ایسا پرنٹ کریں. تم شاید بہت کم، اگر کبھی، پی ایچ پی میں فرائض کی وضاحت کی ضرورت ہو گی، لیکن آپ کو اسی طرح کی کچھ یہ دیکھنے کی ضرورت ہے جہاں آپ تقریب کے جو کی طرح ایک تقریب کی وضاحت کر سکتے ہیں. عام طور پر آپ کا کہنا ہے کہ ($ FOO ڈالر، بار) اور اس کے بعد جو بھی وضاحت کریں گے. لیکن اگر میں یہ کروں، تو اس کا مطلب ہے کہ جو کچھ بھی جو کچھ بھی مطالبہ، تو جو کچھ بھی باز مطالبہ، پہلی دلیل باز منظور تبدیل کیا جا سکتا ہے. چلو FOO $ + +؛ اور اندر یہاں سے ہم باز ($ آئٹم)؛ اب ہم ایک تقریب کا مطالبہ کر رہے ہیں. جو دلیل حوالے کے طور پر لیا جاتا ہے، اس کا مطلب ہے کہ اگر ہم اس پر نظر ثانی ہم بات یہ ہے کہ اندر منظور کیا گیا تھا میں ترمیم کر رہے ہیں اور ہم یہ توقع پرنٹنگ - جب تک میں نے نحو گڑبڑ - ہم 2 11، ہے، تو یہ اصل میں incremented کیا گیا تھا. ہم 2 جگہوں پر حوالہ جات کی ضرورت نوٹس اگر میں نے یہ کیا ہے؟ اس کا کیا مطلب ہے؟ [طالب علم] اسے تبدیل کریں گے. >> جی ہاں. آئٹم صف میں قدر کی ایک کاپی ہے. تو آئٹم 2 میں تبدیل، لیکن صف ['ایک'] 1 اب بھی ہو جائے گا. تو کیا ہو گا اگر میں نے یہ کیا؟ اب آئٹم باز کی ایک نقل کے طور پر بھیجا جاتا ہے. تو دلیل کی کاپی 2 incremented رکھا جائے گا. لیکن آئٹم خود 2 incremented کبھی نہیں کیا گیا تھا. اور آئٹم صف بریکٹ جو کے طور پر ایک ہی بات ہے، تاکہ صف نہیں incremented کیا گیا تھا. تو ان دونوں جگہوں پر اس کی ضرورت ہے. عام طور پر پی ایچ پی ہے اس کے بارے میں بہت ہوشیار ہے. آپ کو لگتا ہے کہ میں حوالے کے طور پر منتقل کرنا چاہتے ہیں کر سکتے ہیں - یہ اصل میں psets میں سے ایک پر ایک سوال تھا. یہ ایک questions.txt چیز تھی جہاں اس نے کہا کہ، آپ کو حوالہ کی طرف سے اس struct پر منظور کیوں کرنا چاہتے ہو سکتا ہے؟ اس کا جواب کیا تھا؟ [طالب علم] تو تم بڑی چیز کو کاپی کرنے کی ضرورت نہیں ہے. >> جی ہاں. A struct منمانے بڑے ہو، اور جب تم ایک دلیل کے طور پر میں struct منتقل کر سکتی ہیں یہ کہ پوری struct یہ کام کرنے کو منتقل کی کاپی کی ضرورت ہے، جبکہ اگر آپ حوالہ سے صرف struct پاس تو اس تقریب میں دلیل کے طور پر 4 بائٹ ایڈریس کی کاپی کی ضرورت ہے. پی ایچ پی تھوڑا سا اس سے ہوشیار ہے. اگر میں کوئی تقریب ہے اور میں اس پر 1،000 چیزوں کے ایک صف پاس اس کا یہ مطلب ہے کہ ان تمام چیزوں کے 1،000 کاپی کرنے کے لئے کی ضرورت ہو رہا ہے اس تقریب میں منظور؟ یہ ہے کہ فوری طور پر کرنے کی ضرورت نہیں ہے. اگر اس تقریب کے اندر FOO اصل میں کبھی نہیں ترمیم، اگر ایسا ہے تو ($ FOO = 'ہیلو') صحیح واپس. نوٹس ہم نے اس تقریب کی دلیل اندر اصل میں کبھی نہیں نظر ثانی شدہ جس کا مطلب یہ ہے کہ جو کچھ بھی میں منظور FOO کی ضرورت کاپی کبھی نہیں تھا کیونکہ اس سے اسے بدلے نہیں ہے. تو راستہ PHP کام دلائل ہے ہمیشہ ریفرنس کی طرف سے منظور کر رہے ہیں جب تک آپ اصل میں اسے نظر ثانی کرنے کی کوشش کریں. اب اگر میں $ FOO + + کہتا ہوں، یہ اصل FOO کی ایک نقل اب اور کاپی پر نظر ثانی کرے گا. اس میں کچھ وقت بچاتا ہے. اگر آپ کو یہ بڑے پیمانے پر صف چھونے کبھی نہیں رہے ہیں، تو آپ کو یہ اصل میں کبھی نہیں تبدیل، کاپی بنانے کے لئے کی ضرورت نہیں ہے، جبکہ اگر ہم صرف اس ایمپرسینڈ اس کا مطلب یہ بھی نہیں ہے کاپی ڈال یہاں تک کہ اگر آپ اس پر نظر ثانی ہے. اس رویے کو کاپی لکھنا کہا جاتا ہے. تم نے اسے دیگر مقامات میں دیکھ سکتے ہیں، خاص طور پر اگر آپ کو ایک آپریٹنگ سسٹم کورس لے لیں گے. کاپی لکھنا ایک بہت معمول طرز ہے جہاں آپ کو کسی چیز کی ایک کاپی بنانے کے لئے کی ضرورت نہیں ہے جب تک یہ اصل میں تبدیل کر رہا ہے. جی ہاں. [] طالب علم اگر آپ کو ٹیسٹ کے اندر اضافہ تھا، 1،000 میں سے صرف 1 عنصر کو تبدیل کرنے کی ضرورت ہو گی؟ مجھے یقین نہیں ہے. مجھے لگتا ہے کہ یہ پوری چیز کاپی کریں گے، لیکن یہ ممکن ہے یہ وہ کافی ہوشیار ہے - اصل میں، جو میں سوچ رہا ہوں تصور ہم ایک صف ہے جو اس طرح لگ رہا ہے تھا: $ array2 = [ اس کے بعد انڈیکس '' [1 2 3 4]، اور انڈیکس 'ب' کے ایک صف ہے جو کچھ بھی ایک صف ہے. میں نے ان میں سے سب کے درمیان کوما کی ضرورت ہے. امیجن وہاں کی علامت ہیں. پھر 'سی' قیمت 3 ہے. ٹھیک ہے. اب کا کہنا ہے کہ ہم باز ڈالر (array2 ڈالر) کرتے ہیں؛ باز حوالے کے طور پر جہاں یہ نہیں لے کرتا ہے. تو $ FOO ['C'] + +؛ یہ ایسی ایک مثال ہے جہاں ہم ایک دلیل کے طور پر array2 گزر رہے ہیں ہے اور پھر یہ incrementing کی طرف سے صف کی ایک مخصوص انڈیکس کی تجدید کر رہا ہے. میں ایمانداری سے نہیں خیال کیا پی ایچ پی کرنے جا رہی ہے. یہ ساری بات کی ایک کاپی آسانی سے بنانے، لیکن کر سکتے ہیں اگر وہ ہوشیار ہے، یہ ان چابیوں کا ایک نقل ہے جہاں یہ اس کی الگ قیمت کرے گا لیکن یہ اسی 1،2،3،4 صف میں اب بھی اشارہ کر سکتے ہیں اور یہ ایک ہی صف میں بھی اشارہ کر سکتے ہیں. میں اس رکن گے. ہم اس صف میں جہاں اس آدمی کو پوائنٹس 3 سے گزرتے ہیں، [1،2،3،4] اس آدمی کو پوائنٹس، اس آدمی پوائنٹس [34، ...] اب جب کہ ہم اس کے باز میں گزر رہے ہیں، ہم اس میں ترمیم کر رہے ہیں. اگر پی ایچ پی ہوشیار ہے، یہ صرف کر سکتے ہیں - ہم اب بھی کچھ میموری کاپی کرنا پڑا، لیکن اگر ان بھاری اندر در اندر subarrays تھے ہم ان کی کاپی کرنے کی ضرورت نہیں تھی. مجھے معلوم ہے کہ اگر وہ ہے جو اس سے فرق پڑتا ہے نہیں ہے، لیکن میں سوچ یہ ہے کہ کر سکتے ہیں. یہ بھی سی کے پی ایچ پی میں ایک بہت بڑا فائدہ یہ ہے. پی ایچ پی کی زندگی تو بہت سی چیزیں کے لئے بہت آسان ہے، لیکن آپ کی طرح بالکل نہیں خیال یہ اچھی طرح کس طرح کارکردگی کا مظاہرہ کریں گے ، کیونکہ میں ہڈ کے نیچے کوئی اندازہ نہیں ہے جب یہ چیزوں کی ان کاپیاں بنا رہا ہے اوہ، یہ ایک مسلسل وقت کی نقل کی جا رہی ہے، ہے یہ صرف 1 پوائنٹر کو تبدیل کرنے کی جا رہی ہے، یہ ایک مضحکہ خیز مشکل لکیری نقل ہونے جا رہا ہے؟ اگر وہ جگہ نہیں مل سکتے ہیں؟ کیا یہ اس کے بعد ردی کی ٹوکری میں جمع کرنے کو کچھ اور جگہ حاصل کرنے کے لئے چلانے کی ضرورت ہے؟ اور ردی کی ٹوکری میں جمع کرنے کو منمانے طویل لگ سکتے ہیں. C میں آپ کو ان چیزوں کے بارے میں فکر کرنے کی ضرورت نہیں ہے. ہر ایک لائن آپ کو آپ کے لکھنے کہ یہ کس طرح کارکردگی کا مظاہرہ ہو رہا ہے اس کے بارے میں کافی زیادہ کی وجہ سے کر سکتے ہیں. چلو، ان میں واپس دیکھنا. یہ کتنا اچھا ہے کہ آپ ہیش افعال کے ساتھ نمٹنے کے لئے کی ضرورت نہیں ہے، منسلک کی فہرست، یا ایسا کچھ ہے؟ چونکہ ہیش میزیں کے ساتھ کام کرنے سے بہت آسان ہے، یہاں پر کام کرنے کے لئے ایک مذاق پہیلی ہے. کہا جاتا unique.php اور اس میں فائل کھولیں پی ایچ پی پروگرام لکھ ("اسکرپٹ" کے طور پر بھی کہا جاتا ہے). ہم نے انہیں اسکرپٹ فون کرنے کے لئے کرتے ہیں اگر وہ چھوٹی چیزیں ہیں کہ آپ کمانڈ لائن پر چلاتے ہیں. بنیادی طور پر، کسی بھی زبان ہے جسے آپ مرتب نہیں لیکن آپ کارکردگی کو چلانے کے لئے جا رہے ہیں کمانڈ لائن پر، آپ کو اس کارکردگی سکرپٹ کو فون کر سکتے ہیں. میں سی پروگرام ہے کہ یہ اس کی صرف اس کے ساتھ ساتھ لکھ سکتے تھے، لیکن میں نے اس سکرپٹ کو کال نہیں ہے جب سے میں نے سب سے پہلے آرکائیو کریں اور پھر بائنری چلانے. لیکن یہ پی ایچ پی پروگرام ہم نے سکرپٹ کو فون کرنے جا رہے ہیں. یا، اگر ہم یہ ازگر یا پرل یا Node.js یا ان چیزوں میں سے کسی ایک میں لکھا ہم ان سب اسکرپٹ کال، کیونکہ تم نے ان کو کمانڈ لائن میں چلانا چاہتے لیکن ہم نے ان کو مرتب نہیں ہے. ہم اس خوبصورت فوری طور پر کر سکتے ہیں. ہم جا argv استعمال کرنے کے لئے نہیں کر رہے ہیں. صرف دو اس کے ذریعے اڑا. منفرد کال کے لئے ایک پروگرام لکھتے ہیں. آپ فرض کریں کہ ان پٹ میں ایک لفظ فی لائن پر مشتمل کر سکتے ہیں. اصل میں، argv بہت استعمال کرنے کے لئے چھوٹی سی ہو جائے گا. unique.php. پہلی چیز سب سے پہلے، ہم اگر ہم کیا گیا ہے 1 دلیل کمانڈ لائن منظور چیک کرنے کے لیے کرنا چاہتے ہیں. صرف جیسا کہ آپ argc اور C میں argv توقع کریں گے، ہم اب بھی پی ایچ پی میں ان ہے. لہذا اگر (argc $ 2 ==!) تو میں نے ایک پیغام یا کچھ چھپائی سے نمٹنے کے نہیں کرے گا. میں صرف 1 خرابی کا کوڈ سے باہر نکلیں گے. 1 بھی واپس آ سکتا ہے. کبھی کبھار پی ایچ پی میں آپ کو اس حالت میں ہیں جہاں ہم ہیں - عام طور پر آپ کو ایک تقریب کی طرف سے کہا جاتا ایک تقریب کی طرف سے کہا جاتا ایک تقریب کی طرف سے کہا جاتا ایک تقریب میں ہو. اور اگر کچھ غلط ہو جاتا ہے اور آپ نے ابھی سب کچھ مکمل طور پر باہر نکلیں کرنا چاہتے ہیں، وہاں سے نکلنے کی صرف ایک پروگرام ختم ہوتا ہے. یہ سی میں بھی موجود ہے اگر آپ کو ایک تقریب میں ایک تقریب میں ایک تقریب میں ایک تقریب میں ہو اور آپ پروگرام قتل کرنا چاہتے ہیں، آپ وہاں سے نکلنے کی کال اور اس سے باہر نکلنے گا کر سکتے ہیں. لیکن یہ پی ایچ پی میں بھی غیر معمولی ہے کہ ہم اس سب سے اوپر کی سطح پر ہیں. عام طور پر ہم کسی قسم کی تقریب کے اندر ہیں، تو ہم وہاں سے نکلنے کی کال تاکہ ہم 1 بات ہے جو اس کے بعد پتہ چلتا ہے واپس نہیں ہے ایک خامی ہے تاکہ اس کو واپس اگر اس کو تسلیم کرنے میں ایک خرابی تھی. ہم نے اس کے ساتھ نمٹنے کے لئے نہیں کرنا چاہتے ہیں، تو سے باہر نکلیں (1)؛ واپسی (1)، اس معاملے میں برابر ہو جائے گی. تو کیا ہم کو کھولنے کے چاہتے ہیں ہم fopen میں کرنا چاہتے ہیں. دلائل خوبصورت اسی طرح دیکھنے کے لئے جا رہے ہیں. ہم نے fopen (argv $ [1]، اور ہم نے اسے پڑھنے کے لئے کھولنے کے چاہتے ہیں. کرنا چاہتے ہیں یہ ایک وسیلہ ہے جو ہم F فون کرنے جا رہے ہیں واپس. یہ خوبصورت کس طرح C اس سے فرق پڑتا ہے کے علاوہ ہم فائل * کہنے کی ضرورت نہیں ہے جیسا لگتا ہے. اس کے بجائے ہم صرف ایف ڈالر کا کہنا ہے کہ. ٹھیک ہے. اصل میں، مجھے لگتا ہے کہ یہ بھی ہمیں PHP کہا جاتا فائل ایک تقریب کے طور پر ایک اشارہ دیتا ہے. پی ایچ پی فائل. اس کا کیا کیا جا رہا ہے ایک صف میں ایک پوری فائل کو پڑھنے کے ہیں. تم نے یہ fopen بھی ضرورت نہیں ہے. یہ ہے کہ آپ کے لئے کیا جا رہا ہے. تو لائنز $ = فائل (argv $ [1])؛ اب فائل کی لائنوں کی تمام لائنوں میں ہیں. اب ہم لائنوں کو الگ الگ کرنا چاہتے ہیں. ہم لائنوں کو کس طرح الگ الگ کر سکتے ہیں؟ ہم لائنوں کو الگ الگ کریں. اور اب ہم انہیں یا جو کچھ بھی پرنٹ کر سکتے ہیں. شاید سب سے آسان طریقہ foreach ($ ڈالر کے طور پر لائن لائنز) $ بازگشت لائن ہے؛ [طالب علم] ہم طرح میں کچھ حوالہ کی طرف سے بھی نہیں لائنز پار کریں گے؟ اس کا ہے جہاں طرح تقریب کی طرح (اور صف ڈالر) کے طور پر کی وضاحت کی جائے گی. جب آپ تقریب فون آپ حوالہ سے اسے منظور نہیں ہے. یہ تقریب ہے کہ یہ حوالہ کے طور پر اسے لے کے طور پر کی وضاحت ہے. یہ اصل میں بالکل ہے کیا غلط ہو گیا ہم اپنے سرورز جب سب کچھ ڈال دیا جب ہم نے 5.3 سے 5.4 پر گئے تھے. 5.4 تک یہ بالکل مناسب تھا. ایک تقریب اسے ریفرنس کے طور پر لے جانا کی توقع نہیں ہے، لیکن تم اس حوالہ کے طور پر منتقل کر سکتی ہیں اگر ایسا ہے تو کام ہوتا ہے اسے نظر ثانی کرنے کے، یہ اب بھی نظر ثانی کی ہے. 5.4 کے طور پر، تمہیں یہ کرنے کے لئے نہیں کر رہے ہیں. تو اب صرف ایک ہی طریقہ ہے آپ حوالہ سے گزر اگر تقریب میں واضح طور پر اس سے فرق پڑتا ہے. اگر تم اسے نظر ثانی کرنا نہیں چاہتے ہیں، تو آپ کو ڈالر نقل لائنز $ = اور پاس نقل کرنے کی ضرورت ہے. تو اب لائنوں کو محفوظ رکھا جائے گا اور نقل تبدیل رکھا جائے گا. php.unique.php. میں کچھ گڑبڑ ہو سکتی ہے. غیر متوقع 'ترتیب دیں'. کچھ ہے جو ہمارے لئے اس کرتا ہے جا رہا ہے. یہ وہاں بھی نہیں ہے. نوٹس جب آپ دستی کو پڑھا ہے کہ پہلی دلیل ایک صف کی توقع ہے اور اس حوالہ کی طرف سے اٹھائے گئے. یہ مجھ سے کیوں شکایت ہے؟ کیونکہ میں نے اس تقریب کی طرح اب بھی یہاں ہے کہ میں نہیں چاہتا. ٹھیک ہے، php.unique.php. میں اسے منظور نہیں کیا ایک دلیل کی وجہ سے میں ایک فائل کی ضرورت نہیں ہے. یہ test.php پر php.unique.php ہے. یہاں سب ایک اچھا حل کے لئے میں طباعت test.php ہے. یاد رکھیں کہ کے مطابق ایک کوڈ کی فائل کے لئے قسم کی عجیب ہے کیونکہ ہمارے خالی لائنوں کی تمام پہلے آنے کے لئے جا رہے ہیں تو ہمارے 1 سطح indentations کے تمام آنے والے ہیں پھر ہمارے کوئی indentations کے تمام آئے. جی ہاں. >> [طالب علم] تو اس کے منبع کوڈ کے لئے ریفرنس کی طرف سے منظور نہیں کیا گیا تھا؟ یہ ہے کہ عام طور پر قدر کی طرف سے منظور ہے؟ [Bowden] کا تعین کرتا ہے جب آپ کے پاس ایک تقریب کہتے ہیں، کبھی نہیں چاہے وہ ریفرنس کی طرف سے منظور کیا گیا تھا. یہ تقریب تعریف ہے جس کا تعین کرتا ہے چاہے وہ ریفرنس کی طرف سے منظور کیا گیا تھا ہے. اور طرح کی تقریب کی تعریف میں تلاش یا صرف یہ دیکھ کر، یہ ریفرنس کی طرف سے دلیل لیتا ہے. تو اس سے قطع نظر کہ آیا آپ یہ حوالے کے طور پر لینا چاہتے ہیں، اس حوالے کے طور پر کرتا ہے، اسے لے لو. یہ جگہ میں صف ترمیم. یہ صرف کی اجازت نہیں ہے. آپ کو ایسا کرنے کی اجازت نہیں کر رہے ہیں. >> [طالب علم] اوہ، ٹھیک ہے. [Bowden] یہ، طرح حوالہ کی طرف سے لائنیں لو اور اس پر نظر ثانی کی جا رہی ہے. اور پھر، اگر آپ اسے ایسا نہیں کرنا چاہتا تھا، آپ طرح کی ایک کاپی بنا سکتے ہیں. یہاں تک کہ اس معاملے میں، اصل کاپی نہیں ہے لائنز کی ایک کاپی ہے. یہ صرف ایک ہی بات کی طرف اشارہ ہے جب تک یہ پہلی نظر ثانی شدہ ہو جاتا ہے، سب سے پہلے جہاں طرح تقریب میں پر نظر ثانی کرنے کے لئے جا رہا ہے، جہاں، کیونکہ یہ کاپی پر لکھتے ہیں، اب کاپی کی ایک نقل کی جا رہی ہے. آپ یہ بھی کر سکتے ہیں. یہ دوسری جگہ آپ ایمپرسینڈ دیکھ سکتے ہیں ہے. تم foreach loops میں دیکھتا ہوں، آپ کو تقریب کا اعلان کیا میں اسے دیکھ، اور آپ نے اسے دیکھا ہے جب صرف متغیر بتائے. اب ہم یہ کر کی طرف سے کچھ نہیں مکمل کیا ہے کیونکہ کاپی اور لائنوں لفظی ایک ہی چیز ہیں. آپ لائنوں کا استعمال کر سکتے ہیں اور interchangeably کاپی کر سکتے ہیں. آپ ناسیٹ کریں (کاپی ڈالر) کر سکتے ہیں، اور کہ ناسیٹ کریں لائنوں نہیں کرتا، آپ کو صرف ایک ہی بات آپ کے حوالہ سے محروم ہے. تو اس بات کے طور پر، اب لائنوں واحد راستہ ہے جس سے تم لائنوں تک رسائی حاصل کر سکتے ہیں ہے. سوال؟ جی ہاں. مکمل طور پر موضوع سے دور [طالب علم]، لیکن آپ کے ساتھ پی ایچ پی کو بند کرنے کی ضرورت نہیں ہے - >> تم نہیں. ٹھیک ہے. [Bowden] میں جہاں تک جانا کے طور پر کہتے ہیں کہ یہ بری پریکٹس ہے ان کو بند کرنے کے. یہ شاید ایک مبالغہ ہے خاص طور پر سکرپٹ میں، لیکن دیکھتے ہیں کیا ہوتا اگر میں ایسا. اس نے کچھ نہیں کیا. [sighs] - کیا ہوگا اگر میں چاہتا تھا میں ایک دلیل کو منتقل کرنے کی ضرورت ہے. گولی مارو. میں نے اسے غلط قرار دیا. ایک دلیل کے ساتھ تو php.unique.php. اب مجھے اس کی ضرورت بھی نہیں ہے. میں یہ ایک درست دلیل منظور کریں گے. اس پرنٹ میں طباعت کی جو بھی اس پرنٹنگ ہے. میں کاپی پرنٹ رہا ہوں اور کاپی موجود ہی نہیں کر رہا ہے. ہے. تو لائنوں. یہ سب کچھ طباعت، اور پھر یہاں نیچے یہ سب ردی نوٹس کیونکہ PHP کچھ میں جو پی ایچ پی ٹیگز سے باہر ہے ہے صرف لفظی پرنٹ کیا جا رہا ہے. یہی وجہ ہے کہ HTML ہے، بہت اچھی بات ہے کہ میں div BLAH BLAH، BLAH کلاس یا جو کچھ بھی کر سکتے ہیں، BLAH، BLAH، BLAH اور پھر کچھ پی ایچ پی کوڈ اور پھر آخر div کرو. اور اب یہ پرنٹ میں نے اوپر میری اچھی div ملے، سب کچھ ہے کہ پی ایچ پی چھپی، نیچے دیے گئے div. جو تباہ کن جب کچھ اس طرح ہوتا ہے، بہت عام ہے، صرف ایک فائل کے سب سے نیچے دیئے گئے آوارا newline. تمہیں نہیں لگتا یہ ہے کہ ایک معاہدے کے بڑے ہو گی جب تک کہ آپ نے براؤزر کے ساتھ یہ حقیقت پر غور - کام ری ڈائریکٹس کیسے یا بنیادی طور پر کسی بھی ہیڈرز کام جب آپ کو ایک ویب سائٹ پر اپنے کنکشن کی اور اسے واپس بھیجتا ہے یہ تمام جو کچھ ہیڈر اور ، 200 کے جواب یا جواب یا جو بھی ری کی طرح ہیڈرز صرف صحيح ہے جب تک ڈیٹا کا پہلا بائٹ بھیجا جاتا ہے. آپ کو ہزاروں بار ری، لیکن جیسے ہی کے طور پر اعداد و شمار کے پہلے بائٹ کو بھیجا جاتا ہے کر سکتے ہیں تمہیں دوبارہ ری ڈائریکٹ کرنے کے لئے نہیں کر رہے ہیں. اگر آپ کو فائل کا سب سے نیچے دیئے گئے ایک آوارا newline ہے اور کا کہنا ہے کہ آپ کو اس تقریب کا استعمال کرتے ہیں اور پھر آپ چاہتے ہیں - چلو کا کہنا ہے کہ یہ دوسری فائل ہے جو index.php ہے اور تم سے کچھ require_once - میں اس کی ایک اچھی مثال کے بارے میں سوچ بھی نہیں کر سکتے. مسئلہ ہوتا ہے جب اس لائن کے نیچے دیے گئے مائدونت ہو جاتا ہے. آپ کو گیا ہے ابھی تک ہے مائدونت کچھ نہیں کرنا چاہتے ہیں. اگرچہ آپ کو ہو رہی ہے مائدونت کچھ کا ارادہ نہیں کیا، کچھ مائدونت ملا تو اب تمہیں کوئی ہیڈر کو بھیجنے کے لئے نہیں کر رہے ہیں اور آپ شکایات حاصل کرنے کے لئے جا رہے ہیں. آپ کو صرف ان کلوزنگ ٹیگ کی ضرورت نہیں ہے. اگر آپ کو HTML کے ساتھ کچھ کر کی منصوبہ بندی - اور یہ بالکل مناسب ہے یہاں div کرنا جو بھی اور پھر آپ کو اس مقام پر آپ کو یا کر سکتے ہیں ان میں شامل ہیں. یہ واقعی کوئی فرق نہیں پڑتا. لیکن یہ پی ایچ پی اسکرپٹ میں شاذ و نادر ہے اسے بند کرنے کے لئے. سب کچھ پی ایچ پی، بالکل سب کچھ کب ہے، تم نے اسے بند / تم نے اسے بند نہیں کرنا چاہئے واقعی ضرورت نہیں ہے. تاروں سے نمٹنے سی کے مقابلے میں بہت اچھے ہے پی ایچ پی میں آپ ایک یا ڈبل ​​قیمت درج کرنے کے ساتھ ایک تار کی وضاحت کر سکتے ہیں. ایک کی قیمت درج کرنے کے ساتھ آپ کو "فرار" کے انداز کا استعمال نہیں کر سکتے. مسلسل، BLAH، BLAH، BLAH فرار ہونے کی. تو printf پی ایچ پی میں بہت کم ہے. مجھے لگتا ہے کہ میں printf کا استعمال اگر میں بات ایک طرح سے کرنا چاہتا تھا - 5 pset میں آپ sprintf یا جو کچھ بھی کرتے تھے. لیکن آپ 001.jpg اور 002.jpg کرنا چاہتے ہیں. اس چیز کے بارے میں اس قسم کے لئے جہاں میں اصل متن میں printf استعمال کریں گے فارمیٹ میں کرنا چاہتے ہیں. لیکن دوسری صورت میں سٹرنگ concatenation استعمال کریں گے. میں printf واقعی کبھی نہیں استعمال کریں. ہم نے ابھی تفصیلات ایک کی قیمت درج کرنے اور ڈبل قیمت درج کرنے کے درمیان فرق کر رہے ہیں. سب سے بڑا فرق ہے کہ ایک کی قیمت درج کرنے، یہ لفظی رکھا جائے طباعت گا. پی ایچ پی میں کوئی چار اعداد و شمار کی قسم ہے، C کے برعکس، تو یہ اس کے برابر ہے. وہ دونوں ڈور ہیں. اور ایک اقتباس ڈور کے بارے میں اچھی بات یہ ہے کہ میں کہہ سکتے ہیں 'ہیلو دنیا! BLAH، BLAH، وغیرہ، wooo $ $. جب میں پرنٹ یہ ہے کہ یہ پرنٹ لفظی گا تو کیا ہوتا ہے. ہمارے چیزیں سب سے چھٹکارا حاصل کریں. تو str1 ڈالر بازگشت؛ یہ لفظی ان چیزوں کے سب طباعت: ڈالر کی نشانیاں، الٹا سلیش (ن)، جو آپ کو لگتا ہے کہ newlines گے - ان میں سے سب نے اس سے لفظی پرنٹ. صرف ایک چیز آپ سے فرار ہونے کی ضرورت ہے ایک کی قیمت درج کرنے ہیں اسے لگتا ہے ورنہ کیونکہ یہ ایک قیمت درج کرنے بند ہے. ڈبل کوٹس، مکمل طور پر مختلف ہے. ہم پہلے ہی دیکھ نحو اجاگر ہمیں کیا اس کے بارے میں بہت غلط ہے cluing ہے. php.unique. جانچ متغیر: wooo کیونکہ یہ نامی wooo متغیر کے طور پر تشریح کیا جاتا ہے. ڈبل قیمت درج کرنے کا آپ میں متغیر داخل - چلو کا کہنا ہے کہ ڈالر کا نام = "روب"؛ تو بازگشت "ہیلو، میرا نام $ نام ہے!"؛ یہ ایک متغیر کے طور پر تسلیم کرتا ہے. جب میں اس چلاتے ہیں - اور میں ایک newline داخل - ہیلو، میرا نام روب ہے! اور ہیلو دنیا! اس کا ہے کیونکہ میں wooo کی اشاعت کے اوپر کبھی نہیں ہٹا دیا ہے. 1 مزید قدم ہے جو آپ کر سکتے ہیں ہے. صف $ = [1، 2، 3]؛ کیا ہوگا اگر میں صف کی پہلی فہرست کو پرنٹ کرنے کے لئے کرنا چاہتے ہیں؟ آپ $ صف [0]. نحو اجاگر ایک اشارہ ہے. کیا یہ کرنے جا رہے ہیں؟ php.unique. ہیلو، میرا نام 1 ہے! جو نہیں ہے جو میں چاہتا تھا. نحو اجاگر نے مجھ سے جھوٹ بولا. چلو کوشش کرتے ہیں 'ایک' -> 1، 'B' - 2>. یہ ہے کہ میں اسے کس طرح لکھنے کے لئے ہوگا. غیر متوقع طور پر ایک اقتباس (T_ENCAPSED BLAH، BLAH، BLAH، BLAH، BLAH). خیال ہے کہ اس صف کے حصے کے طور پر تسلیم نہیں. اس ایک خط کی طرف سے حساب سے ترتیب صف کے طور پر تسلیم نہیں. آپ گھوبگھرالی منحنی خطوط وحدانی کی طرف سے گھیر لیا ہے کہ کرنا چاہتے ہیں، اور اب interpolated رکھا جائے گا اس گھوبگھرالی منحنی خطوط وحدانی میں جو کچھ بھی ہے، جو لفظ ہے ہم جادوئی صحیح جگہ میں ان متغیرات میں داخل کرنے کے لئے استعمال کرتے ہیں. اب یہ کر رہی، php.unique، اور ہیلو، میرا نام 1! توقع کے مطابق یا ہیلو، میرا نام Rob ہے! ایک بات ہے کہ ایک کی قیمت درج کرنے کے بارے میں اچھا ہے یہ ہے کہ - interpolating کچھ قیمت ہے. اگر آپ کو ڈبل قیمت درج کرنے کا استعمال کرتے ہیں، ترجمان کے اس جملے کو جانا ہے، اس بات کا یقین کر لیں کہ، کر "اوہ، یہاں ایک متغیر ہے اب میں اس متغیر کو حاصل کریں اور اسے یہاں داخل کرنے کی ضرورت ہے." یہاں تک کہ اگر آپ کسی بھی متغیر کا استعمال نہیں کرتے، ان ڈبل قیمت درج کرنے کی اندر کچھ بھی نہیں interpolated کرنے کی ضرورت ہے، لیکن یہ اب بھی سست ہو سکتا ہے کیونکہ یہ ڈبل قیمت درج کرنے پر جانے کی ضرورت ہے چیزیں جو interpolated رکھا جائے کرنے کی ضرورت ہے کے لئے کر رہے ہیں. تو ایک کی قیمت درج کرنے تیزی سے تھوڑا سا ہو جائے گا اگر کچھ نہیں interpolated رکھا جائے کرنے کی ضرورت ہے کر سکتے ہیں، اور میں ایک کی قیمت درج کرنے کا استعمال کرتے ہیں کے لئے بھی، 'ہیلو، میرا نام ہے' کرتے ہیں. $ صف ['ایک'] ویسے بھی. یہ جو ہم پہلے کے برابر ہو رہا ہے. لیکن یہ ترجیح کا معاملہ ہے. اگر آپ پی ایچ پی کا استعمال کر رہے ہیں، آپ کو رفتار میں فرق کے بارے میں شاید کوئی فرق نہیں پڑتا ہے. انہیں باہر کرنے کی وجہ سے کے ساتھ شروع کرنے کے لئے کافی نہیں ہے. کوئی آخری سوال؟ ہم اصل میں اس کے تمام کے ذریعے بھی نہیں ملا، لیکن یہ چیزیں بورنگ تھا. آخری بات یہ ہے کہ پی ایچ پی میں قسم کی اچھی بات ہے ہے جب آپ کو HTML کے ساتھ کام کر رہے ہو، آپ اسے ایک متغیر چھپائی کے لئے تھوڑا سا ہے، تو اچھا شارٹ کٹ نحو استعمال کریں گے. PHP یہاں ڈال کے بغیر، اس مختصر ٹیگ کہا جاتا ہے. سرکاری طور پر کے طور پر 5.4 پی ایچ پی کی اس فرسودہ ہے. آپ پی ایچ پی کی ڈال کرنے کی سفارش کی ہے. یہ اب بھی، <سے اتنی مختصر ٹیگ کی حمایت کی ہے. = اب بھی بالکل ٹھیک ہے. یہ حمایت کی پہلے سے طے شدہ کی طرف سے ہے، تو آپ ان کا استعمال کرتے ہیں، جیسا کہ آپ چاہتے ہیں کر سکتے ہیں، اور وہ کافی آسان ہے. کوئی سوال؟ ٹھیک ہے. بہترین معیار رہو، سان ڈیاگو. [منہ دبا ہںسنا] بای. [ہنسی] [تعریف] [ہنسی] [CS50.TV]