empty()
রেফারেন্সের মাধ্যমে মানটি অ্যাক্সেস করতে হবে (সেই রেফারেন্সটি উপস্থিত থাকা কিছুর দিকে নির্দেশ করে কিনা তা পরীক্ষা করার জন্য) এবং 5.5 এর আগে পিএইচপি ফাংশন থেকে ফিরে আসা অস্থায়ী মানগুলির রেফারেন্সকে সমর্থন করে না।
তবে, আপনার আসল সমস্যাটি হ'ল আপনি একেবারেই ব্যবহার করুন empty()
, ভুল করে বিশ্বাস করে যে "খালি" মানটি "মিথ্যা" থেকে আলাদা any
খালি কেবল একটি উপনাম !isset($thing) || !$thing
। আপনি যে জিনিসটি যাচাই করছেন তা সর্বদা উপস্থিত থাকে (ফাংশন কলগুলির পিএইচপি ফলাফলগুলিতে সর্বদা উপস্থিত থাকে), empty()
ফাংশনটি একটি প্রত্যাখ্যান অপারেটর ছাড়া কিছুই নয় ।
পিএইচপি শূন্যতার ধারণা নেই । যে মানগুলি মিথ্যাতে মূল্যায়ন করে সেগুলি খালি, মানগুলি যা সত্য বলে মূল্যায়ন করে তা খালি নয়। ইহা একই জিনিস. এই কোড:
$x = something();
if (empty($x)) …
এবং এই:
$x = something();
if (!$x) …
করেছে সবসময় একই ফল, সব ক্ষেত্রেই, সমস্ত datatypes জন্য (কারণ $x
সংজ্ঞায়িত করা হয় empty()
অপ্রয়োজনীয়)।
পদ্ধতি থেকে রিটার্ন মান সর্বদা উপস্থিত থাকে (আপনার return
বিবৃতি না থাকলেও, ফেরতের মান বিদ্যমান এবং এতে থাকে null
)। অতএব:
if (!empty($r->getError()))
যৌক্তিকভাবে এর সমতুল্য:
if ($r->getError())
empty
: wiki.php.net/rfc/empty_isset_exprs