簡體   English   中英

PHP:函數調用為空

[英]PHP: Function Called empty

測試我在服務器上開發的WordPress插件時,我收到一個奇怪的錯誤。

我在本地使用PHP5.3.29(PHPBrew)和PHP7進行了測試。 我收到以下錯誤

Parse error: syntax error, unexpected 'empty' (T_EMPTY), expecting identifier (T_STRING) in /home/arevicoc/sub_domains/fitmetfriso.nl/wp-content/plugins/wp-clickbank-vendor/core/Helper/Util.php on line 65

函數本身非常簡單(我在函數定義中遇到錯誤

/**
 * Check if it is empty for a multi-dimensional array
 *
 * @param object $object
 * @param string $name
 * @return void
 */
public static function empty($object, $name){ // Line 65
    return empty(self::val($object,$name, null));
}

我一直在清單ea-php55上測試過的服務器的CPanel。

為什么會發生此錯誤? 我知道empty是PHP中的一個函數,但是如果在命名空間中,應該不會有沖突吧? 特別是因為它在開發中起作用。

為什么在PHP 7中允許使用保留關鍵字作為類函數名稱?

先感謝您 :)

您不能使用empty()作為函數名,因為它是一個保留關鍵字。 這是關鍵字列表,您不能使用它們來定義為函數名稱: http : //php.net/manual/en/reserved.keywords.php

從文檔中:

您不能將以下任何單詞用作常量,類名,函數或方法名。

是保留的關鍵字,您不能使用它作為函數名稱: http : //php.net/manual/zh/reserved.keywords.php

醫生說:

您不能將以下任何單詞用作常量,類名,函數或方法名。

我不確定,但是也許您必須將函數的名稱從空更改為其他名稱。 它可以是內置功能。

您的問題是函數名稱本身。 在PHP中,已經有一個名為empty()的泛型函數。 因此,覆蓋是導致此問題的原因。

按照手冊, http://php.net/manual/en/function.empty.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM