给定以下集合/数组:
[
"somename" => "test.test.be"
"anothername" => "test"
"yetanothername" => "testing"
"extrafield" => "extra",
"extrafield" => "extra",
]
当我检索这个集合时,我总是知道它们的顺序,但我不会知道键名。所以我想做的是转换这个集合并将键名更改为我定义的值。
对于非关联数组,我会做类似的事情
$trimmedCollection->transform(function ($item) {
return [
'email' => $item[0],
'first_name' => $item[1],
'surname' => $item[2],
];
});
但是对于给定的集合,我将如何处理呢?还有如何处理溢出项目。假设我突然得到 10 个键值对,但只为 3 写了一个转换,我如何将所有溢出转换为默认键?
编辑: 对于溢出项目,我想将给定数组中的所有额外字段分配为这样存储。
下面是最终的数组:
[
"email" => "test.test.be"
"first_name" => "test"
"surname" => "testing"
"additional_fields" => ["key-name" => "extra","key-name" => "extra"]
]
其中 key-name 是我检索到的密钥的原始名称。