PHP Operators
PHP Operators পর্ব -৬ : PHP Ternary and Null Coalescing Operator
PHP তে Ternery Operator কি ?
অক্সফোর্ড ইংরেজি অভিধান অনুযায়ী Ternary শব্দের অর্থ হচ্ছে “তিনটি অংশে গঠিত”। নামের মতোই PHP তে Ternary Operator টি হচ্ছে একটি Conditional Operator যা তিনটি অংশে গঠিত , আর তা হচ্ছে: Condition ? Expression 1 : Expression 2. যদি condition true হয় , তাহলে Expression 1 রিটার্ন করবে অন্যথায় Expression 2 রিটার্ন করবে। Ternary Operator টি অনেকটা if….else স্টেটমেন্ট এর মতোই। চলুন নিচের উদাহরণ দুটি দেখা যাক :
উদাহরণ ১: Ternary Operator ছাড়া if…else দিয়ে condition চেক
<?php $age = 19; //input by user if($age > 17){ echo "Yes you are eligible"; }else{ echo "Sorry, not eligible"; } ?>
https://w3programmers.com/bangla/php-course/
উদাহরণ ২: Ternary Operator দিয়ে condition চেক
<?php $age=19; echo ($age>17)?"Yes you are eligible":"Sorry, not eligible"; ?>
উদাহরণ ৩: Ternary অপারেটর ছাড়া if…else দিয়ে variable এ Default value assign:
<?php if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?> ?>
উদাহরণ ৪: Ternary অপারেটর দিয়ে variable এ Default value assign:
<?php $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; ?>
https://w3programmers.com/bangla/php-course/
PHP তে কি Nested Ternary Operator লেখা যায়:
হ্যাঁ লেখা যায়, তবে Nested Condition এর ক্ষেত্রে if ..elseif..n…else অথবা switch case ব্যবহার করা ই ভালো।
উদাহরণ ৫: Nested if…else :
<?php $bTest1 = false; $bTest2 = false; if ($bTest1) { if ($bTest2) { echo 'test 1 true, test 2 true'; } else { echo 'test 1 true, test 2 false'; } } else { if ($bTest2) { echo 'test 1 false, test 2 true'; } else { echo 'test 1 false, test 2 false'; } } ?>
ব্যাখ্যা :এখানে $bTest1 এর ডিফল্ট value false হওয়াতে, প্রথম if condition কাজ করবেনা এবং প্রোগ্রাম তখন else statement এ চলে যাবে। আবার else statement এ প্রথম if condition টি false হওয়ায় প্রোগ্রাম আবার else statement এ যাবে এবং ফলাফল প্রিন্ট করবে : test 1 false, test 2 false
উপরের কাজটি আমরা nested ternery operator দিয়েও করতে পারি।
উদাহরণ ৬: Nested Ternary Operator:
<?php $bTest1 = false; $bTest2 = false; echo $bTest1?($bTest2?'test 1 true, test 2 true':'test 1 true, test 2 false'):($bTest2?'test 1 false, test 2 true':'test 1 false, test 2 false'); ?>
https://w3programmers.com/bangla/php-course/
PHP তে Null Coalescing Operator কি ?
PHP-7 থেকে যেকোনো Null বা ফাঁকা Variable এ নতুন value assign বা মান রাখার জন্য Null Coalescing Operator টি ব্যবহৃত হয়। নিচের উদাহরণ লক্ষ্য করুন :
উদাহরণ ১: Null Coalescing Operator ছাড়া if…else দিয়ে নতুন value assign
<?php if (isset($_POST['action'])) { $action = $_POST['action']; } else { $action = 'default'; } ?>
উদাহরণ ২: Null Coalescing Operator দিয়ে নতুন value assign
<?php // Example usage for: Null Coalesce Operator $action = $_POST['action'] ?? 'default'; ?>
উদাহরণ ৩: Nesting null coalescing operator
<?php $foo = null; $bar = null; $baz = 1; $qux = 2; echo $foo ?? $bar ?? $baz ?? $qux; // outputs 1 ?>