php的arrow函数是如何与print函数一起工作的?

q5iwbnjs  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(150)

我们知道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吗

ijnw1ujt

ijnw1ujt1#

值仍然是1
如果你转储这个值,你会得到1

var_dump($var("Ahmad", 22));
//Return int(1)

然而,箭头函数的结果并没有被使用,你只是打印了一条消息。这就是为什么你认为印刷品的价值是不同的。

相关问题