[Powered by Google Translate] [धारा 8] [कम आरामदायक]
[नैट Hardison] [हार्वर्ड विश्वविद्यालय]
[यह CS50 है.] [CS50.TV]
>> हमारे पिछले अनुभाग के लिए 2 के लिए आपका स्वागत है.
इस सप्ताह हम PHP के बारे में बात करने जा रहे हैं, अगले सप्ताह और फिर
हम 1 प्रश्नोत्तरी के लिए एक छोटे से समीक्षा करूँगा.
हम समस्या के पेज 3 पर शुरू करने के लिए जा रहे हैं पैक सेट,
और हम सवालों के अनुभाग के माध्यम से काफी तेजी से काम करेंगे.
पेज 3 पर, हम सी और PHP के बीच इस अंतर के बारे में बात शुरू
इस अर्थ में है कि PHP एक गतिशील टाइप भाषा है,
जबकि सी statically टाइप है,
और किसी को सच में जल्दी PHP की तरह कुछ में किसी भी कोडिंग किया
या अजगर या उससे पहले, जावास्क्रिप्ट रूबी?
पूरी तरह से नया है? ठीक है.
>> इन भाषाओं के सभी कि मैंने अभी उल्लेख
सी और सी + + जावा और जैसी भाषाओं से बहुत अलग हैं
इस अर्थ में कि जब आप एक चर घोषणा आपके पास डिक्लेअर नहीं है
चर के किस तरह यह है, तो सी में हम हमेशा कहते हैं कि करने के फंस गए थे
यह करने के लिए एक int चर होने जा रहा है, या यह करने के लिए एक चार * चर होने जा रहा है,
PHP, अजगर, रूबी के साथ के साथ साथ, जबकि
इन अधिक आधुनिक भाषाओं का एक बहुत कुछ के साथ आपको लगता है कि सब पर नहीं करना है.
तुम सिर्फ अपने चर घोषित करने के लिए, और PHP के मामले में
आप यह एक संकेत $ के साथ prefixing द्वारा घोषणा की है कि यह एक चर है,
और फिर चर के प्रकार मूल्य जो कुछ भी पकड़ रखा है द्वारा निर्धारित किया जाता है,
जो तरह का शांत है.
यह एक छोटा सा के साथ खेलने के आसपास, हम नमूना PHP कोड यहीं है
में शुरू और अंत टैग के बीच.
हम HTML की तरह समझ में इस तरह के प्रयोग कर रहे हैं कि
हम इन कोण कोष्ठक यहाँ मिल गया है के लिए खुला और करीब.
आप HTML के साथ देखेंगे.
आप XML के साथ वाक्यविन्यास की एक ही तरह की भी देखेंगे.
>> यह एक PHP ब्लॉक की शुरुआत को इंगित करता है.
इस PHP PHP के लिए विशिष्ट है.
हम एक के रूप में? अच्छी तरह से सब कुछ बंद.
हमारे उपकरण में एक फ़ाइल खोलने का उपयोग कर आप जो कुछ भी करना चाहते हैं.
इस पैकेट में यह dynamic.php कॉल कहते हैं.
सच में, तुम इसे कॉल कर सकते हैं, आप जो कुछ भी करना चाहते हैं, लेकिन फ़ाइल नाम ऊपर आ जाएगा
और बाद में महत्वपूर्ण हो सकता है, तो बस याद है कि जो कुछ भी आप इसे कहते हैं.
मैं उपकरण पर स्विच करने के लिए जा रहा हूँ,
और मैं करने के लिए एक निर्देशिका बनाने के लिए जा रहा हूँ
धारा 9 मेरा मानना ​​है कि अब हम पर हैं.
और हम धारा 9 में जाना होगा,
और मैं जीएडिट का उपयोग करने के लिए जा रहा हूँ.
चलो देखते हैं, जीएडिट, और मैं मेरा dynamic.php कॉल करने के लिए जा रहा हूँ.
बूम.
Dynamic.php के भीतर, के बाद से यह एक PHP फ़ाइल है
और मैं PHP दुभाषिया के माध्यम से चलाना चाहते हैं
मैं सब कुछ उन खुला टैग के साथ बंद शुरू करने की जरूरत है,
इसलिए मैं उन अभी शुरू करने के लिए जा रहा हूँ,
अपने आप को टैग के बीच में एक छोटी सी जगह दे,
और फिर इस अभ्यास के बिंदु के साथ खेलने के आसपास किया गया था
इस समारोह gettype कहा जाता है, तो gettype, इस समारोह में सही यहाँ.
>> सूचना है कि वहाँ नहीं है या अंतरिक्ष या हायफ़न या ऐसा कुछ अधोडैस है
2 शब्दों को अलग करने, और टाइप करें, सिर्फ एक शब्द पूरी तरह.
लेकिन यह करना होगा क्या है अगर मैं एक चर में gettype पारित करने के लिए,
var डॉलर या $ x कहते हैं,
मुझे इस तरह का एक debugging प्रारूप में बता देंगे
उस प्रकार का नाम क्या है.
हम यहाँ प्रयोग करने के लिए जा रहे हैं.
विशेष रूप से, अगर आप pset कल्पना पर वापस देखो
हम कोड की कुछ अलग लाइनों यहाँ मिल गया है.
कोड की पहली पंक्ति में हम इस चर $ var प्रारंभिकीकरण
7 के बराबर हो सकता है, और फिर हम इस printf लाइन है
हे कहते हैं कि, printf var रिक्त है.
Printf एक कई तरीके हम PHP में बातें मुद्रित कर सकते हैं की है.
अक्सर आप गूंज के printf बजाय इस्तेमाल किया समारोह देखेंगे,
लेकिन printf हम सभी कर रहे हैं सी में थोड़ी देर के लिए कोडिंग किया गया है के साथ परिचित हैं.
आप वास्तव में क्या कर सकते हैं अगर कॉपी और पेस्ट काम करता है देखना.
मैं इस एक कोशिश देने के लिए जा रहा हूँ.
हम उपकरण को वापस जाना होगा.
ठीक है, और वहाँ हम चले.
और रिक्ति एक छोटे से कायरता है, लेकिन यहाँ हम चले.
हम यहाँ में इस कोड मिल गया है.
>> [छात्र] यह अच्छा नहीं यह टैब शैली है?
क्षमा करें?
[छात्र] यह पारंपरिक है यह टैब?
ठीक है, तो सैम पूछता है कि अगर यह यह टैब या नहीं करने के लिए सम्मेलन है.
आमतौर पर हाँ.
इस मामले में मैं नहीं करने के लिए चुना है.
ईमानदारी से, आप अलग प्रोग्रामर के बीच अलग अलग चीजों को देखेंगे.
PHP आम तौर पर HTML के साथ संयोजन में अक्सर इस्तेमाल किया जाता है
और अन्य भाषाओं, तो कभी कभी मुद्रण एक थोड़ा कायरता दिखेगा
अगर आप PHP शुरू और अंत टैग के भीतर इंडेंट.
यह वास्तव में निर्भर करता है.
इस मामले में कॉपी और पेस्ट मेरे लिए नजर नहीं चिपका था,
लेकिन यह निश्चित रूप से, जैसे तुम ने कहा, यह स्पष्ट है.
ठीक है, अगर आप dynamic.php में इस कोड को बचाने के
तो आप क्या कर सकते हैं अपने टर्मिनल विंडो के लिए नीचे आ रहा है जहां मैं सही यहाँ नीचे
जीएडिट में, और संकलन के बराबर करने के लिए
का उपयोग कर और फिर सी में अपने कोड चल रहा है
तुम सब PHP फ़ाइल के साथ क्या करना है PHP दुभाषिया शुरू,
जो एक छोटे से PHP बुलाया कार्यक्रम है,
और तर्क आप दुभाषिया दे फ़ाइल आप व्याख्या करने के लिए करना चाहते हैं.
इस मामले में, dynamic.php.
वूप्स, जहाँ मैं इसे डाल दिया?
ओह, मैं इसे धारा 9 में डाल दिया है, और मैं यहाँ हूँ. यही कारण है.
>> अब अगर मुझे लगता है कि फिर से चलाने के
हम देखते हैं कि मेरी पहली gettype समारोह फोन में
var एक पूर्णांक है.
अगले एक var में एक स्ट्रिंग है, और फिर 3 एक var में एक बूलीयन है.
इस बारे में दिलचस्प बात यह है कि अगर हम वापस स्क्रॉल ऊपर हम देखते हैं कि
इन लोगों को कि हम सी. में था के लिए समान प्रकार हैं
हम सी में ints
हम तरह सी में तार था,
तो तार भावना में एक पूरी तरह से कानूनी प्रकार नहीं थे कि
हमारे CS50 स्ट्रिंग क्या वास्तव में था?
क्षमा करें? Missy?
[Missy] चार *.
हाँ, यह इस चार * हम प्रयोग किया जाता था.
सेमेस्टर के बहुत शुरुआत में हम स्ट्रिंग प्रकार का उपयोग कर रहे थे,
लेकिन यह वास्तव में हुड के तहत एक चार * था.
हम सिर्फ यह प्रकार परिभाषित है, जबकि PHP में इन तारों को एक वास्तविक प्रकार के होते हैं.
वहाँ इस चार * प्रकार के सामान का कोई अधिक है.
>> आप देखेंगे कि हम तार के साथ कई और बातें कर सकते हैं
और अधिक आसानी से PHP में की तुलना में हम कर सकते थे सी में,
और फिर अंत में, हम इस बूलियन प्रकार है, और यहाँ बड़ा अंतर यह है कि
अगर हम वापस नीचे स्क्रॉल हम देखते हैं कि इन प्रकार के नाम
अब पूर्णांक, स्ट्रिंग, के बजाय और बूलीय int और bool,
और जैसा कि आप विभिन्न प्रोग्रामिंग भाषाओं लेने,
यह सोचते हैं कि आपके जीवन में कुछ बिंदु पर आप के साथ संपर्क में आ जाएगा
अलग अलग लोगों को आप इस तरह छोटे quirks नोटिस हूँ
जहां सी integers ints कहता है.
कुछ लोग इसे integers कहते हैं.
अन्य शब्दों है कि आप में भाग लेंगे.
बिग int आज हम एसक्यूएल में देखा था.
वहाँ भी संख्या और फिर bool, बूलियन,
वहाँ मतभेद की सभी प्रकार की.
>> यह बहुत दिलचस्प नहीं है, लेकिन अब मैं आप का एक छोटा सा देने के लिए जा रहा हूँ समय
अगर हम वापस बाहर ज़ूम करने के लिए इस अभ्यास के माध्यम से 3 पृष्ठ के तल पर काम
जहां यह पूछता है कि क्या प्रकार के नीचे में इन मूल्यों को यहाँ अनुरूप.
हम 3.50 है.
हम इस बात को यहीं है, जो रोचक है.
हम जानते हैं कि पहले नहीं देखा है, हालांकि, अगर आप व्याख्यान में किया गया है साथ निम्नलिखित
आप शायद पहले से ही पता है कि वह क्या है.
तब हम इस किया है, जो इस कायरता की तरह है.
इस पहचान.
सी में यह क्या है?
सैम? क्या आप इस सी में देना होगा?
यह एक dynamic.php बुलाया फ़ाइल खोलने और यह पठनीय बनाने के लिए होगा.
हाँ, और क्या चर के प्रकार है कि हम इस? >> फ़ाइल सितारा आवंटित होगा होगा.
वास्तव में, हम इस एक फ़ाइल स्टार के लिए आवंटित होगा.
यह वैध PHP भी है.
चलाएँ. देखें क्या होता है जब आप gettype में है कि गुजरती है.
और फिर भी बाहर की जाँच अशक्त क्या है, कि क्या PHP में हो सकता है.
मैं आप एक दो मिनट दे दूँगा.
तुम सचमुच कॉपी और में इन मूल्यों को पेस्ट कर सकते हैं,
और फिर हम तुम पर एक छोटे से यादृच्छिक फोन करूँगा
और तुम्हारे पास क्या है.
>> [छात्र] मैं एक सवाल है: हाँ.
एक व्याख्यान में डेविड ने कहा कि वहाँ कुछ है जो आप अपनी फ़ाइल के शीर्ष पर डाल सकते हैं
इतनी है कि आप PHP में हर बार टाइप नहीं है.
क्या था?
वह शायद पौंड धमाके, हैश धमाके के बारे में बात कर रहा था.
यह एक निर्देश है कि यदि आप निष्पादन योग्य के रूप में अपनी फ़ाइल के निशान
तो यह क्या करता है जब आप फ़ाइल को निष्पादित
खोल कार्यक्रम बता देंगे
PHP दुभाषिया का उपयोग करने के लिए फाइल की सामग्री की व्याख्या.
सवाल किया जा रहा है क्या यह विशेष लाइन थी
कि हम हमारे PHP फाइलों के शीर्ष पर शामिल करने के लिए शामिल करने के लिए नहीं कर सका
इस PHP लाइन या इस PHP कमांड जब हम फ़ाइल को निष्पादित करना चाहते हैं?
और तुम वास्तव में अलग अलग फ़ाइलों का एक गुच्छा के साथ कर सकते हैं.
मेरा मानना ​​है कि यह जहां PHP बाइनरी संग्रहीत किया जाता है पर निर्भर करता है,
लेकिन अक्सर usr / bin / php एक अच्छी जगह से शुरू है.
आप यह समझ से बाहर वापस करने के लिए नीचे जाने के लिए अपने उपकरण वास्तव में कर सकते हैं
और बाहर टाइपिंग php जो.
कमांड जो बाहर के आंकड़े जब तुम द्विआधारी क्रियान्वित कर रहे हैं
या एक आदेश है, जहां इसी फ़ाइल है.
यह मुझसे कहता है कि PHP वास्तव में अलियासिंग इस बाइनरी फ़ाइल
कि usr / bin, जो है, जहां सिस्टम बाइनरीज़ की एक बहुत स्थापित कर रहे हैं में संग्रहित है.
उदाहरण के लिए, अगर मैं शीर्ष पर स्क्रॉल, अब है कि मैं इस डाल दिया है! यहाँ लाइन
मैं नीचे स्क्रॉल कर सकते हैं, और मैं भागने की कोशिश कर सकते हैं
dynamic.php, लेकिन मैं वंचित किया जा रहा अनुमति के बारे में इस त्रुटि मिलती है,
और क्या इसका मतलब है कि इस फाइल वर्तमान में निष्पादन योग्य अनुमतियाँ नहीं दे रहा है.
यह एक फ़ाइल है कि किसी को चला सकते हैं के रूप में चिह्नित नहीं है.
>> जब आप या बजना भाग गया और आप इसे से एक निष्पादन योग्य है
संकलक काफी चतुर को पता है कि अरे, मैं एक निष्पादन का निर्माण कर रहा हूँ था.
आप शायद इसे लागू करना चाहते हैं, तो यह स्वचालित रूप से कॉन्फ़िगर होगा
आप के लिए अनुमति.
इस मामले में, हालांकि नहीं है, जब आप स्क्रैच से एक सामान्य फाइल बनाते हैं,
कारण आम तौर पर आप चाहते हो किया जा रहा करने के लिए अपने सिस्टम पर किसी भी फाइल को कार्यान्वित नहीं किया जा
ताकि आप वास्तव में जाओ और मैन्युअल रूप से यह करना है.
सबसे आसान तरीका यह करना chmod कमांड के साथ है,
और chmod + x का कहना है कि निष्पादन योग्य बिट जोड़ने
क्योंकि वहाँ पढ़ने सा, लेखन थोड़ा और निष्पादन बिट है,
आर एंड डब्ल्यू, और एक्स,
chmod + x कह निष्पादन योग्य बिट पर बंद हो जाएगा
कि हम निर्दिष्ट करने के लिए, जो इस मामले में dynamic.php होगा तो फ़ाइल के लिए.
>> [छात्र] है कि हर किसी के लिए बदल गया है?
चलो यह बाहर की जाँच करें, तो मैं कैसे करने के लिए अनुमति को देखने के लिए जाँच चाहते हैं?
तुम्हें पता है कि मैं एक फ़ाइल की अनुमतियाँ देखने जांच होगी?
[अश्राव्य छात्र प्रतिक्रिया]
क्षमा करें >> [छात्र] XSD.
XSD हमें हैक्स में फ़ाइल देता है.
सभी फाइलें, एल, लिस्टिंग मेरे निर्देशिका में फ़ाइलों के सभी शो होगा
तरह के अपने लंबे, वाचाल लिस्टिंग में, और इसलिए यहाँ हम देखते हैं कि
इस dynamic.php फ़ाइल
पिछले 4:21 पर 5 नवम्बर संशोधित.
इस फ़ाइल का स्वामी jharvard है.
कि उपयोगकर्ता जो अंदर लॉग इन किया है है
यह उपयोगकर्ता के रूप में मैं काम कर रहा हूँ,
और अगर आप उपकरण में भी कर रहे हैं आप भी उपयोगकर्ता jharvard के रूप में काम कर रहे हैं.
आप छात्रों के समूह में हैं,
और ये चीजें हैं जो आप अक्सर पर्याप्त देखेंगे.
>> हम यहाँ विस्तार का एक बहुत में जा सकते हैं,
लेकिन सबसे अधिक भाग के लिए आप को देखने के लिए जब आप को देखने के लिए देख रहे हैं क्या चाहते हैं
चाहे या नहीं एक फ़ाइल है निष्पादन योग्य मुख्य रूप से है
उपयोगकर्ता जो फ़ाइल के मालिक, मालिक,
तो यह jharvard, और फिर हम
बाईं तरफ यहाँ पर अनुमति बिट्स,
और इस पढ़ने के लिए एक रास्ता है कि पिछले कुछ
आम तौर पर किया जाए या नहीं, कम से कम इस मामले में अंकन करने के लिए प्रयोग किया जाता है
यह पिछले सा अक्सर विज्ञापन के लिए इंगित करने के लिए निर्धारित किया जाएगा
कि फ़ाइल एक निर्देशिका और सिर्फ एक सामान्य फाइल नहीं है.
तो निम्नलिखित 3 सही यहाँ बिट्स
अनुमति है कि फाइल के मालिक है निर्धारित करते हैं,
तो इस मामले jharvard में, फ़ाइल के मालिक के रूप में पढ़ा है, और इस फाइल को लिख सकते हैं,
लेकिन वहाँ एक पानी का छींटा कह रही है कि jharvard इस फ़ाइल निष्पादित नहीं कर सकता है.
अगले 3 बिट्स समूह के लिए कर रहे हैं, तो यह छात्रों के समूह है,
यदि ऐसा है तो वहाँ मेरे उपकरण पर एकाधिक उपयोगकर्ताओं थे,
और हम छात्रों के समूह के हिस्से के रूप में कई उपयोगकर्ताओं था,
तो वे सब इस फ़ाइल को पढ़ने कर सकते हैं, लेकिन वे यह नहीं लिख सकते हैं,
और इसी तरह किसी और को, दुनिया
केवल इस फ़ाइल को पढ़ने के रूप में अच्छी तरह से कर सकते हैं.
वहाँ एक अच्छा है, इस बारे में लंबे समय writeup है,
तो आप ऑनलाइन पढ़ सकते हैं.
समस्या सेट कल्पना में हम इस मामले में और अधिक विस्तार में जाने.
>> [छात्र] 218 दुनिया के लिए बात कर रहा है?
218-बंद मेरे सिर के ऊपर मैं भूल रहा हूँ,
लेकिन नहीं.
चलो देखते हैं. मुझे लगता है कि सही पर अब blanking हूँ.
वापस क्या हम इस chmod + x के साथ करने के लिए गए थे
, जहां हम लिए dynamic.php निष्पादन योग्य अनुमति देना चाहता था
और सवाल था या नहीं, इस निष्पादन अनुमतियाँ हर किसी को देना होगा
या बस, jharvard और हम यह देख सकते हैं
कमांड चलाने और ls-l टाइप,
और अब हम देखते हैं कि यह निष्पादन के रूप में चिह्नित है.
आप देखते हैं कि वहाँ एक रंग परिवर्तन किया गया था.
अब dynamic.php हरे रंग में सूचीबद्ध है,
और यह सवाल का जवाब की तरह लग रहा है क्या, Charlotte है?
[Charlotte] केवल jharvard. >> केवल jharvard, हाँ.
>> अगर हम सब के लिए पर निष्पादन सा बारी करना चाहता था
हम कैसे कर सकते हैं?
किसी भी विचार? >> A + x?
हाँ, बिल्कुल.
Charlotte कहा हम dynamic.php की एक x + chmod कर सकते हैं,
और अब अगर हम ls-l चलाने हम देखते हैं कि निष्पादन बिट्स
वास्तव में हर किसी के लिए बदल जाता है.
और आप वास्तव में इस के रिवर्स, कर सकते हैं तो आप कर सकते हैं यह सभी के लिए बंद कर देते हैं
ऋण का उपयोग कर.
अब इसे बंद कर दिया है, और अब हम यह jharvard के लिए पर वापस कर सकते हैं
इतना है कि हम वास्तव में यह अब चला सकते हैं,
और अब आप देख जब हम इस विशेष कोड चलाते हैं! शीर्ष पर लाइन,
#! लाइन, खोल से कहा,
हमारे टर्मिनल से कहा हे, जब इस फाइल को चलाया जाता है,
/ usr / bin / php का उपयोग करने के लिए इस फाइल की व्याख्या
और तो उत्पादन प्रिंट.
[अश्राव्य छात्र प्रश्न]
यकीन है, मुझे वापस ऊपर स्क्रॉल. बस इस तरह.
आप देखेंगे कि इन सभी निर्देशों के इस पाउंड के साथ शुरू करते हैं और फिर विस्मयादिबोधक बिंदु,
कभी कभी एक कुटिया, हैश धमाके कहा जाता है.
>> [छात्र] हम php dynamic.php के साथ यह कैसे चला सकते हैं इससे पहले कि हम यह निष्पादन करते हैं?
सवाल हम इस PHP द्विआधारी का उपयोग कैसे चला सकते हैं
जबकि dynamic.php योग्य नहीं है?
यह सुपर महत्वपूर्ण है क्योंकि यह बिल्कुल कैसे
यह काम करने के लिए जा रहा है जब आप समस्या 7 सेट लिखना.
समय PHP फ़ाइलों के अधिकांश सीधे निष्पादन योग्य नहीं हैं.
तरीका है कि काम करता है क्योंकि यह PHP द्विआधारी है कि निष्पादन योग्य है.
दुभाषिया बात यह है कि मार डाला जा रहा है है,
और इसलिए यह कर रहा है क्या सचमुच संपूर्ण सामग्री में slurping
हमारे dynamic.php फ़ाइल और लाइन से जा रहा लाइन
और उन आदेशों को क्रियान्वित करने, तो यह हमारे PHP फ़ाइल का उपयोग कर रहा है
निर्देशों की एक सूची के रूप में.
यह सीधे इसे क्रियान्वित नहीं है.
यही कारण है कि जहां हम कहते हैं कि इन फ़ाइलों को चलाने के समय में व्याख्या कर रहे हैं.
यह कुछ है कि समय संकलन में निर्धारित है के बजाय एक रन समय भाषा है,
सी. तरह संकलित एक भाषा नहीं
>> वहाँ एक एक रन समय भाषा पाने के लिए अधिनियम के रूप में अगर यह एक संकलन समय भाषा है,
जैसे अगर आप सब चल रहा है सर्वर पर किया
बल्कि की तुलना में आप जानते हैं कि मैं क्या मतलब है?
हाँ, तो सवाल यह है
वहाँ एक चलाने के लिए समय भाषाओं को प्राप्त करने के लिए अधिक भाषाओं के संकलन बार प्रकार की तरह कार्य करने के लिए एक रास्ता है?
और वहाँ मेरा मतलब है, कर रहे हैं कि इन कंपनियों के एक बहुत कुछ करने के लिए अनुसंधान के एक सक्रिय क्षेत्र है.
मेरा मानना ​​है कि फेसबुक PHP के साथ काम का एक बहुत कुछ किया है
और यह संकलन नीचे, यह तेजी से कर रही है, यह अनुकूलन
के बाद से अपनी साइट PHP पर बनाया गया है.
यदि आप node.js पालन किया गया है,
जो एक जावास्क्रिप्ट दुभाषिया की तरह है
अपने वेब ब्राउज़र के बाहर जावास्क्रिप्ट, ब्राउज़र के बाहर चलाने के लिए सक्षम हो सकता है,
क्योंकि परंपरागत रूप जावास्क्रिप्ट सिर्फ Firefox या क्रोम के अंदर चला होगा,
और इसे बनाने के लिए शांत एनिमेशन एक वेब पेज पर होता है के लिए इस्तेमाल किया जाएगा
और अपने वेब पेज को गतिशील बनाने के लिए.
यह काम का एक बहुत पर बनाया गया है कि गूगल किया है
जावास्क्रिप्ट और सी + +
एक साथ बाँध, तो वहाँ के लिए सक्रिय अनुसंधान के एक बहुत कुछ है
इन भाषाओं में बातचीत करने के लिए उन्हें अनुकूलित,
PHP और जावास्क्रिप्ट में मुख्य रूप से है, क्योंकि इतने सारे लोगों को कोड कर सकते हैं
क्योंकि यह एक बहुत आसान है.
यह एक बहुत अच्छे है. आप संकेत नहीं है.
आप चारों ओर तैर प्रकार नहीं है.
वे इन संकलन समय भाषाओं के लाभ हासिल करना चाहता था
सभी प्रकार की जाँच और गति और कम स्मृति के उपयोग और वह सब के साथ
जबकि अभी भी लचीलापन और इन नए लोगों के उपयोग में आसानी बनाए रखने.
>> वापस हमारे हमले की मूल योजना.
हम इन सवालों का एक बहुत कुछ मिल गया है यहाँ हमारे समस्या सेट कल्पना में.
चलो वास्तव में उन के माध्यम से जल्दी जाना है, और हम कमरे में चारों ओर जाना होगा.
Charlotte, क्या प्रकार 3.50 है?
[Charlotte] है कि एक डबल >> यह एक डबल है.
जिमी, क्या यह अगले एक है? एक सरणी. >>
एक सरणी, भयानक, और Jared, fopen क्या है?
[Jared] यह एक संसाधन >> यह एक संसाधन है.
यह एक नया एक है, नहीं एक फ़ाइल सितारा एक फ़ाइल की तरह है.
यह है एक संसाधन PHP में प्रकार है,
और मैं माफी चाहता हूँ, एला, पिछले अशक्त क्या है?
अशक्त.
अशक्त, यह कैसे PHP में लिखा जाता है? >> उसी तरह.
उसी तरह,? >> की राजधानियों हाँ.
हाँ, सब सही है.
यहाँ हम चले, हम एक डबल मिल गया है, हम एक सरणी मिल गया है,
हम एक संसाधन मिल गया है, और फिर हम अशक्त मिल गया है.
चलो देखते हैं अब आप देखा
चलो देखते हैं, तो अब मुझे लगता है कि मैं जो भी करना चाहते हैं ऊपर खींचने के लिए है
यहाँ इस वेब पेज, इस php.net / मैनुअल,
इसलिए यदि तुम लोगों कि कॉपी करें और एक वेब ब्राउज़र खुला.
मैं क्रोम खींचने के लिए जा रहा हूँ, कि अंदर डाल
मैं तुम्हें दिखाने के लिए यह सिर्फ चाहते हैं, क्योंकि
हम पूरे दिन के प्रकार के बारे में बात करते हैं और कर सकते हैं कि सभी मज़ा सामान
बल्कि इसलिए कि यह PHP मैनुअल है,
और वहाँ से बाहर PHP प्रोग्रामर के एक बहुत कुछ कर रहे हैं.
वहाँ से बाहर PHP वेबसाइटों की एक बहुत कुछ कर रहे हैं,
और एक परिणाम के रूप में, वहाँ PHP पर दस्तावेज की एक बहुत कुछ है,
और पुस्तिका, इस php.net, एक वास्तव में अच्छा करने के लिए जाने के लिए जगह है
जब भी आप क्या PHP में एक्स करने का सबसे अच्छा तरीका है के बारे में सवाल कर रहे हैं
या एक समारोह की तरह दिखता है?
यह क्या है क्योंकि की तरह लग रहा है के साथ परिचित हो रही बस की तरह
तुम यहाँ आ रहा होगा, अक्सर इस समस्या के लिए एक बिट 7 सेट.
>> अगर तुम अंत में एक अंतिम परियोजना है कि PHP का उपयोग करता है कर
यह एक जगह है आप बहुत अच्छी तरह से परिचित हो जाओगे होगा.
अक्सर जिस तरह से लोगों को यह नहीं है कि वे गूगल साइट के लिए खोज करने के लिए उपयोग करते हैं,
और वे खोज बॉक्स है कि ऊपर शीर्ष सही है, जो छोटे की तरह है में यहाँ का उपयोग नहीं करते.
यदि आप PHP के साथ क्या करने के लिए कुछ के लिए चारों ओर Googling रहे हैं और आप देख
एक पुस्तिका लिंक पॉप अप आप आम तौर पर उस पर भरोसा कर सकते हैं
एक काफी अच्छा संसाधन के रूप में.
बहुत बढ़िया, तो बाहर इन प्रकार के, बस बाहर जिज्ञासा की,
जो हम लोगों को नहीं देखा है?
हम यहाँ कुछ भी नहीं देखा है?
[छात्र] संसाधन. >> हम fopen कॉल के साथ संसाधन देखा.
[छात्र] वस्तुओं >> वस्तुएँ हम सुनिश्चित करने के लिए नहीं देखा है.
Callbacks हम नहीं देखा है.
इन छद्म प्रकार के कुछ कर रहे हैं.
हम निश्चित रूप से केवल पूर्णांक और डबल देखा.
हम दूसरों से कुछ नहीं देखा था, इसलिए यदि हम पूर्णांकों पर क्लिक करें
हम वहाँ किसी भी अन्य integers है कि वे यहाँ देख सकते हैं?
वे सब तो पूर्णांक, पूर्णांक, पूर्णांक.
कुछ भाषाओं में बड़ा पूर्णांक प्रकार है,
जैसे हम आज MySQL पर देखा int और फिर बड़ा int था.
कूल.
>> तो, PHP मैनुअल.
चलो हमारी समस्या सेट कल्पना करने के लिए वापस जाओ, और हम अब 4 पृष्ठ पर नीचे स्क्रॉल करेंगे.
चीजें हैं जो होता है जब आप इन भाषाओं में से एक
कि यह स्थिर टाइपिंग नहीं है तो, इन भाषाओं में जहां आप घोषणा
एक चर अप सामने के प्रकार
तुम मामलों जहाँ आप विभिन्न प्रकार के चर होने शुरू हो सकता है
एक दूसरे के साथ बातचीत,
और PHP जहाँ यह करने की कोशिश करता है इस बात करता है
क्या यह सबसे समझदार बात करना हो समझता
जब आप 2 अलग अलग प्रकार के एक दूसरे के साथ बातचीत.
उदाहरण के लिए, अगर हम सही कोड की इन पंक्तियों पर यहाँ देखो
आप देखते हैं कि हम मिल गया है क्या होता है जब
हम कोशिश करते हैं और पूर्णांक 2 से 1 स्ट्रिंग जोड़ें.
क्या होता है अगर हम कोशिश करते हैं और एक स्ट्रिंग है कि एक अंकीय मान नहीं है जोड़
बल्कि वास्तविक अक्षर, सीएस से 50 नंबर?
तो हम देखते हैं वहाँ कुछ अलग है कि जहां होता है
हम एक स्ट्रिंग के लिए एक संख्या जोड़ रहे हैं एक नंबर के लिए एक स्ट्रिंग जोड़ने के बजाय,
और इतने पर और आगे इस मुद्दे पर जहां हम कर रहे हैं
अजीब सामान में से कुछ सही तरह यहाँ जहां हम 7 + सच मिल गया है.
बिल्ली क्या मतलब है?
>> यदि आप लोगों को आगे जाने के लिए और अपने उपकरण में इस कोड के कुछ पेस्ट करें.
आप इसे dynamic.php में रख सकते हैं.
हम देखेंगे कि क्या होता है.
[छात्र], printf प्रिंट का उपयोग नहीं?
हाँ, तो आपको लगता है कि प्रिंट भी PHP में छपाई के लिए एक वैध समारोह.
वहाँ इसे करने के विभिन्न तरीके हैं.
हम उदाहरण के एक जोड़े के साथ एक बार हम बात कर शुरू पर बाद में देख लेंगे
अद्वितीय समस्या यह है कि हम लिखने के लिए जा रहे हैं के बारे में
और फिर सांद्रता समस्या यह है कि हम लिखने के लिए जा रहे हैं
कि भले ही हम fopen और fclose
कि अक्सर एक फ़ाइल की सामग्री में पढ़ने के लिए करने के लिए सबसे आसान तरीका नहीं है.
PHP इन सी - तरह holdovers की एक बहुत कुछ है.
[छात्र] जब मैं उन बातों मैं केवल एक आउटपुट के रूप में नंबर एक की 6 में डाल दिया.
[नैट एच.] जब आप इन बातों के सभी 6 में डाल दिया.
देखते हैं यह है क्योंकि यह संभवतः
एक बात यह है कि इन प्रिंट कॉल नई लाइनों के साथ अंत में समाप्त नहीं कर रहे हैं.
कोई नया लाइन इन प्रिंट कॉल के प्रत्येक को अलग है,
तो शायद आप एक बड़ी संख्या में हो रही है,
और यह वास्तव में नई लाइन वर्णों की बस मिश्रण है.
[छात्र] ठीक है, मैं कैसे यकीन है कि कर सकता हूँ
खैर, वहाँ अलग तरीके का एक गुच्छा रहे हैं.
आप स्वयं एक नई लाइन चरित्र का एक प्रिंट में डाल सकता है,
एक नई लाइन चरित्र के एक गूंज,
नई लाइन के मुद्रित.
[छात्र] तो गूंज printf के रूप में एक ही बात है?
>> Printf तरह printf सी
जहां आप एक स्वरूपित स्ट्रिंग मुद्रण कर रहे हैं.
आप इसे प्रारूप स्ट्रिंग और फिर सभी प्लेसहोल्डर चर की आपूर्ति कर रहे हैं.
यह अक्सर कुछ नहीं है कि इस्तेमाल किया जाता है
चलो देखते हैं, एक त्याग के रूप में,
मैं PHP के साथ कम परिचित की तुलना में मैं अन्य वेब भाषाओं के साथ हूँ,
और जब मैं PHP में क्रमादेशित है मैं आमतौर पर printf का उपयोग नहीं करते
क्योंकि मैं यह तेजी का उपयोग करने के लिए यह है कि स्ट्रिंग प्रक्षेप क्षमताओं,
जो हम में जाना है और मैं आप सिर्फ एक दूसरे में दिखाता हूँ,
जबकि सी में हम किस तरह का करने के लिए इस hacky बात करने के लिए इसे बाहर मुद्रित करने के लिए ठीक से मिलता है.
आप वास्तव में चर PHP में तार में सीधे डाल सकते हैं.
Printf पीढ़ी क्या मैं आमतौर पर करते हैं के लिए लंबे समय की तरह है. हाँ, एला.
[एला] आम तौर पर अगर आप पार्स त्रुटि मिलता है कि मतलब नहीं है कि
सी पर की तरह यह आप नहीं बता बिल्कुल जहां गलती है और यह क्या है करता है,
इतना है कि अपने पूरे कोड के माध्यम से देखो मतलब है और यह समझ से बाहर है?
यह आमतौर पर है कि अधिक से अधिक लक्षित है.
मुझे लगता है कि उस मामले में यह एक छोटे से दूर था,
इसलिए मुझे लगता है कि उस मामले में हम एक सेमीकोलन याद कर रहे थे.
यह सब कुछ की भावना बनाने की कोशिश कर रहा था,
इन भाषाओं की तरह व्याख्या की, दुभाषिया कोशिश करने जा रहा है
और इसकी सबसे अच्छा करने के लिए सब कुछ काम उचित है.
>> उदाहरण के लिए आप देखेंगे, जावास्क्रिप्ट में
आप अक्सर लाइन बस के रूप में वे PHP में एक सेमीकोलन के साथ अंत बयान,
बस के रूप में वे सी. में
जावास्क्रिप्ट में जावास्क्रिप्ट दुभाषियों के कुछ
ब्राउज़रों के एक बहुत में अर्धविराम में आप के लिए रखा जाएगा
अगर आप उन्हें याद कर सकता हो.
वे कोशिश करते हैं और अपने हिस्से पर कुछ sloppiness के लिए समायोजित होगा.
यही कारण है कि जहां यह कोशिश कर रहा हो सकता है की कोशिश कर रहा है और चीजों को काम करने की कोशिश कर रहा है,
और फिर अंत में यह एक बात करने के लिए मिलता है, जहां यह ठीक कहते हैं,
मैं चीजें प्रति सहिष्णु पर काम नहीं है, और है कि जहां आप एक लाइन नंबर मिल जाएगा
है कि सटीक जगह से एक छोटे से लग सकता है.
ठीक है, तो हम इस के माध्यम से बहुत जल्दी जाना.
हम एला के साथ छोड़ दिया है, तो चलो Missy खत्म हो जाना,
और Missy, 1 स्ट्रिंग प्लस संख्या के प्रिंट क्या 2 नहीं है कि तुम दे?
[Missy] 3 >> 3.
क्या इसका यह मतलब है? की तरह?
क्या तुम एक नंबर दे? क्या तुम एक स्ट्रिंग दे?
[Missy] एक नंबर >> यह एक संख्या है.
लेकिन यह मुद्रण है, तो यह आप स्ट्रिंग के कुछ प्रकार देने के लिए जा रहा है.
>> एक बात हम इस बाहर की जाँच कर सकते हैं
अगर हम करते हैं var 1 = 2 + $
और फिर हम gettype की गूंज का कहना है,
तो हम यहाँ छपाई की एक तिहाई तरह का प्रयोग कर रहे हैं.
अब हम देख सकते हैं कि यहाँ क्या होता है.
यहाँ हमें मिल गया है क्या यह है कि हम इस बात का एक पूर्णांक बाहर हो गया है.
यद्यपि हम एक नंबर के लिए इस स्ट्रिंग जोड़ रहे थे,
हम एक स्ट्रिंग नहीं था की तरह Missy कहा.
हम एक पूर्णांक हो रहे थे.
ठीक है, तो चलो देखते हैं, अगले, केविन.
सीएस 50 + >> [केविन] 50.
[नैट एच.] 50. क्या इसका यह मतलब है?
[केविन] हाँ.
[नैट एच.] क्यों? यह आप के लिए क्यों मतलब?
[केविन] क्योंकि यह सिर्फ स्ट्रिंग होने वाला है, संख्या मान शून्य होने.
हाँ, महान.
अस्पष्ट स्थितियों की तरह है, लेकिन यह अच्छा है पता है क्या होता है.
स्टैला, क्या संख्या 1 + स्ट्रिंग 2 के साथ आगे क्या होता है?
[स्टेला] 3 >> फिर 3.
और इस मामले में, हम एक स्ट्रिंग या किसी संख्या मिलता है?
>> चलो यह एक कोशिश दे.
तेजी से किसी से मुझे जवाब मिलता है? Charlotte?
ओह, मैं फ्लॉप ठीक है, चलो देखते हैं, हम बात की ही तरह करते जा रहे हैं
हम एक नंबर प्लस एक स्ट्रिंग जहां मिल गया है, और हम प्रकार गूंज के लिए जा रहे हैं,
देखते हैं कि हम क्या मिलता है.
हम भी एक पूर्णांक मिलता है.
यह बात नहीं है जो एक स्ट्रिंग है, जो एक संख्या है.
हम अभी भी एक पूर्णांक प्राप्त करने के लिए जा रहे हैं.
यह अभी भी करने के लिए हम क्या उम्मीद कर सकते हैं के लिए जा रहा है.
ठीक है, तो सैम, क्या बारे में 90 + दीवार पर 9 बियर की बोतलें?
[सैम] 99 99 >>.
बियर की दीवार पर नहीं, हालांकि बोतलें,.
यह क्या हो रहा है के बारे में हमें थोड़ा और अधिक जानकारी देता है.
[सैम] यदि आप पत्र में 9 लिखा था
तो आप 90 है, है ना?
[नैट एच.] हाँ.
सवाल था, अगर हम 9 N-I-N-ई के रूप में बाहर लिखा था
हम 99 या 90 मिल गया होता है?
हम 90 मिलता था.
यह सचमुच सिर्फ अंकों वर्णों के लिए देख रहे हैं.
यह पर्याप्त संख्या शब्दों और है कि सामान की पहचान करने के लिए स्मार्ट नहीं है. हां.
>> [छात्र] वहाँ PHP में typecasting के रूप में ऐसी बात है?
वहाँ है, और यह वास्तव में जिस तरह से आप यह सी में क्या होगा
क्या / 7 10 के बारे में, Charlotte?
[Charlotte] 1.4285.
[नैट एच.] हाँ तो, क्या इस बारे में आश्चर्य की बात हो सकती है?
क्या होगा अगर तुम सी में बात की इसी तरह किया होगा,
अगर आप सी में 10 7 / किया?
[Charlotte] यह केवल कैसे आप typecasted मुझे लगता है पर निर्भर करता है देना होगा
यह आप केवल दशमलव के बाद एक अंक की सीमित संख्या देना होगा.
हाँ, तो दशमलव के बाद एक अंक की सीमित संख्या.
और क्या हो सकता है - यह हो सकता है आप दशमलव के बाद किसी भी अंक दे?
अक्सर तो फिर, नहीं, आप इसे कैसे typecasting रहे हैं पर निर्भर करता है
या यह एक चल बिन्दु संख्या में परिवर्तित हो सकता है यह नहीं.
यहाँ यह अच्छा है कि यह किया की तरह था.
अगर हम आप इस वापस दिखाया जब हम सी में सामान इस तरह का कर शुरू
यह शायद एक छोटे से अधिक समझ में बना दिया जाएगा
कि यह सिर्फ 1 करने के लिए जाना नहीं है.
और फिर अंत में, जेमी, क्या सच के बारे में 7 +?
[जेमी] 8 8. >>
इसका क्या मतलब है?
मुझे लगता है कि यह सिर्फ सच 1 के मूल्य देता है.
हाँ. क्या होता है अगर हम परिवर्तन है कि गलत पर?
[छात्र] 7.
हाँ, इतना याद है जहां हम इन द्विआधारी मूल्यों के बारे में बात करते हैं,
1 पर किया जा रहा है, 0 बंद किया जा रहा है?
अब हम सच है 1, 0 झूठी है,
और आप इस सी उदाहरण में है नहीं देखा गया है कि हम यह पिछले सेमेस्टर किया है हो सकता है,
लेकिन ऐतिहासिक सी में bool प्रकार एक असली प्रकार नहीं किया गया है,
ताकि लोगों को सच्चे और झूठे की जगह में 0 और 1 का इस्तेमाल किया है.
यह इस बात की एक मिसाल है.
>> ठीक है, तो इस सब के बारे में एक महत्वपूर्ण हिस्सा
यह है कि हम इन विभिन्न प्रकार है.
वे एक दूसरे के साथ बातचीत कर सकते हैं.
वे अक्सर तरीके कि अच्छा कर रहे हैं एक दूसरे के साथ बातचीत कर सकते हैं, जैसा कि हम यहाँ देखा है.
यह अच्छा है स्ट्रिंग 1 और 2 संख्या है, उन्हें एक साथ जोड़ें और 3 प्राप्त करने में सक्षम हो.
यह समझ में आता है.
हालांकि, जब आप वेबसाइट लिख रहे हैं, और खासकर जब आप संसाधित कर रहे हैं
उपयोगकर्ता इनपुट, तो कहते हैं कि आप एक वेब प्रपत्र लिखा है
है कि उपयोगकर्ता से जानकारी इकट्ठा और फिर यह प्रक्रिया करने के लिए चला जाता है
वापस अंत पर, अपने PHP कोड में सर्वर साइड पर
अगर आपको लगता है कि मूल्य है कि उपयोगकर्ता में टाइप और प्रस्तुत की उम्मीद कर रहे हैं
अपने फार्म के लिए एक पूर्णांक होना करने के लिए या एक चल बिन्दु संख्या या उस तरह कुछ हो सकता है
आप स्पष्ट रूप से यह कलाकारों की जरूरत है
और फिर कुछ प्रकार की जाँच करते हैं.
>> तुम सिर्फ इस प्रकार के करतब दिखाने प्रणाली पर भरोसा करने के लिए चीजें बाहर काम नहीं करना चाहते,
विशेष रूप से सुरक्षा कारणों के लिए और सिर्फ अपनी वेबसाइट की मजबूती के लिए.
बस मन में रखने के लिए कुछ है कि जब भी आप प्रपत्र डेटा संभाल रहे हैं,
कुछ भी है कि पोस्ट या मिल superglobals में आता है
यकीन है कि तुम हमेशा इसे मान्य है और इसे बदलने के लिए और यह समान किरदार.
और बस जैसे हम एक पल के बारे में है कि typecasting पहले बात कर रहे थे
PHP में वास्तव में सी में के रूप में एक ही है जहाँ आप कोष्ठकों है
और फिर टाइप करें.
ध्यान रखें कि.
एक समारोह में कहा कि काम में आते हैं जब आप यह कर रहे हैं
हम का उपयोग करते हुए किया है और एक के रूप में इस तरह के अलग -
हम इस gettype समारोह यहाँ का उपयोग किया गया है
एक चर के प्रकार के लिए बाहर निकालने,
और जब यह debugging के लिए आसान है और देखने के लिए एक चर के प्रकार क्या है
आप उदाहरण के लिए एक शर्त में यह, उपयोग नहीं करना चाहते जहां
आप देखने के लिए अगर $ var = पूर्णांक के gettype कुछ जाँच कर रहे हैं.
यह बुरा, बुरा, बुरा है.
इसके बजाय वहाँ इन पूर्णांक है बुलाया कार्य कर रहे हैं, स्ट्रिंग है,
सरणी है कि आप बदले उपयोग करना चाहते है, तो इस मामले में
क्या मैं इस आदमी के बजाय सही यहाँ करना चाहते हैं होगा
पूर्णांक var का उपयोग करें.
और वे अक्सर संदर्भित किया जाता रहे हैं समझ में आता है कि आप पूर्णांक के साथ की जगह ले सकता है * में is_ * है,
स्ट्रिंग, वगैरह, और सिर्फ सच में जल्दी सुनिश्चित करने के लिए
है इस int PHP है.
ऐसा लगता है जैसे कि आप कर सकते हैं या तो int है या वहाँ पूर्णांक के रूप में अच्छी तरह से है?
हाँ, उर्फ, int पूर्णांक फर्जी नाम.
कूल.
>> हम कैसे कर रहे हैं?
चलो गति एक छोटा सा लेने.
अब हम arrays के बारे में बात करने जा रहे हैं, तो आप देख सकते हैं
कल्पना के अगले भाग में हम कैसे PHP में arrays के बारे में बात करते हैं
थोड़ा अलग से वे सी में हैं
सच में, वे का एक मिश्रण की तरह कर रहे हैं
arrays कि आप जानते हैं और सी में प्यार करने के लिए आया हूँ
जहां सब कुछ एक ही प्रकार की है
स्मृति में लगातार और समीप से संग्रहीत,
और आप इन संख्यात्मक सूचकांकों है.
आप सूचकांक 0, 1 सूचकांक, सूचकांक में 2 है,
और आप उन इंडेक्स में मूल्यों की दुकान.
सी, जब आप स्पेलर लिखा है, आप में से एक बहुत में भी आप
हैश तालिका दृष्टिकोण था, और तुम्हें देखा है कि वहाँ हम था
भंडारण की एक अलग तरह है जहाँ हम मानचित्रण थे
एक मूल्य के लिए एक महत्वपूर्ण है, इसलिए जब आप हैश तालिका में कुछ की दुकान करने की कोशिश की
आप निर्दिष्ट कर सकते हैं कि आप के लिए यह एक विशेष कुंजी के साथ दुकान चाहता था,
और कहा कि महत्वपूर्ण मूल्य के स्थान और इसे जमा किया जाएगा जहां निर्धारित की.
आप की तरह उन दोनों अवधारणाओं के एक PHP सरणी में एक ही समय में हो रहा है मिल गया है,
और एक परिणाम के रूप में, हम अक्सर इन साहचर्य arrays कॉल
हम एक मूल्य में जहां एक प्रमुख जोड़ रहे हैं.
यह अगले भाग में हम एक सरल PHP सरणी के बारे में बात करते हैं
जहाँ हम कुंजी एक, ख, ग और है,
सभी तार, integers 1, 2 के लिए मानचित्रण, और 3.
और आप विभिन्न प्रकार की कुंजी हो सकता है.
>> आप कुछ कुंजी है कि तार कर रहे हैं, कुछ कुंजी है कि पूर्णांक हैं हो सकता है.
आप विभिन्न प्रकार के मान हो सकते हैं.
आप एक मूल्य है कि एक स्ट्रिंग है, एक मूल्य है कि एक पूर्णांक हो सकता है,
एक मूल्य है कि एक वस्तु या एक सरणी है, उदाहरण के लिए,
सभी एक ही सरणी वस्तु में है, जो अजीब तरह का है.
आप एक सरणी है कि बस में तत्व का एक प्रकार है नहीं है.
आप कई अलग अलग चीजें वहाँ में चल रहा हो सकता है.
दूसरी बात नोट करने के लिए है कि, जब आप अपने कोड में कुछ इस तरह देखना
जो वैध PHP है सिर्फ इस तरह एक सरणी, 0, 1, 2, 3, 4, 5 की घोषणा
कि एक initialized $ आगमन की घोषणा करने के लिए इस सरणी होगा.
लेकिन क्या आप वास्तव में हुड के तहत हो रही है की इस तरह की है अंतर्निहित
चाबियाँ जहां हम 1 0 0, 1 के लिए मिल गया है, 2 से 2, 3 के लिए 3 से पीढ़ी.
और यह पता चला है कि भले ही आप इस आदमी की तरह एक सरणी यहाँ है
जहाँ आप कुंजी के रूप में एक, ख और ग
और फिर आप सरणी धक्का विधि का उपयोग करने के लिए एक ढेर की तरह इस सरणी का उपयोग शुरू शुरू,
तो आप देख सकते हैं कि इस सरणी वस्तु वास्तव में इस सरणी अतिभारित होता जा रहा है.
हम इसे एक सरणी के रूप में उपयोग कर सकते हैं. हम इसे एक हैश तालिका के रूप में उपयोग कर सकते हैं.
हम इसे एक ढेर के रूप में उपयोग कर सकते हैं.
जब आप इस सरणी पर बातें धक्का शुरू
पहली बात आप इस पर धक्का 0 सूचकांक और फिर 1 सूचकांक और सूचकांक में 2 होगा.
तुम चाबी की अंतर्निहित पीढ़ी के इस तरह मिल सकती है
जब तक आप उन्हें स्पष्ट रूप से निर्दिष्ट.
जिस तरह से आप चाबियाँ स्पष्ट रूप से निर्दिष्ट, ज़ाहिर है, इस ब्रैकेट अंकन का उपयोग करके है,
जो के बजाय ही अनुमति के अलावा arrays के लिए समान है
यहाँ में पूर्णांक सूचकांक, अब हम कुछ भी अनुमति देते हैं.
यदि आप अपने कुंजी एक स्ट्रिंग होना चाहता हूँ, आप इसे इस तरह निर्दिष्ट करता हूं.
यदि आप इसे एक int के लिए करना चाहते हैं, तो आप यह int आप उपयोग करना चाहते हैं के साथ निर्दिष्ट.
>> है कि अभी तक कोई प्रश्न?
इस विचार के बारे में अच्छी बातें की
यह है कि आप केवल कभी एक एक विशेष कुंजी के साथ संग्रहीत मान सकते हैं.
अगर हम पर हमारे लिए वापस जाना उपकरण मुझे इस सामान में से कुछ नष्ट.
और हम कहते हैं कि मैं एक सरणी इनिशियलाइज़ 0, 1, 2, किया जा.
अगर अब मैं जानता हूँ कि, उदाहरण के लिए, अगर मैं $ arr [0] गूंज
मैं मान 0 बाहर मुद्रित करने के लिए जा रहा हूँ,
और के बाद से वहाँ केवल कभी एक विशेष कुंजी के लिए एक मूल्य संग्रहीत किया जा सकता है
अगर मैं $ आगमन में कुछ की दुकान [0], एक कहते हैं,
तो मुझे पता है कि जब मैं आगमन $ [0] फिर से गूंज
मैं 0 से पहले के रूप में बाहर मुद्रित नहीं जा रहा हूँ.
मैं केवल एक पाने के लिए जा रहा हूँ.
तो यह मूल रूप से कह रहा है कि मैं $ arr [0] भंडारण 2 विभिन्न मूल्यों नहीं हो सकता है.
यह दोनों 0 और स्ट्रिंग की दुकान नहीं है, सचमुच इस तरह कर सकते हैं की जगह
क्या $ arr [0] पहले किया गया था.
कारण है कि मैं इस ऊपर लाने के लिए इसे चलाया जाता है, देखो क्या होता है.
यहाँ देखें कि मैं 0 बाहर मुद्रित और फिर एक यहाँ नीचे मिला.
कोई नई लाइन है क्योंकि मैं आलसी था और था कि अंदर डाल नहीं
इस बारे में अच्छा है क्या है हम एक मार्ग के रूप में उपयोग कर सकते हैं
एक सेट के इस विचार पर कब्जा
हम जहां एक सरणी के भीतर कई कुंजी नहीं हो सकता.
हम समान कुंजी एक सरणी के भीतर नहीं हो सकता.
मैं कुंजी 0 और 1 मूल्य और कुंजी 0 और एक मूल्य के नहीं हो सकता है
या कुंजी 0 और मूल्य सच.
चाबियाँ हैं सब वहाँ सरणी में केवल 1 कुंजी है.
भले ही आप एक ही संग्रहीत मान सकते हैं
सरणी में कई बार अलग अलग कुंजी के तहत
समान चाबियाँ अपने PHP सरणी में कई बार यह संभव नहीं है.
>> यदि हम यह अगले समस्या पर देखो, unique.php,
जहां हम एक PHP फ़ाइल खोलना चाहते हैं
तारों की एक सूची है, प्रति पंक्ति एक स्ट्रिंग युक्त,
और हम उस फ़ाइल में अद्वितीय तार के सभी चाहते हैं
हम सभी को करना है इन PHP arrays का उपयोग
और चाबी के रूप में फ़ाइल में तार इस सरणी के लिए उपयोग
और हमारे सरणी अद्यतन रखने के रूप में हम इन नई चाबी की दुकान.
जैसा कि हम फ़ाइल की प्रत्येक पंक्ति से बाहर पढ़ने के लिए हम यह सरणी में स्टोर कर सकते हैं,
और अंत में हम हमारे कुंजी के रूप में हमारे सरणी में होगा
फ़ाइल के भीतर अद्वितीय तार के सभी.
क्या इसका यह मतलब है?
चलो यह कैसे काम करता है देखना.
हम कल्पना के अनुसार, खोलने के लिए जा रहे हैं, एक नई फ़ाइल unique.php बुलाया.
खोलें. ओह, माफ करना, नए फ़ाइल.
हम इसे एक ही शुरू और अंत के टैग के साथ बंद शुरू करने के लिए जा रहे हैं.
हम यह धारा 9 में बचाने के लिए जा रहे हैं, और हम यह unique.php कॉल करने के लिए जा रहे हैं.
ठीक है, अब ज़ूम
यहाँ विचार एक फ़ाइल खोलने के लिए है,
फ़ाइल लाइन से लाइन में पढ़ा.
फ़ाइल में प्रत्येक पंक्ति के लिए
हम एक सरणी है जहाँ हम
हमारे प्रमुख के रूप में लाइन.
और फिर जब हम अंत के लिए यहाँ प्राप्त
$ Arr चाबियाँ अद्वितीय लाइनों
फ़ाइल के बाद से हम जानते हैं कि अगर मैं इस सरणी में लाइन डाल
कई बार यह सिर्फ पुराने मूल्य अधिभावी रखना होगा,
और हम वास्तव में सरणी लाइन डाल सकते हैं के रूप में खुद को बस की तरह है कि.
>> यह अजीब तरह का है.
हम और अधिक और अधिक से अधिक एक ही कुंजी मान जोड़ी फिर से भंडारण कर रहे हैं,
लेकिन जब से हम गारंटी है कि वहाँ केवल 1 लाइन कहा जाता है के लिए महत्वपूर्ण होगा
इसलिए यदि हम एक फ़ाइल है कि कहते हैं एक जानवर शोर से फ़ाइल है और यह woof woof है,
म्याऊ, म्याऊ, राँभना, राँभना, और हर बार हम एक जानवर बाहर शोर पढ़ा
woof की तरह है और हम इसे हमारे सरणी में स्टोर हम woof मिलता है, और फिर दूसरी बार
हम woof दुकान यह पहली बार है कि हम इसे संग्रहीत अधिलेखित जाएगा.
अंत में हम केवल सरणी में एक प्रविष्टि होगा
हमारे पशु शोर फ़ाइल में पशु शोर से प्रत्येक के लिए.
क्या तुम लोगों को विश्वास है कि आप PHP में एक फ़ाइल के उद्घाटन से निपटने कर सकते हैं लग रहा है?
एक तरीका यह चलो यह जल्दी से एक रास्ते पर जाने के लिए यह करना
fopen के साथ है, जैसा कि हम पहले देखा था.
आप fopen some_file.txt कर सकते हैं.
आप इसे पढ़ने के मोड में खोल सकते हैं, बस सी. में तरह
यह पूरी तरह से एक अच्छा तरीका यह करना है.
आप लाइन द्वारा फाइल लाइन में पढ़ने के लिए फिर भी
एक ही काम करता है, उनमें से कई सी. में, कि तुम किया है
तुम fgets है.
तुम feof है, हालांकि हम उस उपयोग पसंद नहीं है
क्योंकि, याद है, कि सी में बहुत अच्छा नहीं था
आप इसे उसी तरह से कर सकते हैं,
लेकिन यहाँ एक बहुत अच्छी बात है.
क्षमा करें, मैं $ फ़ाइल करना नहीं चाहते हैं, लेकिन वहाँ एक समारोह है PHP में फ़ाइल कहा जाता है,
और इस समारोह में सही यहाँ अच्छा है, क्योंकि यह संपूर्ण सामग्री पढ़ता
फ़ाइल है कि आप निर्दिष्ट करते हैं, तो some_file.txt की,
एक सरणी में इस फाइल की संपूर्ण सामग्री को पढ़ता
और फिर की मदद से आप इसे खत्म पुनरावृति, जो सुंदर गंधा है.
>> अगर हम उदाहरण के लिए जाते हैं, हमारे वेब ब्राउज़र
और हम PHP फ़ाइल के लिए गूगल पर देखो
आप यहाँ देख सकते हैं कि हमारे मैनुअल का कहना है कि फ़ाइल एक सरणी में पूरी फाइल पढ़ता कर सकते हैं,
और हम एक स्ट्रिंग के रूप में एक फ़ाइल की सामग्री वापस file_get_contents कर सकते हैं,
लेकिन आम तौर पर सिर्फ यह एक सरणी के रूप में हो रही है क्योंकि यह क्या करता है वास्तव में अच्छा है
यह इतना टूट जाता है कि प्रत्येक तत्व
सरणी में फ़ाइल की एक पंक्ति है,
यदि ऐसा है तो हम 0 फ़ाइल को देखो, कि फ़ाइल की पहली पंक्ति है.
फ़ाइल 1, 2 लाइन, फ़ाइल 2, 3 लाइन, और इतने पर और इतने पर.
यह अच्छा नहीं होगा कि अगर तुम सी में करना पड़ा था?
सुंदर गंधा.
दाऊद ने व्याख्यान में यह पता चला है, और मुहावरा उन्होंने दिखाया था
कि हम पाश में PHP के लिए हमारे मानक के अलावा में था कि
($ i = 0; i <10; मैं + +),
और आप PHP में यह भी कर सकते हैं, एक ही बात -
हम भी इस शांत foreach कहा जाता है का निर्माण किया है.
Foreach वास्तव में आसान है जब arrays या इन आंकड़ा संरचना पर iterating
क्योंकि यह आप सरणी के प्रत्येक तत्व खींचने के लिए अनुमति देता है
बिना मैन्युअल अनुक्रमण अपने आप को क्या कर रहे,
स्वयं एक सूचकांक चर बनाने के लिए होने के बिना, यह वेतन वृद्धि,
उस बिंदु पर सरणी में मूल्य खींच, क्योंकि वह एक बहुत ही आम बात है.
>> तुम शायद किया है कि बार जब आप सी सामान कर रहे थे टन
सेमेस्टर से अधिक है, तो इस foreach साथ
हम इस फ़ाइल सरणी पर पाश कर सकते हैं,
और वाक्यविन्यास है कि हम अब इस सरणी पर पाश के लिए चाहते हैं
निर्दिष्ट और है कि हम जा रहे हैं चर स्टोर करने के लिए उपयोग करने के लिए
स्थानीय स्तर पर इस सरणी के तत्व, इस foreach पाश की गुंजाइश के लिए स्थानीय,
हम यह लाइन कॉल करने के लिए जा रहे हैं.
यदि यह सिर्फ शब्दों की एक फ़ाइल है और वहाँ एक पंक्ति में एक शब्द है
हम यह शब्द के रूप में अच्छी तरह से कह सकते हैं, वास्तव में सिर्फ आप इस एक नाम दे,
जो कुछ भी तुम इसे कॉल करना चाहते हैं,
और फिर पाश अंदर आप जो कुछ भी आप चाहते हैं इस चर लाइन के साथ कर सकते हैं.
यदि यह सरणी के मूल्य प्राप्त करने के लिए पर्याप्त नहीं है और आप भी प्राप्त करना चाहते हैं
इसके साथ साथ सूचकांक सूचकांक के लिए एक नाम निर्दिष्ट कर सकते हैं
मूल्य के रूप में के रूप में अच्छी तरह से है, और अब आप 2 चर के लिए उपयोग किया है.
आप $ मैं और रेखा
जहां $ मैं सरणी में सूचकांक है,
और रेखा है कि आप फ़ाइल से पुनः प्राप्त है.
उदाहरण के लिए, अगर हम बाहर गूंज फ़ाइल के इस रूप रेखा 0 मुद्रित करना चाहता था
हम सिर्फ इस तरह कर सकता है, "$ फ़ाइल की लाइन मैं $ पंक्ति है,"
और यहाँ कुछ हम भी अभी तक नहीं देखा है
जहां मैं अभी पूरी तरह से इस पूरे% s% d व्यापार पर छोड़
कि हम में सी के साथ सौदा किया था, और इसके बजाय मैं सीधे चला गया है
मेरे स्ट्रिंग में लाइन में चर लेखन.
>> यह चर प्रक्षेप, स्ट्रिंग प्रक्षेप कहा जाता है
आप सही में जहां चर भराई कर रहे हैं, और PHP दुभाषिया
काफी स्मार्ट है जब यह एक स्ट्रिंग है कि डबल के साथ शुरू होता है के माध्यम से पढ़ रहा है उद्धरण
नहीं एकल उद्धरण, एकल उद्धृत तार के साथ आप इस नहीं कर सकते हैं
लेकिन डबल उद्धृत तार के साथ के रूप में इसे पढ़ता के माध्यम से यह चर के लिए लग रहा है.
यह उन्हें शिकार नीचे, और अगर यह चर देखता है यह चर का मान ले जाएगा
और यह सामान स्ट्रिंग में अगर यह एक स्ट्रिंग प्रतिनिधित्व में परिवर्तित कर सकते हैं,
जो सुंदर गंधा है.
अभी के लिए, चलो बाहर सब कुछ के बाकी टिप्पणी,
इसे बचाने के लिए, और अब हम क्या कर सकते हैं हम एक फ़ाइल खोल सकते हैं
कि हम some_file.txt चलो बनाने के लिए कॉल कर सकते हैं एक नई फ़ाइल
और हम यहाँ बकवास सामान की एक गुच्छा में डाल बस सब कुछ परीक्षण के लिए बाहर कर सकते हैं,
इसे बचाने के लिए, यह some_file.txt कहते हैं, के रूप में मैं कर रहा हूँ यहाँ शीर्ष पर,
और अब अगर मैं बाहर ज़ूम करने के लिए यकीन है कि सब कुछ उसी में निर्देशिका
ऐसा लगता है जैसे मैं unique.php और एक ही निर्देशिका में some_file.txt है.
अगर मैं php unique.php चलाने
देखते हैं कि यह कैसे मेरे फ़ाइल में प्रत्येक पंक्ति प्रिंट और रेखा क्या है?
>> यह बहुत शक्तिशाली है, है ना?
देखो, यह कोड की 3 लाइनों लिया एक फ़ाइल खोलने की.
खैर, कोड के 4 लाइनों. मैं आज गिनती नहीं है, स्पष्ट रूप से कर सकते हैं.
लेकिन वास्तव में कोड की सिर्फ 2 दिलचस्प लाइनों, क्योंकि अन्य 2 घुंघराले ब्रेसिज़ थे,
लेकिन यह बहुत कोड में हम एक फ़ाइल खोलने, इसके माध्यम से पुनरावृति करने में सक्षम थे,
लाइन संख्या और लाइन ही खींच
और इसे बाहर प्रिंट.
ठंडी चीजें. Charlotte.
[Charlotte] मैं सिंटैक्स के बारे में एक सवाल है.
तो है कि आप खुले फ़ाइल का हर एक लाइन के साथ सौदों foreach
और फिर जब आप हर एक लाइन के साथ काम करना चाहते हैं आप सिर्फ यह के रूप में करते हैं
और फिर मूल्य सहयोगी.
[नैट एच.] क्या आप सही कर सकते हैं यहाँ सवाल था
foreach सरणी के साथ क्या करना है तो, foreach वाक्यविन्यास
वास्तव में foreach, और सूचना है कि वहाँ कोई जगह नहीं है
या के लिए और प्रत्येक के बीच कुछ भी.
वे ठीक एक दूसरे के बगल में जाना है,
और फिर इसे एक सरणी में लेता है,
और फिर आप यह अन्य कीवर्ड कि वहाँ हो गया है के रूप में कहा जाता है,
और फिर बाद के रूप में आप या तो एक चर नाम रख सकते हैं,
जो मामले में आप के लिए बाहर खींच सरणी के मूल्यों के लिए जा रहे हैं,
इंडेक्स नहीं है, या आप इसे करते हैं जैसा कि हम नीचे लिखा है अगर
आप कुंजी और मूल्यों मिलता है.
आप या सरणी के सरणी जोड़ी के foreach तत्व के रूप में मूल्य के लिए बंद
या बस के रूप में मूल्य.
तुम क्या जरूरत पर निर्भर करता है, अगर तुम चाबी की जरूरत नहीं है,
तो आप मूल्य के साथ जा सकते हैं.
यदि आप चाबियाँ चाहते हैं कि आप उन लोगों के साथ भी जा सकते हैं.
>> [Charlotte] मैं यह भी महसूस किया कि हम कभी नहीं या मैं लाइन घोषित.
यह भी पता नहीं है कि वे क्या कर रहे हैं?
[नैट एच.] क्या आप की घोषणा से क्या मतलब है?
[Charlotte] हम बताया कि उन्हें कभी नहीं क्या मैं या लाइन का मतलब है.
[नैट एच.] हमें बताया मैं या रेखा क्या शब्दों में इसका मतलब कभी नहीं कंप्यूटर के
[Charlotte] है कि वे या अनुक्रमित रहे हैं कि they're
[नैट एच.] हमें बताया गया है कि इस सूचकांक या कुंजी और मूल्य माना जाता है कभी नहीं,
और है कि क्योंकि कि PHP दुभाषिया है.
इस घोषणा के रूप में कार्य करता है और ठीक कहते हैं, कुंजी को होने जा रहा है
एक चर बुलाया मैं मैं चर बुलाया में संग्रहीत.
मूल्य एक चर नामक लाइन में जमा किया जा रहा है,
तो यह इन चर के घोषणा के रूप में कार्य करता है
कहते हैं और मैं एक कुंजी है, और $ लाइन एक मूल्य है.
हाँ, एला.
[एला] यदि चाबी संख्यानुसार नहीं किया जाता है
यह कैसे तय करता है कि क्या यह आदेश करने के लिए सब कुछ प्रिंट जा रहा है?
यह सिर्फ यह आदेश में दर्ज किया गया है पसंद है?
[नैट एच.] चलो यह एक कोशिश दे.
चलो आगमन चर बुलाया बनाने,
और हम क्या कर सकते हैं एक 7 करने के लिए चला जाता है.
1, 2, सेब, या के साथ कहते हैं कि 0 एक सरणी के लिए चला जाता है.
चलो कहते हैं कि 7 1 के लिए चला जाता है, बी 2 के लिए चला जाता है,
और 3 4 के लिए चला जाता है.
यह एक पागल उदाहरण की तरह है क्योंकि हम मिश्रण हो
सभी जगह पर तार और integers.
इस सरणी के लिए कोई वास्तविक आदेश है.
मेरा मतलब है, हम चाबी से वर्णमाला क्रम में सब कुछ आदेश सकता है.
हम सब कुछ मान द्वारा वर्णानुक्रम आदेश सकता है.
>> हम कोशिश करते हैं और खाते में ले सकता है कि कुछ तार कर रहे हैं, कुछ ints हैं,
और हम कोशिश करते हैं और एक ही प्रकार के लिए उन सभी को परिवर्तित कर सकता है और देखो क्या होता है,
या हम उन्हें मूल्य में जो हम पहले से ही उन्हें प्रवेश में विचार कर सकते हैं
जहाँ हम पहली बार में इस आदमी डाल, 2, 3 में इस आदमी में इस आदमी,
4, वगैरह में इस आदमी.
चलो देखते हैं क्या होता है जब हम इस कोड को चलाने.
अगर हम नीचे स्क्रॉल और बात की ही तरह करते हैं,
और यहाँ यह मुद्रण नहीं नई लाइनें है.
जब यह चीजों को फाइल से बाहर पढ़ने के लिए यह मूल्यों में नई लाइनों को भी शामिल किया गया था,
जो क्यों यह था बाहर अच्छी तरह से मुद्रित है, जबकि यहां यह नहीं था,
तो यही कारण है कि सब कुछ एक साथ smushed है.
चलो कि नई लाइन में जोड़ने के बस चीजों को अच्छा बनाने के लिए.
चलो यह फिर से दौड़ना, और तो यहाँ
क्या हुआ देखो.
यह सब कुछ क्रम में हम इसे सरणी में डाल में बाहर मुद्रित.
ऐसा लगता है कि भावना में व्यवस्था बनाए रखना है.
>> Uniques की इस समस्या के लिए वापस जा रहे हैं
जहां हम एक फ़ाइल पुनरावृति करने में सक्षम होना चाहते हैं,
और हम यह some_file.txt दे देंगे,
और हम इस तरह से इसे खत्म पुनरावृति करने के लिए जा रहे हैं.
हमने कहा कि हम एक सरणी का उपयोग सुनिश्चित करना चाहता था कि हम सभी मिला था
वहाँ की अद्वितीय लाइनों, और कहा कि हम वास्तव में आसानी से कर सकता है
सिर्फ एक सरणी है कि हम निश्चित रूप से एक पाश के दायरे से बाहर घोषित में भंडारण के द्वारा,
और हम ने कहा कि अगर हम कुंजी के रूप में हमारे सरणी में फ़ाइल में लाइनों का इस्तेमाल किया
अगर हम एक नकली लाइन में प्रवेश किया हम पिछले मूल्य अधिभावी होगी.
2 कुंजी है कि एक ही सरणी में समान हैं यह कभी संभव नहीं है.
हम कर सकते हैं बस.
हम इस गूंज बयान से छुटकारा सही यहाँ मिलेगा.
यहाँ हम हमारे सरणी में फ़ाइल में लाइन का भंडारण कर रहे हैं
ही कुंजी के रूप में उपयोग.
यह करने के लिए कुछ भी नहीं है, और यह पता चला है कि हम भी इस कुंजी की जरूरत नहीं है.
हम जरूरत नहीं है कि मैं चर.
इस बिंदु पर अगर हम एक और foreach पाश करने के लिए गए थे
और हम प्रत्येक आगमन पर पाश के लिए गए थे
और लाइन अब अगर हम उफ़ गूंज, माफ करना.
हम अल्पविराम का उपयोग नहीं कर सकते हैं. हम कीवर्ड के रूप में इस का उपयोग करने के लिए किया है.
अब अगर हम लाइन गूंज हम फाइल में अद्वितीय शब्दों के सभी मिलना चाहिए.
यदि हम some_file.txt ऊपर जाना,
और हम कहते हैं कि हम सेब, केला, सेब, सेब, केला,
अगर हम बाहर मुद्रण कर रहे हैं, इस फाइल में अद्वितीय शब्दों का हम ही मिलना चाहिए
सेब और केले बाहर मुद्रित करने के लिए.
अगर हम इस बचाने के लिए, अब यहाँ हम वापस में ज़ूम हूँ,
php unique.php, और टा - दा.
हम सफलतापूर्वक फ़ाइल uniqued है.
>> इस समस्या का अंतिम भाग आप पूछ रहा है इस सरणी तरह से पहले आप इसे बाहर मुद्रित
क्योंकि इस सरल उदाहरण में है कि हम सिर्फ किया है
हम अर्थों में भाग्यशाली रहे थे कि फ़ाइल
हम सेब और केले के साथ इस काल्पनिक उदाहरण था.
यह पहले से ही हल किया गया था.
लेकिन सरल तरह कार्य का उपयोग कर आप एक सरणी, जो सुंदर गंधा तरह कर सकते हैं.
अंतिम बात मैं सच में जल्दी के बारे में तुम लोगों के साथ बात करना चाहता था
है कि PHP के इस तरह के सब अच्छी तरह से और अच्छा है, और यह काम सुपर है
जानते हैं कि कैसे करने के लिए अगर तुम कभी थोड़ा जल्दी बातें प्रोग्राम करने की जरूरत है.
उदाहरण के लिए, अगर मैं एक प्रोग्राम है कि, कहते हैं लिखने की जरूरत है,
वर्गों मुझे जाना है और इसे लिखने के सी में नहीं जा रहा हूँ में सब लोग कहते हैं
यह लंबे समय होने जा रहा है.
यह एक दर्द की तरह हो रहा है, खासकर अगर वहाँ फ़ाइलों को शामिल कर रहे हैं,
बस के रूप में आप लोगों को देखा है.
यह इतना अच्छा है कि बस इतना सही यहाँ कोड के साथ
हम एक फ़ाइल के माध्यम से चीर करने में सक्षम थे, सभी अनन्य मानों खींच
और उन्हें बाहर प्रिंट वापस.
>> हालांकि, अपने कार्य के लिए, अपनी परियोजनाओं के लिए,
अगर आप PHP के साथ वेबसाइटों का निर्माण कर रहे हैं शक्ति है कि
हम इस दुभाषिया के माध्यम से हमारे PHP फ़ाइलों को चला रहे हैं,
और दुभाषिया PHP टैग के भीतर सब कुछ संसाधन है,
और सब कुछ अछूता छोड़ने और बाहर परिणाम थूकना.
हम यह करने के लिए HTML प्रोग्राम का निर्माण कर सकते हैं.
अब, अगर हम कल्पना करने के लिए वापस जाओ, कल्पना में पिछले समस्या
सांद्रता के इस विचार के बारे में वार्ता
और ड्रॉप डाउन मेनू बनाने,
जो आप कर सकते हैं या करना चाहते हैं, नहीं हो सकता है क्या कर रहा है अपने अंतिम परियोजना पर निर्भर करता है,
कि उपयोगकर्ता सभी संभव सांद्रता के एक सूची से चयन करने के लिए अनुमति देता है
उनकी एकाग्रता एक.
अब, यह एक दर्द की तरह टाइप करने के लिए इस बाहर है
और यह सब करने के लिए मैन्युअल रूप से, खासकर जब आप सुनिश्चित करने के लिए कर रहे हैं
कि तुम सही जगह में सभी कोण कोष्ठक और सही जगह में सभी उद्धरण,
PHP के साथ आप इस प्रोग्राम करते हैं, कर सकते हैं और आप यह वास्तव में तेजी से कर सकते हैं.
>> चलो देखते हैं कि यह कैसे करना है.
हम एक नई फ़ाइल खोलने जा रहे हैं.
हम हमारे PHP टैग में डाल करने के लिए जा रहे हैं.
हम यह concentrations.php कॉल करने के लिए जा रहे हैं,
और अब जब आप यह कर रहे हैं, एक अच्छी बात की तरह के बारे में सोचने के लिए
जब आप मिश्रण और अपने PHP और अपने HTML मिलान करने के लिए कोशिश कर रहे हैं
पता लगाना है, ठीक है, क्या हिस्सा है कि मैं प्रोग्राम उत्पन्न करना चाहते हैं?
हिस्सा है कि मैं प्रोग्राम उत्पन्न कर सकते हैं क्या है?
यह सच है कि आप अपने HTML के सभी कर सकते हैं
PHP ब्लॉकों के अंदर.
आप तार के रूप में HTML के सभी गूंज कर सकते हैं.
उदाहरण के लिए, अगर मैं PHP के अंदर चयन टैग कर शुरू करना चाहते हैं
मैं गूंज कह सकते हैं, नाम = एकाग्रता का चयन करें कहते हैं,
और फिर नीचे मैं एक और गूंज टैग हो सकता है
या एक और गूंज बुलाया बंद का चयन करें.
यह एक तरीका यह करना है, क्योंकि क्या यह सचमुच में करने जा रहा है
बाहर इस स्ट्रिंग प्रिंट जब यह PHP दुभाषिया के माध्यम से चलाया है,
तो परिणाम HTML होगा.
अगर मैं इस फाइल को बचाने के रूप में यह सही है अब
और मैं php concentrations.php चलाने
मुझे क्या मिला देखो.
मैं इस खुले करीबी का चयन टैग मिला है.
>> यदि मैं यह करने के लिए कर रहे थे और मैं एक फाइल करने के लिए इस परिणाम को बचाने के लिए गए थे,
कहते हैं, प्रतीक्षा concentrations.html, एल की तरह लग रहा है दूसरे के लिए चला गया है ओर
अब अगर मैं यहाँ खोलने concentrations.html आप देखते हैं कि मैं एक मान्य HTML फ़ाइल है.
अजीब तरह का है?
हम PHP का उपयोग कर रहे हैं HTML बनाने के लिए, वैध HTML बना.
जिस तरह से हम यह कर रहे है हम सिर्फ PHP प्रिंट कर रहे हैं
HTML है कि हम यह मुद्रित करने के लिए करना चाहते हैं.
यह सचमुच कैसे PHP वेबसाइटों का काम कर रहे हैं.
जब आप एक वेबसाइट है कि आप की तरह कुछ करने के लिए भेजता है यात्रा
कुछ, कुछ, कुछ डॉट कॉम स्लैश index.php
कंप्यूटर सचमुच index.php बुला रहा है,
यह PHP दुभाषिया के माध्यम से चल रहा है, और जो भी कबाड़ बाहर आता है
यह ब्राउज़र करने के लिए वापस भेज रहा है और हे कह, ब्राउज़र HTML के रूप में इस व्याख्या.
अच्छी बात यह है कि यह एक दर्द होने के लिए लगातार गूंज, गूंज, गूंज, गूंज लिख सकते हैं
और इस तरह के उद्धरण में सब कुछ लगा देना है, इसलिए यदि आप लिखना चाहते हैं
HTML है कि अपने आप को आप इसे इस तरह से कर सकते हैं स्थिर होने जा रहा है,
इसे बाहर डाल दिया है, इसे बंद करें,
और फिर यहाँ आप केवल PHP टैग जो कि आप जानते हैं कि अंदर डाल
आप प्रोग्राम उत्पन्न करना चाहते हैं, और इस मामले में यह उन विकल्प टैग
कि एक दर्द उत्पन्न कर रहे हैं.
>> उदाहरण के लिए, हम एक हजार विकल्प टैग उत्पन्न कर सकता है
कुछ इस तरह, मैं <$ 1000 कर मैं, + +
और कह गूंज विकल्प मान = $ वूप्स, मुझे लगता है कि नहीं कर सकते हैं.
ठीक है, चलो यह एक कोशिश और देखो क्या होता है दे.
$ I और फिर मैं $ कह </ विकल्प.
बल्कि करने के लिए बाहर है कि विकल्प टैग टाइप करने के लिए एक हजार अलग अलग समय की तुलना में
मैं PHP कोड का उपयोग कर रहा हूँ इसे स्वचालित रूप से उत्पन्न करने के लिए, प्रोग्राम.
गंधा की तरह. हाँ.
मुझे लगता है कि यह या तो व्याख्यान या walkthrough में उल्लेख किया जा रहा है, याद
लेकिन उद्धरण चिह्नों के बीच क्या फर्क पड़ता है,
सामान्य लोगों और इन एकल बातें?
वह वास्तव में कुछ है कि मैं गलत यहाँ किया है कि मैं तुम्हें दिखाने के लिए जा रहा था.
एकल उद्धरण कोई विशेष वर्ण अनुमति नहीं है,
तो एक एकल उद्धृत स्ट्रिंग के अंदर सब कुछ शाब्दिक व्याख्या है.
अगर मैं एक \ n एकल उद्धरण के अंदर था और मैं इस उदाहरण के लिए, बचाने के लिए,
और अब मैं यहाँ नीचे जाना है और इसे चलाने के
उफ़, मैं कहाँ जा रहा है?
ओह, यह है क्योंकि मैं $ भूल गया.
>> अब अगर मैं वास्तव में खोलने के, यहाँ, हम इसे एक फाइल करने के लिए टाइपिंग से छुटकारा मिल जाएगा.
हम सिर्फ इसे पढ़ा होगा.
यहाँ आप देखते हैं कि मैं इस शाब्दिक \ n स्ट्रिंग में मिल गया है एक वास्तविक नई लाइन की तरह नहीं,,
और इसी तरह, के बजाय वास्तव में इस चर के मूल्य interpolating
यह मुझे ही, मैं $ जो एक दर्द की तरह है दिया.
इस तरह के आसपास दोहरे उद्धरण चिह्नों का उपयोग करने के लिए है,
और फिर जब आप दोहरे उद्धरण चिह्नों यह वास्तव में होगा उपयोग
ठीक यहाँ में इन चर के सभी के मूल्यों को बैठाना
और भी इस \ n पहचान करने के लिए नई लाइन है कि यह है
\ n नहीं है.
एकल लोगों का उपयोग करना अच्छा है जब आप
अक्षर है कि विशेष वर्ण के रूप में व्याख्या की जा सकती है, क्योंकि तब आप नहीं है
उन्हें लगातार बच.
चीजें अस्त हो सकता है और अक्सर जिस तरह से मैं यह कर,
बस चीजों को आसान बनाने के लिए है, कि अगर मैं कुछ भी करने के लिए जा रहा हूँ
मेरे कोड में HTML की तरह मैं एकल उद्धरण के भीतर संपादित शामिल करेंगे
और फिर इस संयोजन ऑपरेटर का उपयोग
अंदर चर जुटना
यह इसे करने का एक और तरीका है
जहां हम डॉट कि कनेक्ट करने के लिए जा रहा है मिल गया है यह एक स्ट्रिंग है
इस के साथ इस के साथ साथ,
और अब मैं इन दोहरे उद्धरण चिह्नों से बच नहीं है.
मैं इस आदमी का उपयोग करने से बचने के नहीं है.
सचमुच में वे डबल उद्धरण और फिर इस आदमी के रूप में बाहर हो जाएगा ठीक है यहाँ छपी.
यह सब कुछ एक साथ मिश्रण का एक और तरीका है.
>> [छात्र] इसके अलावा, जब आप gettype गूँजती वहाँ सब पर कोई उद्धरण चिह्नों थे.
ठीक है, तो गूंज तरह से समझ में आता है कि आप कोष्ठकों की जरूरत नहीं है में विशेष है.
आप उद्धरण चर के आसपास जरूरी निशान की जरूरत नहीं है,
जैसे कि यह करने के लिए कहते हैं कि मैं echo $ वैध है, और यह एक स्ट्रिंग के रूप में इस व्याख्या के लिए जा रहा है.
यह कलाकारों के लिए जा रहा है, तो हम यह कर सकते हैं, और कि वैध भी है, लेकिन हम इसे ज़रूरत नहीं है.
यह वैकल्पिक है.
इस सप्ताह समस्या सेट में सामान के इस तरह के एक बहुत कुछ करने के लिए बाहर देखो
जहाँ आप मिश्रण रहे हैं और मिलान PHP के साथ HTML
सिर्फ इस तरह, और अब अगर हम वापस स्क्रॉल करें और हम इस दौड़ के
हम देख सकते हैं कि हम विकल्प मूल्यों की एक पूरी गुच्छा है
कि सिर्फ बाहर मुद्रित है.
हम यह सभी HTML है कि वास्तव में जल्दी से हमारे लिए उत्पन्न हो गया है.
मैं यह एक व्यायाम के रूप में छोड़ देंगे.
यह बहुत है कि हम पहले किया था फाइल पढ़ने के समान है.
>> वहाँ एक concentrations.txt फ़ाइल है कि आप नीचे CDN से खींच कर सकते है,
और आप इसे खोलने के एक ही foreach चाल है कि हम पहले किया था का उपयोग कर सकते हैं,
foreach और तुम सिर्फ एक विकल्प है और प्लग में गूंज
उचित मूल्यों, उपयुक्त कुंजी और सूचकांक,
और फिर तुम एक बूंद कि नीचे सचमुच बनाता
प्रोग्राम आप हार्वर्ड में अलग सांद्रता के सभी के लिए.
एक आसान बात है.
इस काम के लिए विन्यास सामान की एक बहुत कुछ है.
अगर तुम नहीं किया है कि यह पहले से ही अगले आधे घंटे, घंटे ले,
कुछ समय आज रात निश्चित रूप से सुनिश्चित करने के लिए,
समस्या सेट कल्पना के माध्यम से चलते हैं,
देखने के लिए क्या vhosts, स्थानीय मेजबान, वह सब सामान की स्थापना के साथ जा रहा है.
एक बात सही अब बात यह है कि
सबसे ज्यादा समस्या सेट में हम अपने ड्रॉपबॉक्स फ़ोल्डर में जा रहा है
और फिर समस्या सेट ज़िप फ़ाइल डाउनलोड करने और इसे unzipping.
इस समस्या सेट के लिए आप नहीं करना चाहती.
आप इस vhosts निर्देशिका में जाना चाहते हैं.
आप vhosts में जाने के लिए और इसके भीतर स्थानीय मेजबान निर्देशिका में जाना चाहता हूँ,
और यह है जहाँ आप नीचे ज़िप फ़ाइल खींच चाहता हूँ,
इसे खोल देना, और जाने के लिए तैयार हो जाओ.
तुम कदम बारीकी से पालन करना होगा.
>> यदि आप कोई प्रश्न हैं, ईमेल भेजने के लिए, पर पोस्ट पर चर्चा करें, कार्यालय घंटे के लिए आते हैं.
लोगों को धन्यवाद. अगले सप्ताह हम प्रश्नोत्तरी के लिए एक समीक्षा सत्र के लिए जा रहे हैं.
अपने पिछले समस्या सेट का आनंद लें. मुझे आशा है कि यह सब सच में अच्छी तरह से चला जाता है.
[CS50.TV]