TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #511 331
🔥 چرا ()isset و ()empty تو PHP همیشه اون چیزی که فکر می‌کنی نیستن؟

یه اشتباه رایج:

if (!empty($value)) {
// ...
}

ظاهرش ساده‌ست.

ولی ()empty فقط null رو خالی در نظر نمی‌گیره.

مقادیر مختلفی مثل:

0
"0"
false
""
null
[]

می‌تونن برای ()empty خالی محسوب بشن.

حالا فرض کن:

$discount = 0;

if (!empty($discount)) {
applyDiscount($discount);
}

اینجا ممکنه منطق برنامه‌ت اون چیزی نباشه که انتظار داشتی؛ چون 0 از نظر ()empty مقدار خالی محسوب میشه.

اگر واقعاً می‌خوای مشخص کنی مقدار وجود داره و دقیقاً چه نوعی داره، مقایسه صریح خیلی وقت‌ها انتخاب بهتریه:

if ($discount !== null) {
// ...
}

زبان PHP به خاطر Type Juggling انعطاف زیادی داره؛
ولی همین انعطاف اگر حواست نباشه، تبدیل به باگ میشه.

هرچی پروژه بزرگ‌تر میشه، مقایسه‌های دقیق‌تر ارزش بیشتری پیدا می‌کنن.

@CodeVerse_dev
  • ❤ 6
More from @codeverse_dev
  1. Oct 7, 2026👨‍💻 برنامه‌نویسی با AI راحت‌تر شده؛ پس چرا بعضی Developerها خسته‌تر شده‌اند؟ طبق نظرسنجی…
  2. Oct 7, 2026🚨 وردپرس 7.1.3 منتشر شد؛ این یکی را عقب نینداز وردپرس دیروز نسخه 7.1.3 را منتشر کرد؛ یک آ…
  3. Oct 6, 2026شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️ رگولاتور رقابت لهستان اعلام کرده Google را…
  4. Oct 6, 2026اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️ مایکروسافت تأیید کرده آپدیت پی…
  5. Oct 6, 2026اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡ نسخه Stable مرورگر Chrome برای دسکتاپ ب…
  6. Oct 6, 2026🖥 سازنده محتوایی؟ ویندوزت بدون این ۵ نرم‌افزار نصفه‌ست! خب راستشو بخوای، من خودم تا چند و…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →