تحويل أنواع البيانات
جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 14 من 71.
لتحويل المدخلات إلى نوع مختلف، نحتاج إلى إجراء عملية التحويل (casting). لتحويل سلسلة نصية (string) إلى عدد صحيح (int)، سنكتب:
$var = trim(fgets(STDIN));
$var = (int)$var;أو في سطر واحد:
$var = (int)trim(fgets(STDIN));إذا كان المدخل رقماً، أي 5، 4، 54، فإن $var سيحتوي على رقم. إذا كان المدخل يحتوي على رقم غير صالح: 5ab، bb، akt، إلخ، فسيقوم PHP بتحويل ما يمكنه تحويله (على سبيل المثال، "5ab" تصبح 5، و "bb" تصبح 0).
إليك جدول يوضح كيفية التحويل (cast) إلى أنواع مختلفة:
| التحويل (Cast) | الشرح |
| (int) | التحويل إلى عدد صحيح |
| (float) | التحويل إلى عدد حقيقي |
| (bool) | التحويل إلى قيمة منطقية (boolean) |
| (string) | التحويل إلى سلسلة نصية (string) |
من المهم استخدام النوع الصحيح لأنه يمكن أن يؤثر على المخرجات.
إضافة سلسلتين نصيتين ستؤدي إلى:
"5" + "5" = 10(يقوم PHP بتحويل السلاسل النصية إلى أرقام لإجراء العمليات الحسابية)
سيؤدي دمج سلسلتين نصيتين إلى:
"5" . "5" = “55”
التحدي
مهمتك:
- اقرأ الرقم الأول من المدخلات وقم بتخزينه في متغير
- اقرأ الرقم الثاني من المدخلات وقم بتخزينه في متغير آخر
- قم بتحويل المتغير الثاني إلى النوع int
- احسب حاصل ضرب هذين الرقمين
- اطبع النتيجة
مثال:
إذا كانت المدخلات هي 2 و 4.5، يجب أن يخرج برنامجك 8 لأن 4.5 يتم تحويله إلى 4
ورقة مرجعية
لتحويل (cast) قيمة إلى نوع مختلف في PHP، استخدم صيغة التحويل البرمجي:
$var = (int)$value; // التحويل إلى عدد صحيح (whole number)
$var = (float)$value; // التحويل إلى عدد عشري (real number)
$var = (bool)$value; // التحويل إلى قيمة منطقية
$var = (string)$value; // التحويل إلى نصتحويل المدخلات من STDIN إلى عدد صحيح:
$var = trim(fgets(STDIN));
$var = (int)$var;أو في سطر واحد:
$var = (int)trim(fgets(STDIN));عند تحويل النصوص إلى أعداد صحيحة، تقوم PHP بتحويل ما يمكنها تحويله. يتم تجاهل الأحرف غير الصالحة:
"5ab"تصبح5"bb"تصبح0"4.5"تصبح4
يؤثر النوع على العمليات:
- الحساب مع النصوص:
"5" + "5" = 10(تقوم PHP بالتحويل التلقائي إلى أرقام) - الدمج (Concatenation):
"5" . "5" = "55"
جرّب بنفسك
<?php
// قراءة المدخلات
$firstNumber = ?;
$secondNumber = ?;
// تحويل $secondNumber إلى عدد صحيح
// حساب النتيجة
$result = ?;
echo $result;
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوص