今天实现上传文件和指定路径下文件进行对比时,用到了这个array_map方法,传入的回调函数里面执行 array_splice()方法时,却报错第一个参数不是一个数组,给定的null。
起初在array_map回调 外打印 传入到array_splice中的数组,却发现类型正确是数组并且有值,苦恼了好半天,尝试解决无果后,想到在array_map中打印一下这第一个参数,果然是null!
查阅资料得到array_map回调存在一个内部作用域,无法取得作用域外部的数据。也就是没有‘闭包’【子函数内部可以取到父函数的数据】这一概念!
解决办法:使用 use()关键字, 括号内可以填入想要访问的变量,多个用逗号隔开。【use 从同一个 namespace 中导入类、函数和常量:】
原文地址:https://www.cnblogs.com/Hijacku
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。