باسلام، شما باید ابتدا مشخص کنید get_option در صورت ست نبودن چه مقداری برگشت میدهد تا بشود بهترین راه را پیشنهاد داد، فکر میکنم دارید از متد get_option وردپرس استفاده میکنید، این متد یک پارامتر دوم دیگری ورودی میگیرد که در صورت ست نبودن آپشن، پارامتر دوم را برگشت میده که به صورت دیفالت False هست، پس وقتی فقط از اپراتور ! استفاده میکنید در مورد شما شامل False و صفر خواهد شد (در پشت صحنه، نوع داده شما به صورت موقت کانورت هم میشود تا با عملگر های دیگر هم مقایسه شود، پس طبیعی است که زمان بیشتری بگیرد) و زمانی اگر یک آپشن داشته باشید که اسمش 0 باشه به مشکل خواهید خورد. پس طبیعی است که 2 نوع داده پایین ما هر 2 False هستند :
کد PHP:
$obj = 0;
if(!$obj) echo 'False';
$obj = "0";
if(!$obj) echo 'False';
بهترین راه استفاده از identity operator است، چون در این حالت داده نیاز به هیچگونه تبدیلی ندارد و در نتیجه سرعت compare بیشتر خواهد شد.
کد PHP:
$var = get_option('option_name');
if($var !== false) {
}
- - - Updated - - -
var1==var2
کد:
http://s6.uplod.ir/i/00892/cavtumk0o85d.png
var1===var2
کد:
http://s6.uplod.ir/i/00892/p5798qxdw1tp.png