সমাধান
echo $person->middleName ?? 'Person does not have a middle name';
এটি কীভাবে কাজ করছে সে সম্পর্কে আরও স্পষ্টতার জন্য এটি যদি বিবৃতিতে কীভাবে দেখায় তা দেখানোর জন্য।
if($person->middleName ?? false) {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
ব্যাখ্যা
কোনও কিছুর অস্তিত্ব যাচাই করার জন্য toতিহ্যবাহী পিএইচপি উপায়টি হ'ল:
if(isset($person->middleName)) {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
বা আরও শ্রেণির নির্দিষ্ট উপায়ে:
if(property_exists($person, 'middleName')) {
echo $person->middleName;
} else {
echo 'Person does not have a middle name';
}
এগুলি উভয়ই দীর্ঘ আকারের বিবৃতিতে সূক্ষ্ম তবে ত্রৈমাসিক বিবৃতিতে তারা অযথা জটিল হয়ে ওঠে:
isset($person->middleName) ? echo $person->middleName : echo 'Person does not have a middle name';
আপনি ঠিক তেমন তিনটি অপারেটর দিয়ে এটি অর্জন করতে পারেন:
echo $person->middleName ?: 'Person does not have a middle name';
তবে ... মানটি উপস্থিত না থাকলে (সেট করা নেই) এটি উত্থাপন করবে E_NOTICE
এবং সর্বোত্তম অনুশীলন নয়। মানটি হলে null
এটি ব্যতিক্রম বাড়াবে না।
অতএব উদ্ধারকাজের জন্য টেরিনারি অপারেটর এটি একটি পরিষ্কার সামান্য উত্তর দেয়:
echo $person->middleName ?? 'Person does not have a middle name';