متغیرهای PHP

المتغير هو وعاء لتخزين المعلومات:

实例

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

运行实例

مثل الجبر

x=5
y=6
z=x+y

في الجبر، نستخدم الأحرف (مثل x) لحفظ القيم (مثل 5).

من خلال التعبير السابق z=x+y، يمكننا حساب قيمة z كـ 11.

في PHP، تُسمى هذه الثلاثة أحرف:المتغير

注释:يرجى اعتبار المتغير كوعاء لتخزين البيانات.

متغیرهای PHP

تمامًا مثل الجبر، يمكن استخدام متغيرات PHP لحفظ القيم (x=5) وعبور التعبيرات (z=x+y).

يمكن أن تكون اسم المتغير قصيرًا جدًا (مثل x و y) أو أن يكون له اسم وصفي أكثر (مثل carname،total_volume).

قواعد المتغيرات في PHP:

  • يبدأ المتغير برمز $ متبوعاً باسم المتغير
  • اسم المتغير يجب أن يبدأ بحرف أو خط تحت السطر
  • لا يمكن أن تبدأ أسماء المتغيرات بأرقام
  • أسماء المتغيرات يمكن أن تحتوي فقط على حروف أرقام وأشرطة تحت (A-z، 0-9 و _)
  • أسماء المتغيرات حساسة للصيغة (الاسم $y هو مختلف عن $Y)

注释:أسماء متغيرات PHP حساسة للصيغة، مما يعني أن $y و$Y هي متغيران مختلفان.

إنشاء متغيرات PHP

PHP لا يحتوي على أمر إنشاء متغير.

تُنشأ المتغيرات عند تعيينها لأول مرة:

实例

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

运行实例

بعد تنفيذ الجملة أعلاه، سيتم حفظ القيمة Hello world! في المتغير txt، والقيمة 5 في المتغير x، والقيمة 10.5 في المتغير y.

注释:إذا كانت القيمة المخصصة للمتغير نصية، فاستخدم العلامات المزدوجة أو المثلثة لضمان أن القيمة محاطة.

PHP هو لغة نوع غير صارم

في المثال السابق، لاحظ أننا لا نحتاج إلى إخبار PHP عن نوع بيانات المتغير.

PHP يقوم بتحويل المتغير تلقائيًا إلى نوع البيانات الصحيح بناءً على قيمته.

في لغات مثل C و C++ و Java، يجب على المبرمج إعلان اسم ونوع المتغير قبل استخدامه.

مجالات متغيرات PHP

في PHP، يمكن تعريف متغيرات في أي مكان داخل الكود.

مجال المتغير يشير إلى الجزء من الكود الذي يمكن فيه استخدام أو استدعاء المتغير.

PHP يحتوي على ثلاثة أنواع مختلفة من مجالات المتغيرات:

  • local (محلي)
  • global (عالمي)
  • static (ثابت)

مجالات محلي وعالمي

دالةخارجمتغيرات المعلنة تملك مجال عالمي، يمكن الوصول إليها فقط خارج الدالة.

دالةداخلمتغيرات المعلنة تملك مجال محلي، يمكن الوصول إليها فقط داخل الدالة.

يختبر المثال التالي متغيرات تحتوي على مجالات محلي وعالمي:

实例

<?php
$x=5; // مجال عالمي
function myTest() {
  $y=10; // مجال محلي
  echo "<p>اختبار متغيرات داخل دالة الاختبار:</p>";
  echo "متغير x هو: $x";
  echo "<br>";
  echo "متغير y هو: $y";
} 
myTest();
echo "<p>اختبار متغيرات خارج دالة الاختبار:</p>";
echo "متغير x هو: $x";
echo "<br>";
echo "متغير y هو: $y";
?>

运行实例

في المثال السابق، هناك متغيران $x و$y، ودالة myTest(). $x هو متغير عالمي لأنه تم تعريفه خارج الدالة، أما $y فهي متغير محلي لأنها تم تعريفها داخل الدالة.

إذا قمنا بإخراج قيمتين من داخل دالة myTest()، يمكن إخراج قيمة $y المعلنة محليًا، ولكن لا يمكن إخراج قيمة $x، لأنها أنشئت خارج الدالة.

ثم، إذا تم إخراج قيمتين من خارج دالة myTest()، سيتم إخراج قيمة $x، ولكن لن يتم إخراج قيمة $y، لأنها متغير محلي، وأنشئت داخل دالة myTest().

注释:您可以在不同的函数中创建名称相同的局部变量,因为局部变量只能被在其中创建它的函数识别。

PHP global 关键词

global 关键词用于在函数内访问全局变量。

要做到这一点,请在(函数内部)变量前面使用 global 关键词:

实例

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>

运行实例

PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

上面的例子可以这样重写:

实例

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // 输出 15
?>

运行实例

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

要完成这一点,请在您首次声明变量时使用 static 关键词:

实例

<?php
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
myTest();
myTest();
myTest();
?>

运行实例

然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

注释:该变量仍然是函数的局部变量。