কোনও পিএইচপি সুইচটিতে কোনও 'ওআর' অপারেটর বা সমতুল্য ব্যবহারের কোনও উপায় আছে কি?
উদাহরণস্বরূপ, এর মতো কিছু:
switch ($value) {
case 1 || 2:
echo 'the value is either 1 or 2';
break;
}
কোনও পিএইচপি সুইচটিতে কোনও 'ওআর' অপারেটর বা সমতুল্য ব্যবহারের কোনও উপায় আছে কি?
উদাহরণস্বরূপ, এর মতো কিছু:
switch ($value) {
case 1 || 2:
echo 'the value is either 1 or 2';
break;
}
উত্তর:
switch ($value)
{
case 1:
case 2:
echo "the value is either 1 or 2.";
break;
}
এটাকে কেস ব্লককে "পড়ার মধ্য দিয়ে" বলা হয়। এই শব্দটি বেশিরভাগ ভাষায় একটি স্যুইচ স্টেটমেন্ট প্রয়োগ করে exists
আপনি যদি অবশ্যই এটির ||
সাথে ব্যবহার করেন switch
তবে আপনি চেষ্টা করতে পারেন:
$v = 1;
switch (true) {
case ($v == 1 || $v == 2):
echo 'the value is either 1 or 2';
break;
}
না হলে আপনার পছন্দের সমাধানটি হত
switch($v) {
case 1:
case 2:
echo "the value is either 1 or 2";
break;
}
সমস্যাটি হ'ল বড় ক্ষেত্রে মোকাবেলা করার সময় উভয় পদ্ধতিই কার্যকর হয় না ... কল্পনা 1
করুন 100
এটি সঠিকভাবে কাজ করবে
$r1 = range(1, 100);
$r2 = range(100, 200);
$v = 76;
switch (true) {
case in_array($v, $r1) :
echo 'the value is in range 1 to 100';
break;
case in_array($v, $r2) :
echo 'the value is in range 100 to 200';
break;
}
আমি অন্য উত্তরগুলি পুনরায় পোস্ট করব না কারণ সেগুলি সমস্ত সঠিক, তবে আমি আরও যুক্ত করব যে আপনি আরও "জটিল" বিবৃতিগুলির জন্য স্যুইচ ব্যবহার করতে পারবেন না, যেমন: কোনও মান "3 এর চেয়ে বড়" হয় কিনা তা পরীক্ষা করতে, " ৪ থেকে "এর মধ্যে", ইত্যাদি "ইত্যাদি যদি আপনার এমন কিছু করার দরকার হয় if
তবে বিবৃতি ব্যবহার করতে আটকে থাকুন , বা যদি এর জন্য বিশেষ কোনও দৃ strong় প্রয়োজন হয় switch
তবে এটিকে সামনের দিকে ব্যবহার করা সম্ভব:
switch (true) {
case ($value > 3) :
// value is greater than 3
break;
case ($value >= 4 && $value <= 6) :
// value is between 4 and 6
break;
}
তবে আমি যেমন বলেছি, আমি ব্যক্তিগতভাবে if
সেখানে একটি বিবৃতি ব্যবহার করব ।
switch()
অনুভব করি এবং যখন আমি সি-ইশ ভাষায় কাজ করি তখন আমি সত্যিই মিস করি Select Case
যা আসলেই একটি ছোট্ট উপায় বলে "এখানে একটি বড় কথা যদি ব্লক, অন্যথায় যদি, অন্যথায় যদি ... এখানে "।
you can't use switch for more "complicated" statements
এটা can't
নাকি shouldn't
? কারণ আপনার উদাহরণে আপনিcan
switch (true)
জিনিসটি কোনও স্যুইচ ব্যবহারের সাধারণ ঘটনা নয়।
এই নিবন্ধে নিম্নলিখিত উদাহরণগুলির সাথে চেষ্টা করুন: http://phpswitch.com/
সম্ভাব্য স্যুইচ কেস:
(ঝ)। একটি সাধারণ স্যুইচ স্টেটমেন্ট
স্যুইচ বিবৃতি বিস্ময়কর এবং যাদু। এটি ভাষার একটি অংশ যা আপনাকে একটি মানের জন্য বিভিন্ন বিকল্পের মধ্যে নির্বাচন করতে এবং কোন মান সেট করা হয় তার উপর নির্ভর করে কোডের বিভিন্ন টুকরো চালানোর অনুমতি দেয়।
প্রতিটি সম্ভাব্য বিকল্পটি স্যুইচ বিবৃতিতে একটি কেস দ্বারা দেওয়া হয়।
উদাহরণ:
switch($bar)
{
case 4:
echo "This is not the number you're looking for.\n";
$foo = 92;
}
(২)। ডিলিমিটিং কোড ব্লক
সুইচের প্রধান সতর্কতা হ'ল প্রতিটি ক্ষেত্রে পরেরটিতে চলে আসবে, যদি না আপনি বিরতি দিয়ে থামান। যদি উপরের সরল কেসটি 5 কে কভার করার জন্য বাড়ানো হয়:
উদাহরণ:
case 4:
echo "This is not the number you're looking for.\n";
$foo = 92;
break;
case 5:
echo "A copy of Ringworld is on its way to you!\n";
$foo = 34;
break;
(গ)। একাধিক ক্ষেত্রে ফ্যালথথ্রু ব্যবহার করা
কারণ সুইচটি চলমান কোডটি বিরতি না পাওয়া পর্যন্ত চালিয়ে রাখবে, তাই পতনের জন্য ধারণাটি গ্রহণ করা এবং একাধিক মামলার জন্য একই কোড চালানো যথেষ্ট সহজ:
উদাহরণ:
কেস 2:
case 3:
case 4:
echo "This is not the number you're looking for.\n";
$foo = 92;
break;
case 5:
echo "A copy of Ringworld is on its way to you!\n";
$foo = 34;
break;
(ঈ)। উন্নত স্যুইচিং: শর্তের মামলা
পিএইচপি-র স্যুইচ আপনাকে কেবলমাত্র একটি নির্দিষ্ট ভেরিয়েবলের মান স্যুইচ করার অনুমতি দেয় না: আপনি যে কোনও ক্ষেত্রে যে কোনও এক্সপ্রেশন ব্যবহার করতে পারবেন, যতক্ষণ না এটি কেসটি ব্যবহারের জন্য কোনও মান দেয়। উদাহরণ হিসাবে, এখানে স্যুইচ ব্যবহার করে লিখিত একটি সাধারণ বৈধকারক:
উদাহরণ:
switch(true)
{
case (strlen($foo) > 30):
$error = "The value provided is too long.";
$valid = false;
break;
case (!preg_match('/^[A-Z0-9]+$/i', $foo)):
$error = "The value must be alphanumeric.";
$valid = false;
break;
default:
$valid = true;
break;
}
আমি মনে করি এটি আপনার সমস্যা সমাধানে সহায়তা করতে পারে।
আমি আপনাকে http://php.net/manual/en/control-structures.switch.php (ম্যানুয়াল) দিয়ে যাওয়ার পরামর্শ দিই
switch ($your_variable)
{
case 1:
case 2:
echo "the value is either 1 or 2.";
break;
}
ব্যাখ্যা
একক বিবৃতি কার্যকর করার জন্য আপনার মানটি পছন্দ করুন আপনি বিরতি ছাড়াই এটি রাখতে পারেন যেমন বিরতি না পাওয়া পর্যন্ত এটি কোডটি কার্যকর করে চলেছে এবং যদি বিরতি পাওয়া যায় তবে এটি স্যুইচ কেস থেকে বেরিয়ে আসবে।
http://php.net/manual/en/control-structures.switch.php উদাহরণ
$today = date("D");
switch($today){
case "Mon":
case "Tue":
echo "Today is Tuesday or Monday. Buy some food.";
break;
case "Wed":
echo "Today is Wednesday. Visit a doctor.";
break;
case "Thu":
echo "Today is Thursday. Repair your car.";
break;
default:
echo "No information available for that day.";
break;
}
অনুরোধ সহ অন্যথায় সেরা উপায় হতে পারে। এছাড়াও, এটি ব্যবহার করা সহজ এবং স্পষ্ট হতে পারে।
উদাহরণ:
<?php
$go = $_REQUEST['go'];
?>
<?php if ($go == 'general_information'){?>
<div>
echo "hello";
}?>
পিএইচপি দিয়ে ভাল কাজ করবে না এমন ফাংশনগুলি ব্যবহার করার পরিবর্তে, বিশেষত যখন আপনার এইচটিএমএলে পিএইচপি থাকে।