在PHP中声明函数的正确方法?

在PHP中声明函数的正确方法?,php,Php,我不太清楚如何在php中声明函数,所以我将尝试一下 getselection(); function getselection($selection,$price) { global $getprice; switch($selection) { case1: case 1: echo "You chose lemondew <br />"; $price=$getprice['lemondew'].'<br>'; e

我不太清楚如何在php中声明函数,所以我将尝试一下

getselection();

function getselection($selection,$price)
{
global $getprice;
switch($selection)
{
  case1: case 1:
        echo "You chose lemondew <br />";
        $price=$getprice['lemondew'].'<br>';
        echo "The price:".$price;
    break;
getselection();
函数getselection($selection,$price)
{
全球$getprice;
交换机($selection)
{
案例1:案例1:
echo“你选择了lemondew
”; $price=$getprice['lemondew']。
; 回声“价格:”.$price; 打破
如果我做错了,请让我知道,我想用正确的方法来做;此外,php.net有一些示例,但对于新手来说,它们有点复杂,我想当我变得熟练时,我会开始使用它们的文档,谢谢你没有发火


请提供可能有助于我澄清此问题的链接?

您有了一个合理的开始。现在,您需要做的就是删除冗余的
案例1:
,用
}
关闭
开关
语句,然后用另一个
关闭
函数。我假设全局数组
$getprice
在您的代码中定义,但在问题中没有显示。

您的示例对我来说似乎足够有效

foo('bar');
function foo($myVar)
{
  echo $myVar
}
// Output: bar

.

在调用函数之前声明函数是一种很好的做法。它将防止代码中偶尔出现的错误行为。

该示例基本上是一个有效的函数定义(这意味着它可以运行,除了Asah提到的关于大括号关闭的内容之外),但没有遵循

  • 命名约定:当一个名称由两个或多个单词组成时,使用或下划线来描述单词。你用哪一个并不重要,只要你是一致的。另请参见Alex关于的问题
  • 选择一个好名字:“get”前缀表示“getter”或“”;“getThing”形式的任何方法或函数都应该返回一个对象,并且在函数或对象之外没有可见的影响。示例函数最好称为“printSelection”或“printItem”,因为它打印所选项目的名称和价格
  • 环球:一般来说。一种替代方法是使用类或对象:使变量成为类的静态成员或对象的实例成员。另一种方法是将数据作为附加参数传递给函数,尽管参数太多的函数可读性不强
  • 开关非常有用,但并不总是最佳选择。在示例中,
    $selection
    可以轻松地保存项目的名称而不是数字。这就指向了使用开关的一种替代方法:使用数组索引(顺便说一句,这就是在中的实现方式)。如果案例具有相同的代码,但使用的值不同,则可以使用数组。如果您使用的是对象,那么这是一条路——但这本身就是一个主题
  • $price
    参数似乎没有任何作用。如果希望函数返回价格,请使用
  • 调用函数时,忽略了传递任何参数。这将导致警告和通知,但将运行

仅供参考:如果仔细查看,您会发现OP的代码存在一些问题。
$selection
为什么包含数字而不是字符串(例如“lemondew”)?