"=>" পিএইচপি মানে কি?


99

কী =>অপারেটর নিম্নলিখিত কোড এর অর্থ?

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

কোডটি পিএইচপি.নেটে একটি মন্তব্য। ব্যবহারকারী $user_list, $userবা এর মান নির্দিষ্ট করে না $pass। আমি সাধারণত দেখতে পাই এর =>অর্থ সমান বা তার চেয়ে বড়।

তবে আমি এখানে এর উদ্দেশ্য সম্পর্কে নিশ্চিত নই কারণ এটি অর্পণ করা হয়নি। আমি কোডটি পড়ি

  1. পূর্ণসংখ্যার ব্যবহারকারীদের একটি তালিকা প্রক্রিয়া
  2. যেমন প্রতিটি ব্যবহারকারীর মান পাসওয়ার্ডের চেয়ে সমান বা বড় is

উপরেরটি আমার কাছে বোঝায় না।


আমি আমার উত্তর আপডেট করেছি, 'অ্যারে' কীওয়ার্ডটি ভুলে গেছি।
টাইলার কার্টার


@ আমার দিকে ভুল। দুঃখিত
কাপা

আমি বলব => অ্যারেতে একটি মান নির্ধারিত করে এবং একটি কীকে একটি সূচক হিসাবে ব্যবহার করে। সুতরাং আপনার ক্ষেত্রে, যে অ্যারেটিকে আপনি কল করেন $ ব্যবহারকারী_লিস্ট $ ব্যবহারকারীকে একটি সূচক কী হিসাবে ব্যবহার করে। ফোরচ লুপ লুপ করে এবং সেই অ্যারের প্রতিটি উপাদানকে মান $ পাসের জন্য বরাদ্দ করে।
জুলিয়ান

উত্তর:


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");

ফোরচ স্টেটমেন্টে অ্যারে প্রসেস করার জন্য এটি একই প্রতীক ব্যবহার করে। '=>' কী এবং মানটিকে লিঙ্ক করে।

পিএইচপি ম্যানুয়াল অনুসারে , '=>' কী / মান জোড়া তৈরি করেছে।

এছাড়াও, সমান বা বৃহত্তর থেকে বিপরীত উপায়: '> ='। পিএইচপি-তে বড় বা তার চেয়ে কম চিহ্ন সর্বদা প্রথমে যায়: '> =', '<='।

এবং সাইড নোট হিসাবে, দ্বিতীয় মান বাদ দিলে এটি কাজ করবে না যা আপনি ভাবেন। কেবল আপনাকে কী দেওয়ার পরিবর্তে এটি কেবল আপনাকে একটি মান দেয়:

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

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

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

4
আপনার শেষ উদাহরণটিতে কিছু ভুল আছে, যেহেতু আমি ত্রুটি বার্তাটি পেয়েছি 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)


"সমান বা বৃহত্তর" হ'ল অন্যদিকে: "বৃহত্তর বা সমান", যা পিএইচপি তে এইভাবে লেখা হয়; "> ="
সি: সি ++, জাভা, পিএইচপি, ... থেকে প্রাপ্ত বেশিরভাগ ভাষার জন্য একই জিনিস ...


পরামর্শ এক টুকরা হিসাবে: আপনি শুধু পিএইচপি দিয়ে শুরু হয়, আপনি স্পষ্টভাবে কিছু সময় ব্যয় করা উচিত নয় (হয়তো ঘন্টা দুয়েক, এমনকি অর্ধেক একটি দিন বা এমনকি একটি পুরো দিন) ম্যানুয়াল কিছু অংশ দিয়ে যাচ্ছিলেন :-)
এটা ' আপনাকে অনেক সাহায্য!


6

পিএইচপি-তে একটি অ্যারে হ'ল মানগুলির কীগুলির মানচিত্র:

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

আপনি যদি আপনার অ্যারেতে প্রতিটি কী-মান-জুটির সাথে কিছু করতে চান তবে আপনি foreachনিয়ন্ত্রণ কাঠামোটি ব্যবহার করতে পারেন :

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

Using অ্যারে ভেরিয়েবল হ'ল অ্যারেটি আপনি ব্যবহার করবেন। $ কী এবং $ মান ভেরিয়েবলগুলি foreachলুপের প্রতিটি পুনরাবৃত্তিতে একটি কী-মান-জুটি ধারণ করে । এই উদাহরণে, তারা প্রথমে "হলুদ" এবং 3, তারপরে "সবুজ" এবং 4 থাকবে।

আপনি যদি কীগুলির বিষয়ে চিন্তা না করেন তবে আপনি বিকল্প স্বরলিপি ব্যবহার করতে পারেন:

foreach ($array as $value)

"ফরচ" আসলেই একজন অপারেটর? তোমার কি কোন উত্স আছে?
পিটার মর্টেনসেন

প্রযুক্তিগতভাবে বলতে গেলে এটি একটি নিয়ন্ত্রণ কাঠামো: php.net/manual/en/control-structures.foreach.php আমি সেই অনুযায়ী উত্তর আপডেট করেছি।
Scharrels

4

পিএইচপি-তে অ্যারেগুলি সম্মিলিত অ্যারে (অন্যথায় অভিধান বা হ্যাশ হিসাবে পরিচিত) হয় ডিফল্টরূপে। যদি আপনি স্পষ্টভাবে কোনও মানকে একটি কী বরাদ্দ না করেন, দোভাষী আপনাকে নিঃশব্দে এটি করবেন। সুতরাং, আপনি যে অভিব্যক্তিটি সেখানে উঠে এসেছেন তা পুনরুক্ত করে $user_list, কী হিসাবে উপলব্ধ $userএবং মানটির $passদেহের স্থানীয় ভেরিয়েবল হিসাবে উপলব্ধ foreach


3

$user_list ডাটাগুলির একটি অ্যারে যা লুপ করা হলে এর নাম এবং মানকে ভাগ করা যায়।

এই ক্ষেত্রে এটির নাম $userএবং এটির মান $pass

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.