使用PHP内部的基本功能

Iai*_*oms 4 html php function

我是一个完全的初学者,很抱歉,如果我这样说的方式令人困惑.我正在研究我的在线计算机科学课程,我们正在练习各种功能.我们应该做的是设置三个句子,在句子中输出三个不同的变量

xy岁,是z

这就是我的意思:

奥巴马50岁,是美国总统.

比尔·盖茨60岁,是微软的创始人.

雅各布20岁,是一名学生.

这是我目前拥有的代码:

<?php

function displayStory($name) {
} 
function displayAge($age) {
} 
function displayJob($job) {
    echo $name . " is " . $age . " and is " . $job . ".<br />";
}
displayStory("Obama");
displayAge("50");
displayJob("the President of The United States");
displayStory("Bill Gates");
displayAge("60");
displayJob("the founder of Microsoft");
displayStory("Jacob");
displayAge("20");
displayJob("a student");

?>
Run Code Online (Sandbox Code Playgroud)

我确信有一个更简单的方法来完成这个,我知道其他方法来完成这个,但我们应该使用DisplayX函数来完成这个.

先感谢您 :)

Bas*_*Bas 6

您正在寻找的是用户定义的功能.

函数基本上是一组指令,这些指令用名称来概括.要创建单个函数,请使用function关键字后跟空格和函数名称.

在这种情况下,只需一个功能即可实现所需的功能.你可以这样命名displayInformation.

该功能需要3个参数,这是您想要显示的3个参数.这个人的名字,年龄和工作.参数应该在( )'s中定义为函数名后面的变量.

要创建此功能,它看起来像这样:

function displayInformation($name, $age, $job) {

}
Run Code Online (Sandbox Code Playgroud)

现在,函数的上下文可以简单地像您在其中一个函数中那样回显数据.

echo $name . " is " . $age . " and is " . $job . ".<br />";

这段代码的最终结果是:

<?php

function displayInformation($name, $age, $job) {
    echo $name . " is " . $age . " and is " . $job . ".<br />"
}

displayInformation("Obama", 50, "president of the United States");
displayInformation("Bill Gates", 60, "Founder of Microsoft");
displayInformation("Jacob", 20, "a student");
Run Code Online (Sandbox Code Playgroud)

有关用户定义函数的更多信息,请阅读文档.


功能设计

至于个人偏好,最佳实践和这种特定情况,您可以用另一种方式设计您的功能.

使用PHP函数时,它始终是return一个值.这可以是数字,一些文本,一个对象,你可以命名它.

您可以删除该功能的功能,以便"显示"个人信息,并将其return作为字符串设为个人信息.这可以通过以下return关键字来完成:

function getInformation($name, $age, $job) {
    return $name . " is " . $age . " and is " . $job . ".<br />"
}
Run Code Online (Sandbox Code Playgroud)

现在您只需使用它echo来显示信息.

echo getInformation("Obama", 50, "president of the United States");
echo getInformation("Bill Gates", 60, "Founder of Microsoft");
echo getInformation("Jacob", 20, "a student");
Run Code Online (Sandbox Code Playgroud)

有关返回值的更多信息,请参见此处.

  • @JeroenBellemans这真的超出了问题的范围(还有其他问题在SO上回答) (2认同)