19. نطاق المتغير: محلي، وعام، وساكن
يحدد نطاق المتغير مكان إمكانية الوصول إلى المتغير وقراءته وتعديله داخل السكربت.
1. النطاق المحلي (Local Scope)
المتغيرات المعلنة داخل دالة تكون محلية لتلك الدالة ولا يمكن الوصول إليها من الخارج.
php
"; } testScope(); // echo $local_var; // خطأ: متغير غير معرف ?>2. النطاق العام (Global Scope)
المتغيرات المعلنة خارج أي دالة لها نطاق عام. يمكن الوصول إليها عالميًا، ولكن ليس مباشرة داخل الدوال.
للوصول إلى متغير عام داخل دالة، يجب عليك استخدام الكلمة المفتاحية global أو المصفوفة الخارقة الخاصة $GLOBALS.
php
"; // الطريقة ب: باستخدام المصفوفة الخارقة $GLOBALS $GLOBALS['global_message'] = "تم تعديلي داخل الدالة."; echo "عام باستخدام GLOBALS: " . $GLOBALS['global_message'] . ""; } accessGlobal(); echo "خارج الدالة بعد التعديل: " . $global_message; ?>
3. النطاق الساكن (Static Scope)
المتغيرات المعلنة بالكلمة المفتاحية static داخل دالة تحتفظ بقيمتها الأخيرة بين استدعاءات متعددة لتلك الدالة، بدلاً من إتلافها بعد انتهاء الدالة.
php
"; } counter(); // 1 counter(); // 2 counter(); // 3 ?>