php函數method_exists()與is_callable()的區別在哪?在php面相對象設計過程當中,每每咱們須要在調用某一個方法是 否屬於某一個類的時候作出判斷,經常使用的方法有method_exists()和is_callable(),相比之下,is_callable()函數要 高級一些,它接受字符串變量形式的方法名做爲第一個參數,若是類方法存在而且能夠調用,則返回true。若是要檢測類中的方法是否能被調用,能夠給函數傳 遞一個數組而不是類的方法名做爲參數。數組必須包含對象或類名,以將其做爲它的第一個元素,要檢查的方法名則做爲第二個元素。若是該方法在類中存在,網絡營銷培訓函數 返回true。php
代碼示例: 數組
is_callable()能夠加收另一個參數:一個布爾值,若是將該參數設置爲true,函數僅僅檢查給定的方法或函數名稱的語法是否正確,而 不檢查其是否真正存在。method_exists()函數的參數爲一個對象(或類名)和一個方法名,若是給定方法在對象的類中存在,則返回true網絡
代碼示例: 函數
網絡營銷培訓php函數method_exists()與is_callable()的區別在於在php5中,一個方法存在並不意味着它就能夠被調用。對於 private,protected和public類型的方法,method_exits()會返回true,可是is_callable()會檢查存在 其是否能夠訪問,若是是private,protected類型的,它會返回false。(fblww-0210)spa