कंप्यूटरप्रोग्रामिंग

पीएचपी अभ्यास: स्ट्रिंग तुलना

पीएचपी अच्छी जानकारी से निपटने पर केंद्रित है। भाषा की वाक्य रचना तुलना काम करता है, स्ट्रिंग प्रसंस्करण, तुलना ऑपरेटरों की पूरी तरह कार्यात्मक सेट प्रतिनिधित्व किया है।

किसी भी एल्गोरिथ्म - विकल्प और गतिविधियों का क्रम। लेकिन इससे पहले कि आप एक विकल्प बनाने, आप कुछ के साथ तुलना करने के लिए कुछ की जरूरत है। रेखा - सबसे, विशाल कुशल और व्यावहारिक एल्गोरिथ्म नियंत्रण तंत्र। रेखा - डेटा प्रस्तुति का एक संस्करण। एक डेटा - यह किसी भी एल्गोरिथ्म के "देखभाल" का मुख्य विषय है।

साधारण तर्क "तुलना कार्रवाई"

सामान्य तौर पर, गतिशील टाइपिंग जीभ जैसे PHP तुलना पंक्ति के रूप में डेटा में कोई मतभेद नहीं, करता है और संख्या बहुत अलग नहीं है। संख्या - यह भी एक स्ट्रिंग है जब यह केवल नंबर, बिंदु होता है और वहाँ एक भी चरित्र है कि किसी भी रूप (गणितीय संकेतन) में संख्याओं का प्रतिनिधित्व करने के लिए नहीं किया जाता है नहीं है।

kontenkatsii संख्या स्वचालित रूप से लाइन के साथ विलीन हो जाती है, तो कोई सवाल पूछा और कोई छिपी त्रुटियों, भले ही GetType () फंक्शन 'पूर्णांक' या 'दोहरी' देता है।

हालांकि, वहाँ is_int () और is_numeric का उपयोग कर के बीच एक अंतर है ()। पहले, सत्य देता है केवल जब पैरामीटर एक पूर्णांक है, दूसरा, जब किसी भी संख्या या न्यूमेरिक स्ट्रिंग (चर प्रकार 'स्ट्रिंग' है, लेकिन सभी प्रदान की गणितीय संकेतन शामिल हैं)।

कैसे एक PHP स्ट्रिंग तुलना ऑपरेटरों (! '==' '=== "...' = ') कई आश्चर्य पेश कर सकते हैं का एक अच्छा उदाहरण - यह एक सरल उदाहरण है। चर उनके प्रकार बदल सकते हैं, वे हमेशा संख्या नहीं हैं, लेकिन लगभग हमेशा वे लाइन हो सकता है। किसी किसी मामले में - इसे रिक्त स्ट्रिंग हो जाएगा।

इसके बाद के संस्करण के आधार पर, एक PHP स्ट्रिंग तुलना समारोह सबसे लोकप्रिय है। वास्तव में क्या चयन करने के लिए, डेवलपर तय करने के लिए। रेगुलर एक्सप्रेशन उपलब्ध विकल्पों में से बहुत सारे।

उपलब्ध कार्यात्मक की सीमाओं

दो पंक्तियों के पीएचपी-तुलना अच्छा है "do" समारोह strpos () - सबसे सस्ता, वफादार और व्यावहारिक विकल्प। यदि का परिणाम समारोह संख्या है, तो स्पष्ट रूप से एक स्ट्रिंग दूसरे करने के लिए एक और या एक भाग के बराबर है।

मौलिक विपरीत, लेकिन यह भी पूरी तरह से सही दृष्टिकोण - नियमित अभिव्यक्तियों का उपयोग।

समारोह $ cResult = scCheckFileName ($ CSTR) देता है 'सही' है, तो लाइन फ़ाइल vordovsky का नाम है। उन्होंने कहा कि '.docx' विस्तार की केवल एक ही विकल्प और नाम में कोई वर्ण हो जाएगा: केवल अक्षर, अंक और अक्षर '_', '-'।

समारोह आसानी से अन्य प्रकार की फ़ाइलें में बदला जा सकता: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / यू '। इस प्रकार एचटीएमएल के लिए सीमा स्कैन लाइन डाउनलोड करने योग्य (जैसे, पीएचपी स्ट्रिंग तुलना "एक सर्वर पर फ़ाइलें अपलोड करने के लिए, इनपुट त्रुटि की कोई संभावना नहीं के साथ" लागू किया जाता है) फैली हुई है, जे एस, सीएसएस, ...

strpos () और () के का उपयोग करना - चरम सीमाओं। वे सीधे तुलना अवधि के मुद्दे से संबंधित नहीं हैं। लेकिन एल्गोरिथ्म के प्रश्न - शैली के संयोजन का उपयोग करने की बात है, सभी अवसरों का उपयोग एक विश्वसनीय और सही परिणाम प्राप्त करने के लिए है।

कार्यात्मक पीएचपी: स्ट्रिंग तुलना

आर्सेनल भाषा की तुलना तार - एक शुद्ध, न केवल तुलना समारोह, लेकिन यह भी एक खोज या स्थानापन्न सीधे का एक संयोजन। हमेशा नहीं, तुलना के साथ मेल खाना के बाद से उत्तरार्द्ध जरूरी किसी भी पंक्ति में बदलाव करने के लिए नेतृत्व नहीं करता है चाहिए काम करते हैं। अक्सर आप एक या एल्गोरिथ्म की अन्य शाखा चुनना है।

सामान्य संस्करण पीएचपी: प्रदर्शन स्ट्रिंग तुलना समारोह पूर्णांक strcmp (S1, S2)।

फ़ंक्शन के परिणाम:

  • 0 - लाइन के बराबर हैं;
  • -1 - पहली स्ट्रिंग सेकंड से भी कम है,
  • 1 - दूसरी पंक्ति से पहले अधिक।

अभ्यास में, इस दूसरे के लिए पहली पंक्ति, पीएचपी समारोह (तुलना पंक्तियों) का फैसला करता है, जो का वह हिस्सा होता है। strpos () का एक और अधिक सीमित संस्करण है, प्रवेश की स्थिति पता करने के लिए, क्योंकि बाद के मामले में यह संभव है।

strcmp () फ़ंक्शन - संवेदनशील। () आप स्ट्रिंग-संवेदी तुलना करने के लिए चाहते हैं, पीएचपी अपनी strcasecmp प्रदान करता है। वाक्य रचना के समान है।

व्यवहार में अक्सर पूरे लाइन के साथ नहीं काम करने के लिए आवश्यक है, लेकिन यह का ही हिस्सा। कार्यों के इस सेट के लिए पीएचपी (स्ट्रिंग तुलना) शामिल strncmp (S1, S2, एन)। तीसरे पैरामीटर केवल एन बाइट्स तुलना प्रदर्शन निर्दिष्ट करता है। परिणाम समान strcmp () है।

सरणी, तार और की तुलना

ये लगभग हमेशा तार द्वारा प्रतिनिधित्व कर रहे हैं। अगर हम सरणियों, वस्तुओं, या डेटा संरचनाओं पर विचार करें, यह एक साधारण स्ट्रिंग संरचनाओं के संयोजन के सिर्फ अलग-अलग रूपों है।

स्ट्रिंग सरणियों और पंक्तियों एक पूरक तरीके से प्रदान की जा सकती है। एक स्ट्रिंग समारोह फटना में सरणी (सरणी, प्रतीक) की परिवर्तन, उदाहरण के लिए: $ margins1 = फटना ( ',', $ style-> getInnerMargin ()); ... एल्गोरिथ्म / उपयोगकर्ता ...; $ Margins2 = फटना ( ',', $ style-> getInnerMargin ()) आप स्ट्रिंग स्थिति में वस्तु स्थिति के सभी मर्ज करने के लिए अनुमति देता है।

इसके बाद आप पीएचपी स्ट्रिंग तुलना प्रदर्शन कर सकते हैं, और एक समय में: $ जांच = strcmp ($ margins1, $ margins2) और सुनिश्चित करें कि एल्गोरिथ्म या उपयोगकर्ता है कि कुछ बदल गया है (या नहीं)। आप हमेशा की तरह एक तुलना प्रदर्शन, तो आप सरणी तत्वों को सॉर्ट करना होगा। यह समय लेता है और अधिक जटिल है।

वस्तुओं और रेखा

और भी शानदार उपयोग पीएचपी (स्ट्रिंग तुलना) वस्तु उन्मुख विचारों के माध्यम से लागू किया जा सकता।

सुविधाओं के आधुनिक विचार सुझाव है कि वे गुण और विधियों है। पूर्व आमतौर पर नंबर, तार, सरणियों, और अन्य वस्तुओं का प्रतिनिधित्व कर रहे। बाद अक्सर शामिल रिकॉर्डिंग तकनीक (डाल) वसूली लाइन में और लाइन से (मिल)।

सरणियों के विपरीत, वस्तु को अपने स्वयं के गुणों के साथ काम करता है और अन्य वस्तुओं के साथ सूचना का आदान। वस्तु "सक्षम" जिसमें उसके गुण एक पूरे के रूप कार्यक्रम के एल्गोरिथ्म के लिए वास्तविक मूल्य के हैं।

इस पल एक आधार है और जब एक स्ट्रिंग केवल आवश्यक जानकारी रिकॉर्डिंग रिकॉर्ड करने के लिए अवसर प्रदान करता है, और रेखा की वसूली में वांछित राज्य में सभी कार्य गुण बहाल करने के लिए। आमतौर पर, किसी भी वस्तु में वहाँ पर्याप्त जानकारी और काम (समय) है। इस विचार के कार्यान्वयन आप न केवल स्मृति, डिस्क स्थान, डेटाबेस रिकॉर्ड को बचाने के लिए अनुमति देता है, लेकिन यह भी यह संभव लाइनों अधिक सरल और सटीक साधन तुलना करने के लिए बनाता है।

सिंटेक्स और शब्दार्थ

पीएचपी गतिशील विकसित कर रहा है, और अपनी कार्यक्षमता दोनों की तुलना तार के मामले और लगातार में उनके इलाज के मामले में सुधार हुआ है। हालांकि, कुछ भी नहीं अर्थ विज्ञान के क्षेत्र में गुरुत्वाकर्षण का केंद्र स्थानांतरित करने के लिए एक डेवलपर से बचाता है।

निस्संदेह, कार्यक्षमता अच्छा है, लेकिन इसके उपयोग की वस्तुओं में कोड के अर्थ में स्थानांतरित किया जा सकता। एल्गोरिथ्म वस्तुओं के बीच बातचीत की एक प्रणाली के रूप में प्रस्तुत किया जाता है, यह अनुक्रम तुलना और प्रत्यक्ष अनुक्रम, एक शास्त्रीय शैली में कार्यों की तुलना में बेहतर लग रहा है।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.unansea.com. Theme powered by WordPress.