PHP注意:array_walk_recursive函数中的未定义变量

时间:2015-08-31 10:15:32

标签: php arrays

我有这个代码用于下载我的文件:

$id = '251';
$type = 'download';
$post_type = 'news';
$file_name = 'C_3.docx';

$files = _files_list_($id,$type);

print_r($files);

array_walk_recursive($files, function ($value) {

    if (false !== stripos($value, $file_name)) { // LINE 17
        $file = ABSPATH.'/uploads/files/'. _is_file_author($id,$type,$post_type).'/'.$value.'';
        ( new Downloader( $file ) )->download();
        echo $file;
    }
});

print_r($files)

Array ( [0] => Array ( [0] => docs/manager.zip ) [1] => Array ( [0] => docs/C_3.docx ) )

但在操作中我看到此错误(未检测到$id$type$file_name$post_type):

注意:未定义的变量:第17行的C:\ xampp \ htdocs \ cmd \ modules \ download.php中的file_name

如何修复此错误?

1 个答案:

答案 0 :(得分:1)

@ Andrew发表好评,@ briosheje发送完整评论:

我改变了

array_walk_recursive($files, function ($value)

array_walk_recursive($files, function ($value) use ($file_name, $post_type, $type, $id),

现在已经奏效了。