如何在 PHP 箭头函数中编写多个表达式
How to write multiple expressions in PHP arrow functions
PHP多行表达式的箭头函数怎么写?
JavaScript 一行示例:
const dob = (age) => 2021 - age;
PHP 相当于一行:
$dob = fn($age) => 2021 - $age;
Javascript 多行示例:
const dob = (age) => {
if(!age) return null;
const new_age = 2021 - age;
console.log("Your new age is " + new_age);
return new_age;
}
什么是 PHP 等价于多行????
Arrow functions 在 PHP 中的格式为 fn (argument_list) => expr
。函数体中只能有一个表达式。
您可以毫无问题地将表达式写在多行上:
fn($age) =>
$age
? 2021 - $age
: null
如果你真的需要多个表达式,那么你可以简单地使用anonymous function。闭包不像箭头函数那样是自动的,但如果你不需要它,它会给出完全相同的结果。
$dob = function ($age) {
if (!$age) { return null; }
$new_age = 2021 - ^$age;
echo "Your new age is ". $new_age;
return $new_age;
}
根据RFC,不允许使用多个 表达式。它仅涵盖单个表达式的赋值。该扩展在 RFC 中进一步讨论,但未实现
PHP多行表达式的箭头函数怎么写?
JavaScript 一行示例:
const dob = (age) => 2021 - age;
PHP 相当于一行:
$dob = fn($age) => 2021 - $age;
Javascript 多行示例:
const dob = (age) => {
if(!age) return null;
const new_age = 2021 - age;
console.log("Your new age is " + new_age);
return new_age;
}
什么是 PHP 等价于多行????
Arrow functions 在 PHP 中的格式为 fn (argument_list) => expr
。函数体中只能有一个表达式。
您可以毫无问题地将表达式写在多行上:
fn($age) =>
$age
? 2021 - $age
: null
如果你真的需要多个表达式,那么你可以简单地使用anonymous function。闭包不像箭头函数那样是自动的,但如果你不需要它,它会给出完全相同的结果。
$dob = function ($age) {
if (!$age) { return null; }
$new_age = 2021 - ^$age;
echo "Your new age is ". $new_age;
return $new_age;
}
根据RFC,不允许使用多个 表达式。它仅涵盖单个表达式的赋值。该扩展在 RFC 中进一步讨论,但未实现