我正在使用一些現有的代碼,特別是JQuery文件上傳插件。有一個大類,其中有一些功能,我試圖自定義。問題是有幾行代碼對我來說毫無意義。類內混亂的PHP數組函數
protected function get_file_object($file_name) {
//whole bunch of code is here that generates an object file file size
//and other information related to the image that was in the array.
//removed the code to be concise, just know it returns an object.
return $file;
}
protected function get_file_objects() {
return array_values(
array_filter(
array_map(
array($this, 'get_file_object'),
scandir($this->options['upload_dir'])
)));
}
好吧,所以我不明白的是在array_map裏面發生了什麼。我知道數組映射需要一個回調,然後是一個數組作爲參數。 scandir從目錄中獲取數組。
它對我來說毫無意義的回調。我在php文檔中查看了array()函數的語法,並沒有提及任何有關這樣的兩個參數的說法。顯然第二個是一個函數,這是在引號?我明白代碼的作用,而不是它如何做。
這是一些未公開的功能?
這是一個對象方法回調引用。除了函數之外,還必須將對象引用'$ this'和函數名稱作爲元組(2部分數組)傳遞。事實上,這是在一個類中,應該在問題中公開,儘管在函數(方法)中使用'$ this'和'protected'修飾符是顯而易見的。 – Orbling
對不起,在班上。將添加 –