亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“致命錯誤:無法重新聲明<function>”

“致命錯誤:無法重新聲明<function>”

PHP
慕村9548890 2019-07-05 16:08:32
“致命錯誤:無法重新聲明<function>”我有一個函數(從我的文件頂部看,它就是這樣出現的):<?php//dirname(getcwd());function generate_salt(){     $salt = '';     for($i = 0; $i < 19; $i++)     {         $salt .= chr(rand(35, 126));     }     return $salt;}...出于某種原因,我一直在犯這樣的錯誤:致命錯誤:無法重新聲明Generate_SALT()(以前在第13行的/Applications/MAMP/htdocs/question-air/includes/functions.php:5)中在/Applications/MAMP/htdocs/question-air/includes/functions.php中聲明)我不知道為什么或如何會發生這樣的錯誤。有什么想法嗎?
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

此錯誤表示您的函數已被定義;這可能意味著:

  • 在兩個文件中定義了相同的函數
  • 或者在同一文件中的兩處定義相同的函數。
  • 或者在其中定義函數的文件包含了兩次(因此,該函數似乎被定義了兩次)。

要幫助解決第三點,一個解決方案是使用include_once而不是include包括你的functions.php文件-因此它不能包含超過一次。


查看完整回答
反對 回復 2019-07-05
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

解決方案1

不要在循環中聲明函數(例如foreachforwhile.)!在他們面前宣布。

解決方案2

您應該只包含該文件一次(其中存在該函數)一次:
用途:include_once("functions.php");
而不是:include     ("functions.php");

解決方案3

如果上述任何操作都沒有幫助,則在函數聲明之前添加一個檢查以避免重新聲明:

if (!function_exists('your_function_name'))   {
  function your_function_name()  {
    ........
  }}


查看完整回答
反對 回復 2019-07-05
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

在編寫函數之前,可以先檢查函數的名稱是否存在。

  if (!function_exists('generate_salt')){
    function generate_salt()
    {
    ........
    }}

或者您可以將函數名更改為另一個名稱。


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 593 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號