8. التلاعب بالأنواع (Type Juggling) وتحويل الأنواع (Type Casting)
PHP هي لغة ضعيفة النوع (loosely typed)، مما يعني أنها لا تتطلب تصريحات صريحة للنوع وغالبًا ما تقوم بتحويل (التلاعب) بالأنواع تلقائيًا عند الضرورة.
التلاعب بالأنواع (التحويل التلقائي)
عندما تصادف PHP عاملاً يتوقع نوعًا معينًا، فإنها تحاول تحويل المعاملات.
php
Result 2: " . ($a + $c); // الإخراج: 5 (5 + 0) // التلاعب بالمقارنة (خطير!) if (0 == "hello") { echo "إنهما متساويان بشكل فضفاض!"; // الإخراج: إنهما متساويان بشكل فضفاض! } // لماذا؟ تحول PHP 'hello' إلى عدد صحيح 0 للمقارنة. ?>
تحويل الأنواع (التحويل الصريح)
لتجنب التلاعب غير المتوقع، يمكنك تحويل متغير صراحةً إلى نوع مختلف باستخدام الأقواس واسم النوع المطلوب.
| نوع التحويل | الوصف |
|---|---|
(int) or (integer) | يحول إلى عدد صحيح |
(float) or (double) | يحول إلى عدد عشري |
(string) | يحول إلى نص |
(bool) or (boolean) | يحول إلى منطقي |
php
عدد عشري: " . $float_val; // الإخراج: 45.0 ?>