首页 > 解决方案 > php 是否具有等效于 javascript 箭头函数 (=>) 的功能?

问题描述

我知道=>在 php 中构造数组时使用了该符号。但在 javascript 中,您可以使用符号来缩短函数,如下所示:

var materials = [
  'Hydrogen',
  'Helium',
  'Lithium',
  'Beryllium'
];

console.log(materials.map(material => material.length));
// expected output: Array [8, 6, 7, 9]

wherematerial将是函数的输入和material.length返回值。

php中是否有等价物?

标签: javascriptphp

解决方案


php7.4中,箭头函数是根据这个 rfc https://wiki.php.net/rfc/arrow_functions_v2实现的

示例:https ://3v4l.org/ddooc ,根据 php 版本观察结果。

$array = ['string1', 'longstring'];
print_r(array_map(fn($x) => strlen($x), $array));

在旧版本的 php 中,您仍然必须使用:

array_map( 
    function ($x) {
        return strlen($x);
    },
    $array
);

推荐阅读