دوره‌ها / آموزش جامع PHP (از صفر تا استادی) / آرایه‌ها (PHP Arrays)

آرایه‌ها (PHP Arrays)

30 دقیقه Article

آرایه‌ها: قدرتمندترین ابزارِ مدیریتِ لیست‌ها 🗃️📊

در PHP، آرایه‌ها فراتر از یک لیستِ ساده هستند. آن‌ها در واقع Maps هستند که می‌توانند هر نوع داده‌ای را در بر بگیرند. به جرات می‌توان گفت آرایه‌ها قلبِ تپنده‌یِ PHP هستند.

۱. آرایه‌هایِ ایندکس دار (Indexed)

لیست‌هایِ سنتی که با شماره‌یِ ایندکس (شروع از ۰) کار می‌کنند.

{code_block('$fruits = ["Apple", "Orange"];')}

۲. آرایه‌هایِ انجمنی (Associative) 🏷️

اینجاست که جادویِ PHP شروع می‌شود! به جایِ عدد، می‌توانید از رشته‌ها به عنوانِ "کلید" استفاده کنید. این برایِ نمایشِ داده‌هایِ دیتابیس عالی است.

{code_block('$age = ["Ali" => "25", "Saman" => "30"];')}

۳. آرایه‌هایِ چندبعدی

آرایه‌ای که خودش شاملِ آرایه‌هایِ دیگر است (فکر کنید مثلِ یک جدول یا ماتریس).

توابعِ جادوییِ آرایه:

  • count(): تعدادِ اعضا.
  • array_push(): اضافه کردن به انتها.
  • asort(): مرتب‌سازی بر اساسِ مقدار (Value).
  • ksort(): مرتب‌سازی بر اساسِ کلید (Key).
  • array_merge(): چسباندنِ دو آرایه به هم.
ایمنی در دسترسی: قبل از دسترسی به یک کلید در آرایه، همیشه با isset() یا array_key_exists() چک کنید که آیا آن خانه وجود دارد، وگرنه با خطایِ Warning: Undefined array key روبرو می‌شوید.

تودرتو کردنِ آرایه‌ها:

{code_block('$matrix = [[1, 2], [3, 4]];\necho $matrix[1][0]; // ۳')}
Array Destructuring: در PHP مدرن می‌توانید به سبکِ جاوااسکریپت، اعضایِ آرایه را مستقیماً داخلِ متغیرهایِ مجزا خالی کنید: [$a, $b] = [10, 20];
<hr style="margin: 50px 0; border: 0; border-top: 1px dashed rgba(255,255,255,0.1);">

بخش تخصصی: مهندسی منطق و پرفورمنس در PHP 🐘⚙️

در سطوحِ حرفه‌ای، اجرایِ کد فقط کافی نیست؛ "چگونگیِ" اجرا و بهینه‌سازیِ آن تفاوتِ بینِ یک کدِ معمولی و یک معماریِ مقیاس‌پذیر را رقم می‌زند.

۱. بهینه‌سازیِ محاسبات با BCMath

در سیستم‌هایِ مالی و بانکی، دقتِ اعشاریِ معمولی (Float) به دلیلِ خطاهایِ گرد کردنِ باینری قابلِ اعتماد نیست. برایِ این کار، PHP افزونه‌ای به نام BCMath دارد که محاسبات را با دقتِ نامحدود و به صورتِ رشته‌ای انجام می‌دهد تا حتی یک ریال هم در محاسبات جابجا نشود.

۲. ساختارِ HashTable در آرایه‌ها

آرایه‌ها در PHP برخلافِ بسیاری از زبان‌ها، در واقع Ordered Hash Maps هستند. هر زمان که شما عضوی به آرایه اضافه می‌کنید، PHP یک سیستمِ Bucket و Hash را در پشتِ صحنه مدیریت می‌کند تا سرعتِ دسترسی به داده‌ها در حالتِ میانگین O(1) باقی بماند.

۳. مفهومِ Closures و کپسوله‌سازی

توابعِ بی‌نام (Anonymous) در PHP فقط برایِ کارهایِ موقت نیستند. با استفاده از کلمه کلیدی use، می‌توانید متغیرهایی را از اسکوپِ بیرونی به داخلِ تابع وارد کنید و یک Closure بسازید که پایه و اساسِ بسیاری از الگوهایِ طراحی مدرن است.

نکته طلایی: همیشه برایِ شرط‌هایِ پیچیده از Early Return استفاده کنید. به جایِ تودرتو کردنِ ifها، ابتدا حالت‌هایِ خطا را چک کرده و از تابع خارج شوید تا خواناییِ کد به حداکثر برسد.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

ساخت آرایه انجمنی Medium
سوال تمرین

یک آرایه شاملِ مشخصاتِ یک ماشین بسازید که کلیدِ brand آن Tesla باشد. سپس مقدارِ brand را چاپ کنید.

پاسخ تمرین
PHP
<?php
$car = ["brand" => "Tesla"];
echo $car["brand"];
?>

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.