PHP函数问题(菜鸟问题)

<?phpfunctionexample($num){return"$num*$num=".$num*$num;}echoexample(10);?>中间"$num*$n... <?php function example ($num){
return "$num *$num=".$num*$num;
} echo example(10);
?>
中间"$num *$num="$num=".$num*$num;这段不是太明白:
为什么双引号的位置是这样的?
为什么有一个小点在等号之后,这个代表什么。
自学PHP,求前辈帮忙,感激不尽。
展开
 我来答
ychongsaytc
2013-12-26 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:30.7万
展开全部

" " 双引号里面的字段会经过编译器解释,然后再当作 HTML代码输出。

' '  单引号里面的不进行解释,直接输出。


例如:

$text = 'Hello';

echo $text; // 结果输出 Hello
echo "$text"; // 结果输出 Hello
echo '$text'; // 结果输出 $text


一点 . 是「并置运算符」,用于把两个字符串值连接起来。


例如:

$text = 'aa' . 'bb';
echo $text; // 结果输出 aabb


因此,楼主提问内容中的程序

return "$num * $num = " . $num * $num;

相当于

$num = 10;
return '10 * 10 = ' . 10 * 10;


还有什么疑问么?

追问
1.双引号和单引号的区别现在明白了。
2.一点的用途也明白
还有一个疑问:那么运行的输出结果为什么是10*10=100.
按照道理来说双引号的结果是100,一点之后的结果也是100吧
所以应该是100100?
麻烦你再解答一下,谢谢
追答

记住一句:

双引号内的字符串,只是对变量进行引用替换,并不会执行程序(如运算符等)。


另外,为了防止输出连续字符串(不是空格或换行等)导致编译器认错变量名,很经常用到花括号将变量名括起来。


再试验几个例子就发现规律了

$num = 10;
echo "$num"; // 输出 10
echo "{$num}"; // 输出 10
echo "$numabc"; // 错误:变量 $numabc 不存在(未定义)
echo "$num abc"; // 输出 10 abc
echo "{$num}abc"; // 输出 10abc
echo "$num + 20"; // 输出 10 + 20

echo "$num++"; // 输出 10++
$num++;
echo "$num"; // 输出 11
553979035
2013-12-26 · TA获得超过1590个赞
知道大有可为答主
回答量:2612
采纳率:42%
帮助的人:1287万
展开全部
并置运算符(Concatenation Operator)
在 PHP 中,只有一个字符串运算符。
并置运算符 (.) 用于把两个字符串值连接起来。
要把两个变量连接在一起,请使用这个点运算符 (.) :
<?php$txt1="Hello World";$txt2="1234";echo $txt1 . " " . $txt2;?>
以上代码的输出:
Hello World 1234
您可以看到,我们在上面的例子中使用了两次并置运算符。这是由于我们需要插入第三个字符串。
为了分隔这两个变量,我们在 $txt1 与 $txt2 之间插入了一个空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6a7d11453
2013-12-26 · TA获得超过954个赞
知道小有建树答主
回答量:931
采纳率:50%
帮助的人:711万
展开全部
php中双引号和单引号都表示中间内容是文本,不同在于双引号中的文本,遇到php变量会用变量的值进行替换,而单引号不会。
比如"$num *$num="会返回"10*10",而'$num *$num='会返回"$sum*$sum"。
小点是字符串相加的操作符,也就是说代码中return "$num *$num=".$num*$num;返回值是"10*10=100"

另,个人不喜欢在双引号中写php变量,这样不利于阅读代码,容易混淆,而且建议用单引号来包括字符串内容,操作符两端加空格。
建议改写成return $sum . '*' . $sum . '=' . ($sum * $sum);
追问
可不可以这样理解:双引号中的变量是只能被解释替换,而不能再直接进行运算?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d4fbe37
2013-12-26
知道答主
回答量:10
采纳率:0%
帮助的人:4万
展开全部
双引号表示可识别变量的字符串 单引号则不会识别变量
点号表示字符串之间的链接 就是接上去连起来, 比如你输入10的时候 结果则为
10*10=100 这样的结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ffhnn
2013-12-26 · 超过15用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:43.2万
展开全部
"$num *$num=".$num*$num;双引号之间的表示是字符串,在双引号外面的表示是PHP代码,小点是用来连接字符串的,和JS的+号一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式