我正在试图弄清楚如何编写php函数,这样我就不必一遍又一遍地写一段代码,我正在尝试写这段代码,但由于某种原因它不起作用,有人能告诉我我哪里出错了吗?
<?php
$greeting 'Hello';
function frank ()
{
$name = 'frank';
$2nd = 'robson';
echo $greeting;
echo $name;
echo $2nd;
}
echo frank()
?>发布于 2012-01-09 17:49:21
你应该考虑返回一个字符串,而不是在你的函数内部回显。也更喜欢传递参数,而不是使用全局作用域:
$greeting = 'Hello';
function frank ($funcGreetings)
{
$name = 'frank';
$second = 'robson';
//Concat variable together an return them
return $funcGreetings.' '.$name.' '.$second;
}
echo frank($greeting);最后,变量名以字母或下划线开头,因此$2nd不是有效名称。
有关命名变量的详细信息,请参阅此this link
发布于 2012-01-09 18:02:23
我哪里错了?
几个地方。
,但由于某些原因它不能工作
这不是一条错误消息--如果配置得当,PHP会给出一些它无法理解的有意义的消息。
如果您收到一条错误消息,那么您应该将其包含在您的问题中。
<?php
$greeting 'Hello';这是第一个错误--它将导致解析失败。其中应该有一个赋值运算符,例如
$greeting = 'Hello';下一个错误如下:
$2nd = 'robson';Variables names必须以下划线或字母开头,而不是数字
echo frank()这里有2个错误。
该语句不是以一个;结尾,它可能仍然可以解析,但非常混乱。
另外,frank函数不会向echo返回值。
发布于 2012-01-09 17:46:10
首先,您需要传入$greeting变量,才能使其位于functions作用域中-请参阅PHP manual for variable scope。最好避免使用global,因为它们更难调试和测试。
其次,您遗漏了$greeting变量的赋值。
第三,您忘记了从函数中返回值,这样它就可以echod out了。请参阅PHP manual for functions。
第四,$2nd不是有效的变量名。变量必须以字母开头。请参阅relevant manual page。
$greeting = 'Hello';
function frank ($greeting) {
$return = '';
$name = 'frank';
$second = 'robson';
$return .= $greeting;
$return .= $name;
$return .= $second;
return $return;
}
echo frank($greeting);https://stackoverflow.com/questions/8786428
复制相似问题