跨境电商
经验交流分享

PHP函数基础之用户自定义函数

任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。函数名是大小写无关的,不过在调用函数的时候,通常使用其在定义时相同的形式。

Functions need not be defined before they are referenced, except when a function is conditionally defined as shown in the two examples below.

When a function is defined in a conditional manner such as the two examples shown. Its definition must be processed prior to being called.

上边一段很重要。函数引用可以发生在函数定义体之前。但是也仅仅当一个函数在条件语句中定义的时候,必须在调用之前来定义。

[PHP]

$makefoo = true;

/* 我们不能在处调用foo()函数,
因为它还不存在,但可以调用bar()函数。*/

bar();

if ($makefoo) {
function foo()
{
echo “I don’t exist until program execution reaches me.\n”;
}
}

/* 现在我们可以安全调用函数 foo()了,
因为 $makefoo 值为真 */

if ($makefoo) foo();

function bar()
{
echo “I exist immediately upon program start.\n”;
}

?>

[/PHP]

All functions and classes in PHP have the global scope – they can be called outside a function even if they were defined inside and vice versa.

PHP函数和类都具有全局可见范围。在函数内部定义的函数,可以在外部调用。在外部定义的函数,也同样可以在内部调用。但是需要注意以下情况。

[PHP]

// Functions within functions
function foo()
{
function bar()
{
echo “I don’t exist until foo() is called.\n”;
}
}

/* We can’t call bar() yet
since it doesn’t exist. */

foo();

/* Now we can call bar(),
foo()’s processesing has
made it accessible. */

bar();

[/PHP]

PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。

赞(0)
未经允许不得转载:锐想 » PHP函数基础之用户自定义函数
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

锐想电商 - 跨境电商经验交流分享

锐想无限