(自古图文不相关)

同事问为什么要用 array_maparray_filter之类的函数,用 foreach 不就好了?

答:这样写出来的代码语义更清晰,阅读更容易。

那么如何使用其它变量呢?global 么?

答:global 肯定不合适,不过怎么写我也不知道。待我查查。

在PHP中,不能像JS那样直接使用闭包里的其它变量,必须通过声明继承的语法,写出来是这样的:

    <?php

    $arr = [1, 2, 3];
    $split = 2; // 分界
    $arr = array_map(function ($value) use ($split) {
      return $value < $split ? 0 : $value;
    }, $arr);
    var_dump($arr);

    // 输出
    // 0, 2, 3

重点是那个 use ($split)


参考:

发布者:meathill

爱编程,爱旅游,爱吐槽。 今年的目标是完成并运营至少一个 Side Project。 《Electron + Vue 实战开发》龟速创作中……

留下评论

欢迎吐槽,请勿装死

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

%d 博主赞过: