1

我写了一个基本功能:

function letterreplacement() {
    global $word;

    $string = $word;
    $trans = array("a" => "4", "e" => "3", "i" => "1", "o" => "0");

    echo strtr($string, $trans);
}

$myvariable = letterreplacement();

我遇到的问题在最后一行 - 它一直在运行echo

我究竟做错了什么?

4

5 回答 5

2

echo strtr($string, $trans);的代码中有,将其替换为return strtr($string, $trans)

于 2013-07-04T21:14:35.880 回答
1

echo您的函数应该将参数作为输入,将return某些内容作为输出,而不是全局变量和语句。(顺便说一下,在 PHP 中你不需要 a ;after a )}

更像这样的东西:

        function letterreplacement($string) {

            $trans = array("a" => "4","e"=>"3","i"=>"1","o"=>"0");

            return strtr($string, $trans);

        }

        $myvariable = letterreplacement($word);
于 2013-07-04T21:17:04.410 回答
0

要从方法/函数返回值,您需要使用return语法。IE:

function foo() {
  return 2;
}

echo foo();
于 2013-07-04T21:15:36.583 回答
0

如果您只想回显其调用的 void 函数,即不返回值的函数,因此您不能使用该函数初始化变量,但是如果您想要 soo,在函数体而不是回显处,您需要使用 return 关键字,如下所示:

返回 strtr($string, $trans);

于 2013-07-04T21:19:37.177 回答
0

您可以使用 return 从函数中返回数据,echo 会将数据从脚本发送到浏览器/屏幕。

php.net/echo php.net/return

于 2013-07-04T21:15:03.777 回答