سؤال
وربما هذا هو بسيط جدا ولكن لا يزال لا أستطيع الحصول على عمل أنا باستخدام هذا البيان:
echo "$num1"."+"."$num2"."=".$num1+$num2."<BR>";
وكنت أتوقع شيئا من هذا القبيل 3 + 3 = 6 ولكن بدلا من أن أحصل فقط 6
وأي أفكار لماذا؟
المحلول
ووضع أقواس حول الإضافة. هذا أمر من الصراع العمليات.
echo "$num1"."+"."$num2"."=".($num1+$num2)."<BR>";
والسبب هو PHP قد فسرت التعبير كما لو كانت:
$a = "$num1"."+"."$num2"."=".$num1;
$b = $num2."<BR>";
echo $a + $b;
وعند إضافة سلاسل، PHP يحاول cooerce عدد للخروج منه. و$a
الرقم الأول في سلسلة $num1
أو "3". وهو يفعل الشيء نفسه بالنسبة $b
، والحصول على $num2
أو "3". وهكذا، $a+$b
هو 6.
نصائح أخرى
echo "$num1"."+"."$num2"."=".($num1).+.($num2)."<BR>";
وكان قد عمل!
لا تنتمي إلى StackOverflow