PHP में "=>" का क्या अर्थ है?


99

=>निम्नलिखित कोड में ऑपरेटर का क्या अर्थ है?

foreach ($user_list as $user => $pass)

कोड PHP.net पर एक टिप्पणी है। उपयोगकर्ता का मान निर्दिष्ट नहीं करता है $user_list, $userया $pass। मैं सामान्य रूप से देखता हूं कि =>इसका मतलब बराबर या उससे अधिक है।

हालांकि, मुझे यहां इसके उद्देश्य के बारे में निश्चित नहीं है क्योंकि इसे सौंपा नहीं गया है। मैं कोड के रूप में पढ़ा

  1. पूर्णांकों में उपयोगकर्ताओं की सूची की प्रक्रिया करें
  2. ऐसा है कि प्रत्येक उपयोगकर्ता का मान पासवर्ड से बराबर या अधिक है

ऊपर वाले को इससे कोई मतलब नहीं है।


मैंने अपना उत्तर अपडेट कर दिया, 'सरणी' कीवर्ड भूल गया।
टायलर कार्टर


@ मासी गलती मेरी तरफ। माफ़ करना।
कापा

मैं कहूँगा => सरणी के लिए एक मान प्रदान करता है और एक इंडेक्स के रूप में एक कुंजी का उपयोग करता है। तो आपके मामले में, जिस सरणी को आप $ user_list कहते हैं, वह $ उपयोगकर्ता को एक इंडेक्स कुंजी के रूप में उपयोग करती है। फॉरेस्ट लूप लूप्स और उस ऐरे में प्रत्येक तत्व को वैल्यू $ पास प्रदान करता है।
जूलियन

जवाबों:


126

=>सहयोगी सरणियों के लिए विभाजक है। उस फ़ॉरवर्ड लूप के संदर्भ में, यह एरे की कुंजी $userऔर मान को निर्दिष्ट करता है $pass

उदाहरण:

$user_list = array(
    'dave' => 'apassword',
    'steve' => 'secr3t'
);

foreach ($user_list as $user => $pass) {
    echo "{$user}'s pass is: {$pass}\n";
}
// Prints: 
// "dave's pass is: apassword"
// "steve's pass is: secr3t"

ध्यान दें कि यह संख्यात्मक रूप से अनुक्रमित सरणियों के लिए भी उपयोग किया जा सकता है।

उदाहरण:

$foo = array('car', 'truck', 'van', 'bike', 'rickshaw');
foreach ($foo as $i => $type) {
    echo "{$i}: {$type}\n";
}
// prints:
// 0: car
// 1: truck
// 2: van
// 3: bike
// 4: rickshaw

22

इसका अर्थ है $ उपयोगकर्ता की कुंजी और $ पास करने के लिए चर असाइन करना

जब आप एक सरणी असाइन करते हैं, तो आप इसे इस तरह से करते हैं

$array = array("key" => "value");

यह फ़ॉर्च स्टेटमेंट में प्रोसेसिंग ऐरे के लिए उसी प्रतीक का उपयोग करता है। '=>' कुंजी और मूल्य को जोड़ता है।

PHP मैनुअल के अनुसार , '=>' ने कुंजी / मान जोड़े बनाए।

इसके अलावा, समान या अधिक से अधिक विपरीत तरीका है: '> ='। PHP में साइन से अधिक या कम हमेशा पहले होता है: '> =', '<='।

और बस एक साइड नोट के रूप में, दूसरे मूल्य को छोड़कर आप जैसा सोचते हैं वैसा काम नहीं करता। केवल आपको कुंजी देने के बजाय, यह वास्तव में आपको केवल एक मूल्य देता है:

$array = array("test" => "foo");

foreach($array as $key => $value)
{
    echo $key . " : " . $value; // Echoes "test : foo"
}

foreach($array as $value)
{
    echo $value; // Echoes "foo"
}

1
आपके पिछले उदाहरण में कुछ गड़बड़ है, क्योंकि मुझे त्रुटि संदेश मिला है Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/cha.php on line 2
लेओ लेपोल्ड हर्ट्ज़ '

अरूप कीवर्ड जोड़ना भूल गया। कोशिश करें कि
टायलर कार्टर

12

कोड की तरह "ए => बी" का अर्थ है, एक साहचर्य सरणी के लिए (कुछ भाषाएं, जैसे पर्ल , अगर मुझे सही याद है, तो उन "हैश" को कॉल करें) , कि 'ए' एक कुंजी है, और 'बी' एक मूल्य है।

आप कम से कम के दस्तावेज़ों पर एक नज़र डालना चाहते हैं:

यहाँ, आपके पास एक सरणी है, जिसे कहा जाता है $user_list, और आप इसके ऊपर, प्रत्येक लाइन, लाइन की कुंजी $user, और संबंधित मान के लिए, उस पर पुनरावृति करेंगे $pass

उदाहरण के लिए, यह कोड:

$user_list = array(
    'user1' => 'password1',
    'user2' => 'password2',
);

foreach ($user_list as $user => $pass)
{
    var_dump("user = $user and password = $pass");
}

आपको यह आउटपुट मिलेगा:

string 'user = user1 and password = password1' (length=37)
string 'user = user2 and password = password2' (length=37)

(मैं var_dumpएक अच्छा आउटपुट उत्पन्न करने के लिए उपयोग कर रहा हूं , जो डीबगिंग की सुविधा देता है; एक सामान्य आउटपुट प्राप्त करने के लिए, आप उपयोग करेंगे echo)


"समान या अधिक" अन्य तरीके से घिरा हुआ है: "अधिक या बराबर", जो इस तरह से PHP में लिखा गया है; "> ="
C: C ++, JAVA, PHP, से प्राप्त अधिकांश भाषाओं के लिए एक ही बात ...


सलाह का एक टुकड़ा के रूप में: तुम सिर्फ पीएचपी साथ शुरू कर रहे हैं, तो आप निश्चित रूप से कुछ समय बिताना चाहिए (शायद कुछ घंटों, हो सकता है यहां तक कि आधे दिन या यहां तक कि एक पूरा दिन) के मैनुअल के कुछ भागों के माध्यम से जा :-)
यह d आपकी बहुत मदद करता है!


6

PHP में एक सरणी मानों की कुंजी का एक नक्शा है:

$array = array();
$array["yellow"] = 3;
$array["green"] = 4;

यदि आप अपने सरणी में प्रत्येक कुंजी-मान-जोड़ी के साथ कुछ करना चाहते हैं, तो आप foreachनियंत्रण संरचना का उपयोग कर सकते हैं :

foreach ($array as $key => $value)

$ सरणी चर वह सरणी है जिसका आप उपयोग कर रहे हैं। $ कुंजी और $ मूल्य चर में foreachलूप के हर पुनरावृत्ति में एक कुंजी-मूल्य-जोड़ी होगी । इस उदाहरण में, वे पहले "पीले" और 3, फिर "हरे" और 4 होंगे।

यदि आप कुंजियों की परवाह नहीं करते हैं तो आप एक वैकल्पिक संकेतन का उपयोग कर सकते हैं:

foreach ($array as $value)

क्या "फॉर्च्यूनर" वास्तव में एक ऑपरेटर है? क्या आपके पास कोई ज़रिया है?
पीटर मोर्टेनसेन

तकनीकी रूप से, यह एक नियंत्रण संरचना है: php.net/manual/en/control-structures.foreach.php मैंने तदनुसार उत्तर अपडेट किया है।
षहरेल्स

4

PHP में ऐरे डिफ़ॉल्ट रूप से साहचर्य सरणियाँ (अन्यथा शब्दकोशों या हैश के रूप में जानी जाती हैं) हैं। यदि आप स्पष्ट रूप से एक मूल्य की कुंजी असाइन नहीं करते हैं, तो दुभाषिया चुपचाप आपके लिए ऐसा करेगा। इसलिए, आपके द्वारा वहां उतारी गई अभिव्यक्ति के माध्यम से पुनरावृत्ति होती है $user_list, जिससे कुंजी उपलब्ध होती है $userऔर $passशरीर में स्थानीय चर के रूप में उपलब्ध मूल्य foreach


3

$user_list डेटा की एक ऐसी सरणी है जिसे जब लूप किया जाता है तो उसे नाम और मूल्य में विभाजित किया जा सकता है।

इस मामले में यह नाम है $userऔर यह मूल्य है $pass

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.