2012-03-06 67 views
4

我正在努力把握PHP函数的概念。我知道如何创建一个。PHP参数的用途

function functionName() 
{ 
    //code to be executed; 
} 

我也知道如何调用一个函数。对于参数的用途我有点困惑。我已经阅读了PHP手册和w3schools.com的教程。根据我的理解,你需要一个参数来传递一个值给函数?如果这是正确的,为什么不在功能中创建它?为什么使用参数?

像这样:

<?php 
function num() 
{ 
$s=14; 
echo $s; 
} 
num(); 
?> 

我知道你可以这样做:

<?php 
function num($s=14) 
{ 
    echo $s; 
} 
num(); 
?> 

或:

<?php 
function num($s) 
{ 
    echo $s; 
} 
num($s=14); 
?> 

可能有人给我使用的参数,对于一个真正的应用发言权也许基于用户的动态内容网站?我认为这会帮助我更好地理解它。

回答

3

传递参数可以让你用一个函数多次。例如:

如果你想写一个功能发送邮件 - 你可以通过以下参数:

$to = $_POST['to']; 
$from = $_POST['from']; 
$subject = $_POST['subject']; 

然后,在你的函数:

function sendmail($to, $from, $subject){ 

//code to be executed 

} 

现在你可以重用发送功能在您的网络应用程序的各个点。

+0

我在函数外定义的变量遇到问题。我收到一条'Missing Argument'错误。我究竟做错了什么? – user1174762 2012-03-06 16:45:09

+0

@ user1174762阅读有关变量范围。这是有道理的。在函数内部使用全局变量通常被认为是不好的做法。 – dqhendricks 2012-03-06 17:38:57

+0

@ user1174762您可以使用“全局”关键字来访问函数作用域之外的变量,如:<?php $ x = 12;函数foo(){global $ x; print $ x} – 2012-03-06 19:05:39

1

让我们假设你想创建一个功能,它可以让人们总结的数字,因为你希望别人可以不写所需变量的函数来输入,而你的函数显示输出:

function add($num1, $num2){ 
    return $num1 + $num2; 
} 

现在任何人都可以调用/使用函数来汇总数字:

echo add(5,1); // 6 
echo add(2,1); // 3 
echo add(15,1); // 16 

这是最简单例如,一个可以给你解释为什么你需要的参数:)

1

下面是一个例子,假设你有代表颜色数量(这是在数据库中存储数据共享)和要输出什么号码代表的是什么颜色。

假设您有此一百年的数字做了hundrend倍。

你会得到相当的累写100个if statments 100倍。

这里是一个函数例子...

function colorType($type) { 
    if ($type == 1) { 
     return "Green"; 
    } 
    elseif ($type == 2) { 
     return "Blue"; 
    } 
    elseif ($type == 3) { 
     return "Red"; 
    } 
    // etc 
} 

echo colorType(1) . "<br>"; // Green 
echo colorType(2) . "<br>"; // Blue 
echo colorType(3) . "<br>"; // Red 
+0

如何在每次echo'd时使数字/颜色关联值增加1?一个foreach循环?你如何在数据库中创建这种类型的关联? – user1174762 2012-03-06 16:37:47

1

函数执行某些操作并给出结果。它可能接受参数来达到该结果,但它可能不会。简单的计算器,如前所述,是一个很好的计算器。

理解函数和参数的最简单方法是阅读PHP手册 - 核心PHP语言中的大多数函数都带有某种参数。这些功能与您编写的功能没有区别。

0

当您指定function name($var=VALUE)时,您正在设置默认值。

function doit($s=14) { 
    return $s + 5; 
} 

doit(); // returns 19 
doit(3); // returns 8 
0

它使您的功能灵活地在各种情况下重用,否则你将不得不编写许多功能,每个场景一个。这不仅枯燥乏味,而且如果你必须在这些功能中解决某些问题,那么这将变成一场噩梦。而不是将它固定在一个地方,你必须在很多地方修复它。你基本上不想复制已经写好的代码,而是使用参数来使一组代码具有足够的灵活性来处理每种情况。

0

参数允许您的函数查看其自身之外存在的变量的值。

例如:

function F_to_C($temp) { $temp = ($temp - 32)/1.8; return $temp; }

$temperature = 32;

$new_temperature = F_to_C($temperature); // 0

echo $temperature;

$temperature2 = F_to_C(212); // 100

echo $temperature2;

在这里,我们取$temperature,这是我们在代码中定义,但也可以是用户输入作为从表单,然后将其发送到功能F_to_C。这使我们可以将其转换为摄氏温度,因此我们可以随后显示它。在下一节中,我们再次使用该函数来转换此次直接发送的沸点值212.如果我们第一次在函数中嵌入了$temperature = 32,那么我们仍然会得到0作为结果。但是由于我们使用的是参数,我们取而代之的是100,因为它处理我们在调用函数时指定的值。

相关问题