php 中的解构

Destructuring in php

是否可以像解构一样使用javascript从变量创建关联数组,变量名作为PHP中的键...在javascript中我可以做

 const fn = (name, age, purpose) => {
    return {name, age, purpose}
 }
 fn("Akins", 23, "Greatness") // {name: "Akins", age: 23, purpose: "Greatness"}

目前我坚持重复的方式

function fn($name, $age, $purpose) {
     return [
         'name'    => $name,
         'age'     => $age,
         'purpose' => $purpose
     ];
}

任何人都可以帮忙吗,它会节省我很多打字时间吗?

无需为此创建您自己的函数,一个已经存在:

$name    = "Jason";
$age     = 25;
$purpose = "To have fun?";

$person  = compact('name', 'age', 'purpose');

print_r($person);

输出:

Array
(
    [name] => Jason
    [age] => 25
    [purpose] => To have fun?
)

这就是你的答案

function fn($name, $age, $purpose) {
    return compact('name', 'age', 'purpose');
}

compact — 创建包含变量及其值的数组
compact() 在当前符号 table 中查找具有该名称的变量,并将其添加到输出数组,这样变量名称成为键,变量的内容成为该键的值。