TGViewer
| کانال توسعه‌دهندگان PHP | | کانال توسعه‌دهندگان PHP | @developixphp · 1.68K subscribers
Post #115 528
✴️ جست‌وجوی تکراری روی آرایه بزرگ توی حلقه

توی قطعه‌کد اول هر بار داخل حلقه array_search صدا زده شده؛ یعنی اگه ۱۰هزار تا یوزر داشته باشی و لیست بلاک‌ها هم بزرگ باشه، عملاً می‌زنی دیتای خودت رو با دست خودت دی‌داس می‌کنی 😅

توی نسخهٔ دوم، اول یه lookup table می‌سازیم و بعد توی حلقه فقط روی یه isset ساده چک می‌کنیم؛ هم خواناتر می‌شه هم از نظر Time Complexity از O(n×m) می‌آد پایین به O(n+m) و فشار روی CPU به‌شدت کمتر می‌شه.

اگر قراره داخل حلقه روی آرایه بزرگ سرچ کنی، قبلش ساختار داده‌ات رو برای lookup بهینه کن؛ معمولاً یه array_flip یا یه array_fill_keys درست‌حسابی، نصف bottleneck رو جمع می‌کنه.


🔖 #PHP #پی_اچ_پی

👤 Developix

💎 Channel: @DevelopixPHP
  • 🔥 4
More from @developixphp
  1. Sep 26, 2026این کد موقع اجرا چه خروجی‌ای می‌ده و مشکلش کجاست؟ 🔖 #PHP #پی_اچ_پی 👤 Developix 💎 Channe…
  2. Sep 25, 2026🔥 پکیج: قراردادهای ترجمه سیمفونی اگر کد PHP را برای چندزبانگی می‌نویسید، بهتر است منطق بر…
  3. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
  4. Sep 11, 2026ارسال ایمیل تأیید ثبت‌نام، بازیابی رمز عبور یا نوتیفیکیشن سفارش، تقریباً توی هر پروژه‌ PHP…
  5. Sep 10, 2026برنامه نویسی سوکت در PHP بخش اول عبارت دیگر در ارتباط های غیر سوکت برای ارسال یک پالس از س…
  6. Aug 31, 2026🔥 پکیج: استاندارد PSR-11 برای Container استاندارد PSR-11 فقط یه interface مشترک برای Cont…
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 →