php मूल्यानुसार ॲरेमधील घटक शोधा. PHP: array_search - ॲरेद्वारे द्रुत शोध. साधे आणि सहयोगी ॲरे

मदत करा 03.03.2020
चेरचर

ॲरेमध्ये मूल्य शोधणे जवळजवळ प्रत्येक PHP अनुप्रयोग आणि डेटासह कार्य करणाऱ्या स्क्रिप्टमध्ये आवश्यक आहे, ज्यासाठी अनेक पद्धती आणि विशेष कार्ये आहेत. कार्य आणि शोधाच्या प्रकारावर अवलंबून, आपण त्यांची वैशिष्ट्ये, अंमलबजावणीची गती आणि वापरणी सुलभता लक्षात घेऊन काही साधने वापरली पाहिजेत. पुढे, आम्ही ॲरेमधील घटक, संभाव्य बांधकाम आणि पद्धती शोधण्यासाठी PHP फंक्शन्सशी परिचित होऊ आणि कोणती पद्धत सर्वात वेगवान आहे हे देखील शोधू.

ॲरेमध्ये शोधण्यासाठी कार्ये:
array_search- ॲरेमधील मूल्य शोधण्यासाठी वापरले जाते. यशस्वी झाल्यास, ते शोधलेल्या मूल्याची किल्ली परत करते; PHP 4.2.0 पूर्वी, array_search() अयशस्वी झाल्यावर FALSE ऐवजी NULL परत करत असे.

फंक्शनचे वाक्यरचना मिश्रित array_search (मिश्र सुई, ॲरे हेस्टॅक [, bool strict]).

foreach ($value म्हणून array_expression)
विधान
foreach ($key => $value म्हणून array_expression)
विधान

ॲरे घटक शोधण्यासाठी foreach कंस्ट्रक्टसह फंक्शन वापरण्याचे उदाहरण, यशावर TRUE परत करणे

बांधकाम वाक्यरचना
तर (एक्सप्र)
विधान

यशावरील ॲरे घटकाची की मिळवते

मोजमापांच्या तक्त्यावरून हे कार्य पाहिले जाऊ शकते array_search, लहान आणि मोठ्या ॲरेमध्ये शोधताना सर्वोत्कृष्ट परिणाम दाखवते. त्याच वेळी, ॲरेच्या आकारानुसार लूप वापरून शोध वेळ लक्षणीय वाढतो.

अनेकदा कोड लिहिताना, तुम्हाला ॲरेमध्ये विशिष्ट घटक मूल्य अस्तित्वात आहे की नाही हे तपासावे लागते. आज आम्ही अनेक फंक्शन्स पाहू ज्याद्वारे तुम्ही हे करू शकता.

ॲरेमध्ये घटक मूल्याची उपस्थिती तपासणे विविध प्रोग्रामिंग समस्या सोडवण्यासाठी वापरले जाऊ शकते.

आम्ही आमच्या डेटाबेसमधून विविध ॲरे मिळवू शकतो आणि त्यात विशिष्ट मूल्याची उपस्थिती तपासू शकतो. इच्छित मूल्य आमच्या स्क्रिप्टच्या वापरकर्त्याकडून देखील प्रसारित केले जाऊ शकते, उदाहरणार्थ, जेव्हा तो काहीतरी शोधत असतो. अशा शोधाच्या परिणामांवर आधारित, आपण विशिष्ट क्रिया करू शकता. हे सर्व हातातील विशिष्ट कार्यावर अवलंबून असते, तथापि, ॲरेमध्ये मूल्य शोधण्यासाठी अल्गोरिदम समान असतील.

आज आपण त्यांच्याकडे पाहणार आहोत.

ॲरेमध्ये मूल्याची उपस्थिती तपासत आहे. in_array() फंक्शन

कार्य in_array()आम्हाला ॲरेमधील कोणत्याही मूल्याची उपस्थिती तपासण्याची परवानगी देईल.

जर त्याच्या कामाचा परिणाम यशस्वी झाला आणि इच्छित घटक ॲरेमध्ये सापडला तर फंक्शन परत येईल खरे, म्हणजे, "सत्य."

फंक्शनला 2 आवश्यक पॅरामीटर्स लागतात:<Что ищем>आणि<Где ищем>.

हे आणखी एक पर्यायी पॅरामीटर देखील घेऊ शकते:<Тип данных>. हे तिसरे पर्यायी पॅरामीटर वर सेट केले असल्यास खरे, नंतर डेटा प्रकार देखील तपासला जातो. म्हणजेच ‘२’ आणि ‘२’ एकच होणार नाही. पहिल्या प्रकरणात ती एक स्ट्रिंग आहे, दुसऱ्यामध्ये ती संख्या आहे. आणि मग संपूर्ण कार्य in_array()मूल्य परत करणार नाही खरे.

तुम्हाला हे देखील लक्षात ठेवणे आवश्यक आहे की फंक्शन केस-सेन्सिटिव्ह तुलना करते.

साधे उदाहरण वापरून हे फंक्शन कसे कार्य करते ते पाहू.
आम्हाला काही प्रकारचे ॲरे हवे आहेत. फंक्शन वापरून, आम्ही ॲरेमध्ये मूल्याची उपस्थिती तपासू आणि स्क्रीनवर विशिष्ट संदेश प्रदर्शित करू.

कार्यान्वित झाल्यानंतर, फंक्शन "होय" संदेश प्रदर्शित करेल, कारण "मरीना" हा घटक आमच्या ॲरेमध्ये उपस्थित आहे.

फंक्शनमधील पहिले पॅरामीटर काही अस्तित्वात नसलेल्या घटकामध्ये बदला आणि तुम्हाला "नाही" संदेश दिसेल.

ॲरेमध्ये मूल्याची उपस्थिती तपासत आहे. array_search() फंक्शन

आणखी एक शोध कार्य आहे array_search(), जे, मागील एकापेक्षा वेगळे, सापडलेल्या घटकाची की परत करेल. या बदल्यात, आम्ही सहयोगी ॲरेसह काम करत असल्यास हे उपयुक्त ठरू शकते.

फंक्शन मागील प्रमाणेच पॅरामीटर्स घेते. या प्रकरणात, तिसरा पॅरामीटर देखील पर्यायी आहे.

असोसिएटिव्ह ॲरेसह काम करताना ते कसे वापरले जाऊ शकते ते पाहू.

"ऑक्टोबर","पैसा"=>200,"नाव"=>"मिला"); $key = array_search("मिला",$Mass1); if($key) echo $key; ?>

या प्रकरणात, आपल्याला स्क्रीनवर "नाव" दिसेल, म्हणजेच "मिला" मूल्यासह इच्छित घटकाची की.

ही दोन कार्ये खूप समान आहेत आणि मूलत: फक्त परतीच्या मूल्यामध्ये भिन्न आहेत.

बहुआयामी ॲरेमध्ये मूल्य शोधणे

परंतु आपण बहुआयामी ॲरेसह काम करत असल्यास काय? शेवटी, त्याचे घटक इतर ॲरे असतील.

येथे आपण आधीच चर्चा केलेले अल्गोरिदम कार्य करणार नाहीत.

हे प्रत्यक्षात इतके क्लिष्ट नाही, तुम्हाला फक्त संपूर्ण यंत्रणा थोडीशी क्लिष्ट करणे आणि लूप वापरणे आवश्यक आहे, उदाहरणार्थ, foreach(), जे ॲरेसह उत्तम कार्य करते.

समजा आपल्याकडे एक बहुआयामी ॲरे आहे. त्याची तात्काळ मूल्ये इतर ॲरे आहेत ज्यात घटकाचे इच्छित मूल्य असू शकते.

तुम्हाला फक्त मूळ ॲरेच्या घटकांमधून लूप करायचे आहे foreach(). या ॲरेचा प्रत्येक घटक की ($key) आणि मूल्य ($value) मध्ये पार्स केला जाईल.

मूल्य हे मुख्य बहुआयामी ॲरेच्या आत असलेल्या प्रत्येक ॲरेचे असेल. आम्ही या मूल्यांसह कार्य करू, इच्छित घटक मूल्यासाठी प्रत्येक अंतर्गत ॲरेमध्ये शोधू.

आढळल्यास, आम्ही असे घटक अस्तित्वात असल्याचे सांगणारा संदेश प्रदर्शित करू, आणि नसल्यास, आम्ही दुसरा संदेश प्रदर्शित करू की असा घटक अस्तित्वात नाही.

चला हे सर्व उदाहरण कोडसह पाहू:

"अन्ना","id" =>२३४); $Mass2 = array("name" =>"anton","id" =>24); $Mass2 = ॲरे("name" =>"ivan","id" =>007); foreach($Mass2 $key => $value) ($name .= in_array("ivan",$value); ) if($name) प्रतिध्वनी "ठीक आहे! येथे घटक!"; अन्यथा प्रतिध्वनी "कोणताही घटक नाही!"; ?>

जसे आपण पाहू शकता, प्रथम आपण बहुआयामी ॲरे स्वतः घोषित करतो.

शिवाय, येथे तुम्ही फक्त एक समान चिन्ह नाही तर “.=” लिहावे.

हे केले जाते जेणेकरून $name व्हेरिएबल प्रत्येक पुनरावृत्तीवर ओव्हरराइट केले जात नाही, परंतु पूरक केले जाते. शेवटी, जर पहिल्या पुनरावृत्तीवर एक घटक आढळला आणि $name व्हेरिएबलवर "true" हे मूल्य लिहिले गेले, परंतु दुसऱ्या पुनरावृत्तीवर (म्हणजे दुसऱ्या अंतर्गत ॲरेमध्ये) घटकाचे इच्छित मूल्य उपस्थित नसेल. , नंतर $name व्हेरिएबलचे मूल्य फक्त ओव्हरराईट केले जाईल आणि शेवटी आपल्याला योग्य परिणाम मिळणार नाही.

जसे आपण समजता, या कोडचा परिणाम संदेश असेल “ओके! घटक येथे आहे!

तुम्ही शोधत असलेला घटक अस्तित्वात नसलेल्या घटकामध्ये बदलण्याचा प्रयत्न करा आणि तुम्हाला “घटक नाही आहे!” असा संदेश दिसेल!

अर्थात, जेव्हा एखादा विशिष्ट घटक सापडला किंवा सापडला नाही, तेव्हा आम्ही फक्त संदेश प्रदर्शित करू शकत नाही, तर काही इतर क्रिया करू शकतो. हे सर्व आपल्याला काय करण्याची आवश्यकता आहे यावर अवलंबून आहे. उदाहरणार्थ, इच्छित मूल्य ॲरेमध्ये असल्यास, आपण वापरकर्त्यास काही विशिष्ट माहिती देऊ शकता इ.

आजसाठी एवढेच! मला आशा आहे की धडा स्पष्ट आणि उपयुक्त होता! सर्वकाही पूर्णपणे समजून घेण्यासाठी स्वतः समान कोड लिहिण्याचा प्रयत्न करा.

आणि मी तुमच्या प्रतिक्रियांची वाट पाहत आहे.

सामाजिक बटणे वापरून आपल्या मित्रांसह धडा सामायिक करा. खाली स्थित नेटवर्क. आणि ब्लॉग अद्यतनांची सदस्यता घ्या. आम्ही आधीच उपयुक्त सामग्रीचे बऱ्यापैकी चांगले संग्रहण गोळा केले आहे आणि ते फक्त पुन्हा भरले जातील!

मी तुम्हाला यशस्वी प्रोग्रामिंगची शुभेच्छा देतो!

अण्णा कोटेलनिकोवा तुमच्याबरोबर होती!

(PHP 4 >= 4.0.5, PHP 5)

array_search -- ॲरेमध्ये दिलेल्या मूल्याचा शोध घेते आणि यशस्वी झाल्यास संबंधित की परत करते

वर्णन

मिश्र array_search(मिश्रित सुई, ॲरे गवताची गंजी [, बूल कडक])

सुईच्या मूल्यासाठी गवताची गंजी शोधते आणि ती ॲरेमध्ये असल्यास की परत करते, असत्यअन्यथा.

टिप्पणी:सुई स्ट्रिंग असल्यास, केस-संवेदनशील तुलना केली जाते.

टिप्पणी: PHP 4.2.0 पर्यंत, array_search()अयशस्वी झाल्यास परत केले NULLऐवजी असत्य .

आपण मूल्य पास तर खरेकठोर , फंक्शनसाठी पर्यायी तिसरा पॅरामीटर म्हणून array_search()गवताची गंजी ॲरेमधील सुईचा प्रकार देखील तपासेल.

गवताच्या गंजीमध्ये एकापेक्षा जास्त वेळा सुई असल्यास, सापडलेली पहिली की परत केली जाईल. सर्व सापडलेल्या मूल्यांसाठी की परत करण्यासाठी, फंक्शन वापरा array_key()पर्यायी search_value पॅरामीटरसह.


उदाहरण १: वापराचे उदाहरण array_search()

$array = array(0 => "निळा" , 1 => "लाल" , 2 => 0x000000 , 3 => "हिरवा" , 4 => "लाल");$key = array_search ("लाल" , $ ॲरे ); // $key = 1;
$key = array_search("हिरवा" , $array); // $key = 2; (0x000000 == 0 == "हिरवा")
$key = array_search ("हिरवा" , $array , true); // $key = 3;
?>
लक्ष द्या

हे फंक्शन बुलियन व्हॅल्यू म्हणून परत येऊ शकते असत्य, एक नॉन-बूलियन मूल्य ज्यावर कास्ट केले जाते असत्य, उदाहरणार्थ 0 किंवा "". अधिक तपशीलवार माहितीसाठी, कृपया विभाग पहा बुलियन प्रकार. वापरा ऑपरेटर ===या फंक्शनद्वारे परत केलेले मूल्य तपासण्यासाठी.

प्रोग्रामिंग सिंटॅक्स आणि सिमेंटिक्स बद्दल आहे. प्रथम भाषेच्या नियमांद्वारे निर्धारित केले जाते, दुसरे विकसकाच्या अनुभवाद्वारे. ॲरेच्या संदर्भात, विकसक विशेषतः सिमेंटिक्ससह वाक्यरचना लोड करू शकतो. हे अद्याप एक ऑब्जेक्ट नाही, परंतु पारंपारिक अर्थाने ते यापुढे ॲरे नाही. PHP तुम्हाला स्वतःसह विविध प्रकारच्या व्हेरिएबल्सचे ॲरे तयार करण्याची क्षमता देते. ॲरे घटक हे फंक्शन असू शकते, म्हणजे, वास्तविक अल्गोरिदमसह ॲरे लोड करण्याची क्षमता, वास्तविक अर्थ.

वाक्यरचना स्थिर आहे, परंतु आवृत्ती ते आवृत्ती बदलते आणि नेहमी खालपासून वरपर्यंत सुसंगत असू शकत नाही. प्रोग्राम पोर्टेबिलिटी ही गेल्या शतकातील विसरलेली उपलब्धी आहे. अर्थशास्त्र विकसित होत आहे आणि ते कोणत्याही भाषेच्या कोणत्याही आवृत्तीत लागू केले जाऊ शकत नाही; भाषेच्या नियमांद्वारे जे प्रदान केले गेले नाही ते व्यक्त करण्यासाठी वाक्यरचना वापरण्याची परंपरा बनली आहे. ॲरेचे उदाहरण वापरून हे सर्वात सहज समजले जाऊ शकते.

Arrays बांधणे

PHP मधील ॲरेमध्ये सोयीस्कर वाक्यरचना आणि कार्यक्षमता आहे. हे आगाऊ वर्णन केले जाऊ शकते, परंतु आवश्यकतेनुसार फ्लायवर ॲरे तयार करणे बरेचदा सोयीचे असते.

सार्वजनिक $aNone = ॲरे(); // ॲरेचे वर्णन केले आहे आणि त्यात काहीही नाही

सार्वजनिक $aFact = ॲरे("अवोकॅडो", "पीच", "चेरी"); // या ॲरेमध्ये तीन घटक आहेत

अट तपासताना ॲरे तयार करणे:

$cSrcLine = "विश्लेषित डेटा लाइन";

साठी ($i=0; $i<13; $i++) {

जर (checkFunc($cSrcLine, $cUserLine) (

$aResult = "होय"; // PHP ॲरेमध्ये जोडा

$aResult = "नाही";

हे उदाहरण कार्यान्वित केल्यामुळे, 13 घटकांची ॲरे तयार केली जाईल, ज्याची मूल्ये फक्त "होय" किंवा "नाही" स्ट्रिंग असतील. घटकांना 0 ते 12 पर्यंत अनुक्रमणिका प्राप्त होतील. हाच प्रभाव प्रथम "भविष्य" PHP ॲरेला स्ट्रिंगमध्ये लिहून प्राप्त केला जाऊ शकतो:

$cFutureArray = "";

साठी ($i=0; $i<13; $i++) {

$cUserLine = inputUserLine(); // काहीतरी प्रविष्ट करा

जर ($i > 0) ( $cFutureArray. = "|"; )

जर (checkFunc($cSrcLine, $cUserLine) ( $cFutureArray. = "होय";

) इतर ( $cFutureArray . = "नाही"; )

$aResult = explode("|", $cFutureArray);

बहुआयामी ॲरे

अनेक सामग्री व्यवस्थापन प्रणाली (CMS) मोठ्या प्रमाणात ॲरे वापरतात. एकीकडे, ही चांगली सराव आहे, तर दुसरीकडे, ते वापरणे कठीण करते. जरी लेखकाला "पीएचपी ॲरे ॲरेमध्ये" सिद्धांत समजला असला तरीही, त्याने त्याचा गैरवापर करू नये: केवळ विकसकाला जटिल नोटेशनची सवय लावावी लागणार नाही. बऱ्याचदा, काही काळानंतर, निर्मात्याला स्वतःच त्याने सुरुवातीला काय लिहिले ते बराच काळ लक्षात ठेवेल:

"view_manager" => array(41, "template_path_stack" => array(__DIR__ ."/../view",),

"राउटर" => ॲरे("मार्ग" => ॲरे("सेहेल्लो" => ॲरे(

"type" => "Zend\Mvc\Router\Http\Literal",

"options" => array("route" => "/sayhello", "defaults" => array(

"कंट्रोलर" => "हॅलोवर्ल्ड\कंट्रोलर\इंडेक्स", "कृती" => "इंडेक्स",))))),

"कंट्रोलर्स" => ॲरे("इनव्होकेबल" => ॲरे(

"Helloworld\Controller\Index" => "Helloworld\Controller\IndexController"))

हे ZF 2 मधील "पीएचपी ॲरे मधील ॲरे" सरावाचे उदाहरण आहे. सुरुवातीला फारसे प्रेरणादायी नाही, परंतु ते कार्य करते आणि हे फ्रेमवर्क यशस्वी करते (झेंडस्केलेटनॲप्लिकेशन/मॉड्यूल/हॅलोवर्ल्ड/कॉन्फिग/मॉड्युल.कॉन्फिग.php मधील उदाहरण) .

डिझाईन आणि डेव्हलपमेंट दरम्यान ॲरे ही महत्त्वाची डेटा रचना आहे. त्याची बहुआयामी आवृत्ती एकेकाळी लोकप्रिय होती, परंतु कालांतराने जास्तीत जास्त दोन किंवा तीन परिमाणांच्या ॲरेची आवश्यकता राहिली. अशा प्रकारे हे सोपे आणि स्पष्ट आहे आणि व्यावसायिक दृष्टिकोनातून, जेव्हा एखादी गोष्ट गुणाकार होऊ लागते, तेव्हा याचा अर्थ समस्या विधानात किंवा कोडमध्ये काहीतरी चुकीचे आहे.

साधे, सुलभ आणि समजण्यासारखे

PHP मध्ये ॲरेमध्ये ॲरे तयार करताना, स्वतःला दोन किंवा तीन स्तरांवर मर्यादित ठेवणे चांगले. PHP ची स्थिरता आणि विश्वासार्हता असूनही, सिंटॅक्टिक स्ट्रक्चर्सवर प्रक्रिया करताना ते चुका करते. तुमच्याकडे चांगला कोड एडिटर असल्यास आणि कंस आणि स्वल्पविराम अचूकपणे मोजण्याची सवय असल्यास तुम्ही हे करू शकता. तथापि, PHP डेटा प्रकारांवर नियंत्रण ठेवत नाही (हे आधुनिक प्रोग्रामिंगचे कर्म आहे) आणि विकसकाला सिमेंटिक त्रुटींचा सराव करण्यास अनुमती देते.

व्हेरिएबल्सच्या प्रकारांवर नियंत्रण ठेवण्याचा नियम किंवा सिमेंटिक्सला सिंटॅक्समध्ये बदलण्यासाठी तुमच्या स्वतःच्या कल्पना अनेकदा परवडत नसलेल्या लक्झरी असतात. हे स्क्रिप्ट गती, कोड वाचनीयता, ... हानी आहे कारण कोडिंगमध्ये साधेपणा नेहमीच आवश्यक असतो.

PHP मध्ये एक महत्त्वपूर्ण नकारात्मक वैशिष्ट्य आहे: जेव्हा अनिश्चितता उद्भवते तेव्हा स्क्रिप्ट फक्त गोठते. सर्व डीबगर अनपेक्षित परिस्थिती हाताळू शकत नाहीत आणि बरेच काही विकसकाच्या अनुभवावर आणि अंतर्ज्ञानावर अवलंबून असते. अल्गोरिदम जितका सोपा असेल, माहितीची रचना जितकी अधिक सुलभ असेल, तितकी त्रुटी शोधण्याची किंवा ती पूर्णपणे रोखण्याची शक्यता जास्त असते.

हे वैशिष्ट्यपूर्ण आहे की जेव्हा प्रथम ॲरे दिसू लागले तेव्हा डेटाचे रूपे स्ट्रक्चर्सच्या स्वरूपात प्रस्तावित केले गेले होते - भिन्न डेटा प्रकारांमधून काहीतरी तयार करण्याचा अनाड़ी प्रयत्न. पूर्वीचे टिकले आणि एक नवीन प्रभावी वाक्यरचना प्राप्त केली, तर नंतरचे इतिहास बनले.

साधे आणि सहयोगी ॲरे

द्विमितीय ॲरेसाठी नोटेशन म्हणजे "[" आणि "]" कंसाची दुसरी जोडी, उदाहरणार्थ: $aSrcData म्हणजे $aSrcData ॲरेमध्ये समाविष्ट असलेल्या ॲरे घटकामध्ये प्रवेश करणे. PHP मध्ये आगाऊ डेटा घोषित करण्याची आवश्यकता नाही. कोणतीही नमूद केलेली माहिती नेहमी अस्तित्वासाठी सत्यापित केली जाऊ शकते.

जेव्हा एखादी गोष्ट आवश्यक असते तेव्हाच ती तयार करणे, ज्या स्वरूपात ती आवश्यक असते त्या स्वरूपात तयार करणे आणि जेव्हा त्याची गरज नाहीशी होते तेव्हा ती नष्ट करणे खूप प्रभावी आहे. की (इंडेक्सेस) म्हणून अर्थपूर्ण नावे वापरून, तुम्ही वाचनीय रचना मिळवू शकता जे अल्गोरिदममधील वर्तमान स्थानाच्या संदर्भात अर्थपूर्ण आहेत:

$aAnketa["name"] = "इवानोव";
$aAnketa["वय"] = 42;
$aAnketa["work"] = "दिग्दर्शक";
$aAnketa["active"] = खरे;
$aTable = $aAnketa;

$aAnketa["name"] = "पेट्रोव्ह";
$aAnketa["वय"] = 34;
$aAnketa["work"] = "व्यवस्थापक";
$aAnketa["active"] = खरे;
$aTable = $aAnketa;

$aAnketa["name"] = "अफनास्येव";
$aAnketa["वय"] = 28;
$aAnketa["work"] = "कामगार";
$aAnketa["active"] = असत्य;
$aTable = $aAnketa;

$sOne .= इम्प्लोड ("; ", $aTable) . "
"; // स्ट्रिंगमध्ये दुसरा PHP ॲरे
$sOne .= $aTable["कार्य"]; // दुसऱ्या ॲरेच्या एका घटकात प्रवेश करणे

या उदाहरणाचा परिणाम (पहिला ॲरे सामान्य आहे, त्यातील की 0 पासून सुरू होतात, दुसरा ॲरे सहयोगी आहे, त्यात चार की आहेत: "नाव", "वय", "कार्य", "सक्रिय"):

$sOne = "पेट्रोव्ह; 34; व्यवस्थापक; 1
व्यवस्थापक";

हे साधे उदाहरण दाखवते की तयार केलेली प्रश्नावली सर्व कर्मचाऱ्यांना कशी लागू केली जाऊ शकते. तुम्ही कर्मचाऱ्यांच्या संख्येनुसार इंडेक्ससह कर्मचाऱ्यांची एक ॲरे तयार करू शकता आणि, जर तुम्हाला एखाद्या विशिष्ट कर्मचाऱ्याची आवश्यकता असेल, तर त्याला कर्मचारी क्रमांकानुसार निवडा.

एखाद्या संस्थेमध्ये विभाग असल्यास, किंवा हंगामी कामगार असल्यास, किंवा कार्यरत निवृत्तीवेतनधारकांना स्वतंत्रपणे ओळखण्याची आवश्यकता असल्यास, ... "पीएचपी ॲरे इन ॲरे" डिझाइन अतिशय सोयीस्कर आहे, परंतु आपण कधीही आयामीपणापासून दूर जाऊ नये. प्रभावी उपायासाठी दोन किंवा तीन परिमाणे ही मर्यादा आहे.

ॲरेसह कार्य करण्यासाठी की

जर आधी सर्वकाही कसे व्यवस्थित केले गेले हे महत्त्वाचे असेल, तर अलिकडच्या वर्षांत बायनरी युगाच्या परंपरा, जेव्हा प्रोग्रामरला ॲरेचे घटक नेमके कसे संग्रहित केले जातात आणि त्यांना थेट प्रवेश हवा होता हे जाणून घ्यायचे होते, ते पूर्णपणे विसरले गेले. अनेक कॅरेक्टर एन्कोडिंग दिसू लागले आहेत जे मेमरीमध्ये एकापेक्षा जास्त बाइट घेतात. "बिट" हा शब्द आता फक्त बिट शोध ऑपरेशनमध्ये आढळू शकतो, परंतु PHP ॲरे शोधणे हा एक वेगळा विषय आहे. घटकांमध्ये प्रवेश सोपा आणि सहयोगी असू शकतो. पहिल्या प्रकरणात, ॲरेचे घटक (PHP मध्ये उपलब्ध असलेले कोणतेही प्रकार) 0, 1, 2, ... दुसऱ्या प्रकरणात, प्रोग्रामर स्वतःचा निर्देशांक निर्दिष्ट करतो, ज्याला "की" म्हटले जाते, इच्छित मूल्यात प्रवेश करण्यासाठी.

$aLine["fruit"] = "संत्रा"; // येथे PHP ॲरे की = "फळ"

किंवा (जेणेकरुन पृष्ठ एन्कोडिंग आणि कोडचा आदर करून सर्व काही बरोबर असेल):

$aLine = iconv("UTF-8", "CP1251", "नारिंगी");

$aLine ॲरेमध्ये नवीन मूल्य जोडताना:

$aLine = iconv("UTF-8", "CP1251", "पीच");
$aLine = iconv("UTF-8", "CP1251", "काकडी");
$aLine = iconv("UTF-8", "CP1251", "वांगी");

लूप कार्यान्वित करण्याच्या परिणामी:

foreach ($aLine $ck => $cv) (
$cOne .= $ck . "=" . $cv. "
";
}

प्राप्त होईल:

फळ = संत्रा
0=पीच
भाजी = काकडी
1=वांगी

"पीच" आणि "एग्प्लान्ट" घटक जोडताना ॲरेची PHP की 0 पासून अनुक्रमे तयार होते आणि त्याचे मूल्य निर्दिष्ट करताना ते या मूल्याच्या बरोबरीचे असेल.

ॲरेमधून घटक काढून टाकत आहे

त्याच्या प्रक्रियेदरम्यान सर्वात सोपा मार्ग आहे. या प्रकरणात, उदाहरणार्थ, लूप कार्यान्वित करण्याच्या परिणामी, मूळ ॲरे स्कॅन केला जातो आणि एक नवीन तयार केला जातो, ज्यामध्ये अनावश्यक घटक फक्त लिहिलेले नसतात.

हे सोपे असू शकते. आम्ही शेवटच्या उदाहरणावर लागू केल्यास:

अनसेट($aLine); // ॲरे घटक PHP काढा

मग परिणाम होईल:

फळ = संत्रा
भाजी = काकडी
1=वांगी

ॲरे घटक हाताळण्यासाठी अनेक पर्याय आहेत. उदाहरणार्थ, फंक्शन्स वापरून: implode() आणि explode(), तुम्ही PHP ॲरे एका डिलिमिटरसह स्ट्रिंगमध्ये लिहू शकता आणि वेगळ्या डिलिमिटरचा वापर करून ते पुन्हा दुसऱ्या ॲरेमध्ये पार्स करू शकता.

PHP मधील संपूर्ण ॲरे हटवण्यासाठी फक्त लिहा: unset($aLine);

पुरे झाले.

ॲरेमध्ये शोधा

PHP मध्ये विशेष शोध आणि in_array() फंक्शन्स असतात, परंतु तुम्ही त्यांचा वापर करण्याचा निर्णय घेण्यापूर्वी, तुम्ही स्वतः PHP ॲरे शोध करण्याचा विचार केला पाहिजे.

कोणत्याही प्रकल्पामध्ये विशिष्ट तयार केलेले ॲरे असतात, विशेषत: जेव्हा शब्दार्थाचा काही भाग वाक्यरचनामध्ये हस्तांतरित केला जातो आणि अतिशय विशिष्ट अर्थपूर्ण कीच्या संचाद्वारे दर्शविला जातो. हे तुम्हाला तुमची स्वतःची शोध कार्ये करण्यास अनुमती देते, जे अर्थपूर्ण मार्गाने देखील लेबल केले जाऊ शकते.

PHP मध्ये, तुम्ही अशा फंक्शन्सना कॉल करू शकता ज्यांचे नाव प्रोग्रामच्या अंमलबजावणीदरम्यान निर्धारित केले जाते. PHPWord लायब्ररीचे एक अतिशय व्यावहारिक उदाहरण, जे तुम्हाला MS Word दस्तऐवज वाचण्यास आणि तयार करण्यास अनुमती देते:

$elements = array("Text", "Inline", "TextRun", "Link", "preserveText", "TextBreak",
"ListItem", "ListItemRun", "टेबल", "इमेज", "ऑब्जेक्ट", "तळटीप",
"एंडनोट", "चेकबॉक्स", "टेक्स्टबॉक्स", "फील्ड", "लाइन");

$ फंक्शन्स = ॲरे();

साठी ($i = 0; $i< count($elements); $i++) {
$functions[$i] = "जोडा" . $elements[$i];
}

परिणामी, $functions ॲरेला $elements ॲरेची मूल्ये प्राप्त होतील, म्हणजेच वास्तविक दस्तऐवज घटकांसह कार्य करणाऱ्या रिअल फंक्शन्सची नावे.

$elements वर $functions फंक्शन कॉल करून, तुम्ही परिपूर्ण शोध आणि जलद परिणाम मिळवू शकता.

वस्तूंची क्रमवारी लावत आहे

डेटाचे वर्गीकरण करण्याचे काम महत्त्वाचे आहे आणि PHP यासाठी अनेक फंक्शन्स ऑफर करते: sort(), rsort(), asort(), ksort(), ... चढत्या आणि उतरत्या घटक, दुसरी दोन फंक्शन्स की आणि व्हॅल्यूजमधील संबंध संग्रहित करतात. . कधीकधी ॲरे व्हॅल्यूज यादृच्छिकपणे शफल करणे अर्थपूर्ण असते - shuffle().

वर्गीकरणासाठी PHP फंक्शन्स वापरताना, आपण हे विसरू नये की घटकांमध्ये केवळ भिन्न प्रकार असू शकत नाहीत, परंतु पूर्णपणे नैसर्गिक सामग्री देखील असू शकत नाही. सर्व प्रथम, आपल्याला रशियन अक्षरे, क्रमवारी तारखा, तसेच वेगवेगळ्या स्वरूपात लिहिलेल्या संख्या असलेल्या स्ट्रिंग्सची क्रमवारी लावण्यासाठी खूप सावधगिरी बाळगणे आवश्यक आहे.

किमान स्क्रिप्टच्या चाचणीच्या टप्प्यावर, स्वतः एक आदर्श उपाय लिहिण्याचा सर्वोत्तम मार्ग म्हणजे मॅन्युअल क्रमवारी. हे अनपेक्षित परिस्थितींचा अंदाज घेण्यास मदत करेल.

स्ट्रिंग ॲरे

implode() आणि explode() फंक्शन्सबद्दल धन्यवाद, ॲरे सहजपणे स्ट्रिंगमध्ये बदलले जाऊ शकते आणि परत येऊ शकते. हे तुम्हाला कॉम्पॅक्ट प्रेझेंटेशनमध्ये डेटा संग्रहित करण्यास आणि आवश्यकतेनुसार सोयीस्कर स्थितीत विस्तारित करण्यास अनुमती देते.

स्ट्रिंगमध्ये रूपांतरित केलेला ॲरे नवीन शक्यता उघडतो. उदाहरणार्थ, मजकूरातील कीवर्ड शोधण्याचे कार्य आवश्यक आहे की जे सापडले आहे ते पुन्हा जोडले जाणार नाही.

$cSrcLine = "Text Text ListItemRun TextBox ListItem TextBox चेक बॉक्स चेकबॉक्स टेक्स्टबॉक्स तळटीप";

$aSrc = explode(" ", $cSrcLine);
$cDstLine = "";

साठी ($i=0; $i< count($aSrc); $i++) {
$cFind = "[" . $aSrc[$i] . "]";
जर (! is_integer(strpos($cDstLine, $cFind))) (
$cDstLine .= $cFind;
}
}
$aDst = explode("][", $cDstLine);

$cOne = फुटणे("; ", $aDst);

परिणामी, $cOne व्हेरिएबलला स्त्रोत स्ट्रिंगमधून फक्त तीच मूल्ये प्राप्त होतील जी तेथे एकदा दिसतात: "Text; ListItemRun; TextBox; ListItem; चेक; बॉक्स; चेकबॉक्स; तळटीप".

की आणि अर्थ मध्ये रशियन भाषा

सिंटॅक्टिक स्ट्रक्चर्समध्ये राष्ट्रीय एन्कोडिंगशी संबंधित काहीही वापरण्याची शिफारस केलेली नाही. रशियन, इतर सर्व भाषांप्रमाणे ज्यांचे वर्ण a-z च्या पलीकडे विस्तारित आहेत, डेटा प्रदेशात असल्याने समस्या निर्माण करणार नाहीत, परंतु कोड वाक्यरचनामध्ये नाही. कधीकधी PHP मधील एक साधे कार्य देखील "प्रिंटर किंवा स्क्रीनवर ॲरे आउटपुट करते" मुळे "वेडे बग्स" येतात आणि बऱ्याचदा स्क्रिप्ट फक्त थांबते.

PHP ही एक निष्ठावान भाषा आहे आणि ती राष्ट्रीय एन्कोडिंगला सहनशील आहे, परंतु अशा अनेक परिस्थिती आहेत जेव्हा पूर्ण झालेले काम पुन्हा करावे लागते कारण एक मुख्य मूल्य योग्य ठिकाणी आणि योग्य वेळी पॉप अप होते, जे शक्य नाही. ओळखणे

PHP वाक्यरचना आणि भाषा वातावरण

हे लक्षात ठेवले पाहिजे की PHP वाक्यरचना ही एक गोष्ट आहे, परंतु या वाक्यरचनाची रचना इतर अनुप्रयोगांसह, ऑपरेटिंग सिस्टमसह, हार्डवेअर पर्यायांसह "डील" करते. बरेच पर्याय आहेत, सर्वकाही प्रदान करणे कधीही शक्य नाही.

"कोडमध्ये फक्त कोड आहे, परंतु इनपुट, आत आणि आउटपुटमध्ये सर्व प्रकारची माहिती आहे" हा नियम अनपेक्षित आश्चर्य टाळण्यास मदत करेल. ॲरेमधील PHP व्हॅल्यू "रशियन" असू शकते, परंतु त्यातील किल्ली केवळ दिलेल्या भाषेच्या दृष्टिकोनातूनच नव्हे तर त्याच्या ऑपरेटिंग वातावरणाच्या दृष्टिकोनातून देखील सिंटॅक्टिकली योग्य असणे आवश्यक आहे.



आम्ही वाचण्याची शिफारस करतो

वर