我有一个函数(这正是它从我的文件顶部出现的方式):
<?php
//dirname(getcwd());
function generate_salt()
{
$salt = '';
for($i = 0; $i < 19; $i++)
{
$salt .= chr(rand(35, 126));
}
return $salt;
}
...
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我不断收到错误:
致命错误:无法在/Applications/MAMP/htdocs/question-air/includes/functions.php上重新声明generate_salt()(之前在/Applications/MAMP/htdocs/question-air/includes/functions.php:5中声明) 13
我无法弄清楚为什么或如何发生这样的错误.有任何想法吗?
Pas*_*TIN 70
此错误表示您的功能已定义; 这可能意味着:
为了帮助解决第三点,解决方案是使用include_once
而不是include
包含functions.php
文件 - 因此不能包含多次.
T.T*_*dua 44
不要声明函数在循环中(像foreach
,for
,while
...)!在他们面前宣布.
您应该只包含该文件(其中存在该函数):
use: include_once("functions.php");
而不是: include ("functions.php");
如果以上都没有帮助,在函数声明之前,添加一个检查以避免重新声明:
if (!function_exists('your_function_name')) {
function your_function_name() {
........
}
}
Run Code Online (Sandbox Code Playgroud)
在编写函数之前,您可以先检查函数名称是否不存在
if (!function_exists('generate_salt'))
{
function generate_salt()
{
........
}
}
Run Code Online (Sandbox Code Playgroud)
或者您可以将函数名称更改为其他名称
归档时间: |
|
查看次数: |
106566 次 |
最近记录: |