我们知道print函数总是返回1,所以当这样使用它时:
$arr = [10, 20, 30, 40];
$arr2 = array_map(fn ($num) => print $num, $arr);
输出将是这样的:
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
)
因为返回的值将被分配给数组元素,但是当我像这样使用它时:
$var = fn ($name, $age) => print "Hello my name is $name and I'm $age years old";
$var("Ahmad", 22);
输出将为:
//Output: Hello my name is Ahmad and I'm 22 years old
这里的输出不应该是1吗
1条答案
按热度按时间ijnw1ujt1#
值仍然是
1
。如果你转储这个值,你会得到
1
:然而,箭头函数的结果并没有被使用,你只是打印了一条消息。这就是为什么你认为印刷品的价值是不同的。