array_walk() 的問題
array_walk($arr,array('PDOmysql','function'));這是給數組$arr中的成員應用PDOmsql類中的靜態函數function ?
但是問題來了,如果應用的不是靜態函數呢 該怎么寫第二個參數 如果僅僅寫名字 貌似有warning
array_walk($arr,array('PDOmysql','function'));這是給數組$arr中的成員應用PDOmsql類中的靜態函數function ?
但是問題來了,如果應用的不是靜態函數呢 該怎么寫第二個參數 如果僅僅寫名字 貌似有warning
2015-10-18
舉報
2015-11-04
array_walk()常在函數中使用,它在類內部的應用規范如下:
如果是靜態類,這樣調用array_walk($array, array('self', 'walkFunction'));
或者array_walk($array, array('className', 'walkFunction')); className指當前的類名
非靜態類
array_walk($array, array($this, 'walkFunction'));
其中walkFunction為類的方法名,如果沒有實現的話,會報warning.
2017-03-13
我繼續問一下。通過檢索資料發現,當類中有tatic關鍵字修飾的方法或屬性我們把它稱為靜態類。那么一個類中既有靜態方法,又有非靜態方法。這個類是不是靜態類?如果是靜態類,那么我array_walk里應用這個靜態類里的非靜態方法也應該可以。如題主問的‘如果應用的不是靜態函數呢 該怎么寫第二個參數 如果僅僅寫名字 貌似有warning’這里用的就是靜態類里的非靜態函數就不應該報warning。還是說靜態類與非靜態類的區別是在我們引用的方法是靜態還是動態的來,動態的區別該類是靜態的還是動態的類。哈哈,這最后一句好像有點拗口。簡單來說就是靜態類與非靜態類的具體區別。