إستفسار في لغة PHP

ماهو الفرق بين Variables و Constants ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يوسف سيد أضف ردا

هذا لا يخص PHP فقط، بل الكثير من لغات البرمجة، الأول من اسمه(Variable) هو قيمة بعنوان في الذاكرة متغيرة، ثابت في الاسم -مُتغير في القيمة- وفي PHP متغير في النوع أيضًا، أي عند تعريفك متغير باسم name يمكنك جعله اسمًا نصيًا، رقمًا، قيمة منطقية ..، يسمح بتغيير قيمته ونوعه بدون اسمه.

والثابت(Constant) هي قيمة في الذاكرة ثابتة النوع، الاسم والقيمة، وفي PHP يوجد طريقة أخرى غير المفتاح const لتعريف الثوابت وهي الوظيفة define، بالطبع وبسبب الترقيعات في هاته اللغة ستجد بعض الإختلافات التي جعلتهم يرقعون نوعين:

<?php
$name = "A name";
$name = strlen($name); // 6
$name = $name == 6; // true


const age = 32;
const age = true; // خطأ
const age = 12; // خطأ أيضًا

define("USER_AGE", 32); // ثابت آخر

عرض جيد لو كنت تخاطب متوسطا في اللغة..

لو دققت في سؤال الأخ لعرفت مستواه و بالتالي تعطيه ما يناسبه، فأنت كالطبيب تعطي كل مريض ما يلائمه و لو رمت غير ذلك لأفسدت أكثر مما أصلحت..

راجع طريقة w3schools في التعليم ستجدها من النجاعة بمكان، مما يجعلها المكان الأفضل لبداية تعلم البرمجة، بل هي لي شخصيا مرجع أساس أفزع إليه عند الحاجة..

وفقك الله لكل خير.

هو يسأل عن الفرق، لهذا توقعتُ أنه يعرف أن المتغيرات متغيرة والثوابت ثابتة! فهذا منطقي أصلًا!، ويسأل عن فروقات أخرى، عمومًا، ما قلته كان بسيطًا وسطحيًا جدًا، أجد بعض الكتب المتخصصة تشرح ذاك في عدة صفحات، التبسيط ليس دائمًا جيدًا، بل مضرٌ لو اعتمدتَ عليه طوال الوقت وW3School مثلًا تعرض لك الأمور السطحية ولا تعرض لك التفاصيل المملة التي تجدها في التوثيقات توثيقات مثل MDN والتوثيق الرسمي لـES إن نتحدث عن JavaScript، مما يجعلها تضر بالمبرمج يعرف بالكاد كيف يكتب ..

ال variable يمكنه حمل اي قيمه ويمكن تغير قيمته عند استخدامه في دوال.

ال constants يمكنه حمل اي قيمه لاكن قيمته لاتتغير اطلاقا.

شكرا أخي ! لكن ماذا تقصد بالقيمة ؟

أي قيمة كانت ، رقمية كعدد او نصية أو تمرير لدالة

البيانات التي يحملها ال variable أو ال constants