Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组函数类内混淆_Php_Jquery - Fatal编程技术网

PHP数组函数类内混淆

PHP数组函数类内混淆,php,jquery,Php,Jquery,我正在使用一些现有的代码,特别是JQuery文件上传插件。有一个很大的类,其中有一些函数我正试图自定义。问题是有几行代码对我来说毫无意义 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

我正在使用一些现有的代码,特别是JQuery文件上传插件。有一个很大的类,其中有一些函数我正试图自定义。问题是有几行代码对我来说毫无意义

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'])
        )));
}
好的,我不明白的是数组映射中发生了什么。我知道数组映射接受回调,然后数组作为参数。scandir从目录中获取数组

这对我来说毫无意义。我在php文档中查看了array()函数的语法,但它没有说明如何使用这样的两个参数。显然第二个是一个函数,在引号里?我理解代码在做什么,而不是它是如何做的


这是一些未记录的功能吗?

数组映射的第一个参数是一个可调用的东西之一,是一个数组,其中第一个元素表示实例(或类名,如果方法是静态的),第二个元素表示methodname。所以
array($this,'get\u file\u object')
是指当前实例的
get\u file\u object
$this
是当前实例)。
array\u map
的第一个参数是一个可调用的东西,它是一个数组,其中第一个元素表示实例(如果方法是静态的,则为classname),第二个为methodname。因此
array('this'get\u file\u object')
是指当前实例的
get\u file\u object
$this
是当前实例).

这是一个对象方法回调引用。您必须将对象引用
$this
和函数名作为元组(两部分数组)传递,而不仅仅是函数.这是类内部的事实应该在问题中披露,尽管从函数(方法)上使用
$this
protected
修饰符可以明显看出。将添加这是一个对象方法回调引用。您必须将对象引用
$this
和函数名作为元组(两部分数组)传递,而不仅仅是函数。这是在类中的事实应该在问题中披露,尽管从函数(方法)上使用
$this
受保护的
修饰符可以明显看出这一点。在类上。将添加这一点,基本上,
数组('this,'get\u file\u object')
是“回调”
$this->get_file_object
:-)@RocketHazmat是的,这稍微容易一点:)基本上,
数组($this,'get_file_object')
$this->get_file_object
:-)@RocketHazmat是的,这稍微容易一点:)