查詢

spl_classes()函式—用法及示例

「 返回一個陣列,其中包含了當前指令碼中所有已定義的類的名稱 」


函式名稱:spl_classes()

適用版本:PHP 5 >= 5.3.0, PHP 7

用法:spl_classes() 函式返回一個陣列,其中包含了當前指令碼中所有已定義的類的名稱。

示例:

// 示例1:獲取當前指令碼中已定義的類名
$classes = spl_classes();
print_r($classes);

/*
輸出:
Array
(
    [0] => stdClass
    [1] => Exception
    [2] => ErrorException
    [3] => ...
)
*/

// 示例2:判斷某個類是否存在於當前指令碼中
if (in_array('MyClass', spl_classes())) {
    echo 'MyClass 已定義';
} else {
    echo 'MyClass 未定義';
}

// 示例3:獲取當前指令碼中已定義的類的數量
$classesCount = count(spl_classes());
echo '當前指令碼中已定義的類的數量:' . $classesCount;

注意事項:

  • spl_classes() 函式只能獲取當前指令碼中已定義的類名,無法獲取外部引入的類。
  • 返回的類名陣列中的順序不一定與類定義的順序一致。
  • 在 PHP 7 中,由於引入了匿名類,返回的類名陣列中可能會包含匿名類。
補充糾錯
上一個函式: spl_object_hash()函式
下一個函式: spl_autoload_unregister()函式
熱門PHP函式
分享連結