PHP回声,它是如何产生输出的?

时间:2016-01-08 10:49:41

标签: php

请解释echo如何用数学表达式和二进制逗号(,)来理解点(。)。

<?php

echo "The Sum: " . 2+3;

?>

//Output

3

为什么3作为输出?

2 个答案:

答案 0 :(得分:7)

// current date NSDate *now = [NSDate new]; // get last day of the current month NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; [calendar setTimeZone:[NSTimeZone systemTimeZone]]; NSRange dayRange = [ calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:now]; NSInteger numberOfDaysInCurrentMonth = dayRange.length; NSDateComponents *comp = [calendar components: NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:now]; comp.day = numberOfDaysInCurrentMonth; comp.hour = 24; comp.minute = 0; comp.second = 0; NSDate *endOfMonth = [calendar dateFromComponents:comp]; .是左关联的,因此您的语句被解释为

+

这相当于

echo ("The Sum: " . 2) + 3;

当您添加字符串和数字时,它会将字符串转换为数字,该数字会尝试在字符串的开头查找数字。由于echo "The Sum: 2" + 3; 不以数字开头,因此会转换为"The Sum: 2"。这使得语句等同于

0

简化为

echo 0 + 3;

这就是你看到的结果。

答案 1 :(得分:1)

有两个运算符点(。)和加号(+),并且点具有高优先级。试试这个

<?php
     echo ("The Sum: " . 2) + 3;
 ?>