繁体   English   中英

PHP定义函数逻辑

[英]PHP Defining Function Logical

我刚开始学习php,我想知道有人可以通过定义函数的逻辑来帮助我。 我似乎无法绕过它。

简单的例子:

<?php

function hello($word) {
  echo "Hello $word";
}

  $name = "John";
  strtolower(hello($name))

?>

我知道如果我在函数中使用return而不是echo,然后在定义函数之外回显它,则“ strtolower”适用,但在此示例中不适用。 我不了解php是如何解释它的。 提前致谢。

想象一个函数是一个未知内容的盒子。 您放进东西,然后放出东西-这意味着您有参数并且要返回一些东西。

在您的代码示例中,您不返回任何内容,而是echo一些字符串。

function hello($word) {
//             ^ parameter
  return "Hello $word";
}

$name = "John";
strtolower(hello($name));

为了进一步说明,您可以通过以下方式查看原始代码:

echo strtolower(hello("John"));
     ^          ^--- call hello("John")
     |                something happens (your echo)
     |               hello() ended without return, return NULL by default
     |--- call strtolower( NULL )
            something happens
          strtolower() returned ""

但是您希望它像这样:

echo strtolower(hello("John"));
     ^          ^--- call hello("John")
     |                something happens
     |               hello() return "Hello John"
     |--- call strtolower("Hello John")
            something happens
          strtolower() returned "hello john"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM