首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用php编写函数

问用php编写函数
EN

Stack Overflow用户
提问于 2012-01-09 17:44:02
回答 6查看 1.4K关注 0票数 0

我正在试图弄清楚如何编写php函数,这样我就不必一遍又一遍地写一段代码,我正在尝试写这段代码,但由于某种原因它不起作用,有人能告诉我我哪里出错了吗?

代码语言:javascript
复制
<?php
$greeting 'Hello';

function frank ()
{
$name = 'frank';
$2nd = 'robson';
echo $greeting;
echo $name;
echo $2nd;
}


echo frank()
?>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-01-09 17:49:21

你应该考虑返回一个字符串,而不是在你的函数内部回显。也更喜欢传递参数,而不是使用全局作用域:

代码语言:javascript
复制
$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

票数 3
EN

Stack Overflow用户

发布于 2012-01-09 18:02:23

我哪里错了?

几个地方。

,但由于某些原因它不能工作

这不是一条错误消息--如果配置得当,PHP会给出一些它无法理解的有意义的消息。

如果您收到一条错误消息,那么您应该将其包含在您的问题中。

代码语言:javascript
复制
<?php
$greeting 'Hello';

这是第一个错误--它将导致解析失败。其中应该有一个赋值运算符,例如

代码语言:javascript
复制
$greeting = 'Hello';

下一个错误如下:

代码语言:javascript
复制
$2nd = 'robson';

Variables names必须以下划线或字母开头,而不是数字

代码语言:javascript
复制
echo frank()

这里有2个错误。

该语句不是以一个;结尾,它可能仍然可以解析,但非常混乱。

另外,frank函数不会向echo返回值。

票数 2
EN

Stack Overflow用户

发布于 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。

代码语言:javascript
复制
$greeting = 'Hello';

function frank ($greeting) {
    $return = '';
    $name = 'frank';
    $second = 'robson';
    $return .= $greeting;
    $return .= $name;
    $return .= $second;
    return $return;
}

echo frank($greeting);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8786428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档