Mat*_*son 2 php arrays object laravel laravel-5
我正在寻找一种将 php 关联数组转换为对象数组并为每个关联键控的方法。我还可以将其视为两个单独的简单数组,一个包含名称,另一个包含类。这是一个关联示例...
array:2 [
"someName" => "someClass"
"someOtherName" => "someOtherClass"
]
Run Code Online (Sandbox Code Playgroud)
或者
names => [0 => 'name1', 1 => 'name2']
classes => [0 => 'class1', 1 => 'class2']
Run Code Online (Sandbox Code Playgroud)
...无论哪种方式,我都在寻找这样的最终结果:
[
{ 'name': 'someName', 'class': 'someClass' },
{ 'name': 'someOtherName', 'class': 'someOtherClass' }
]
Run Code Online (Sandbox Code Playgroud)
做到这一点最明智的方法是什么?
我认为最好的方法是将zip方法与Transform或Map结合起来:
\n\n$names = [0 => \'name1\', 1 => \'name2\'];\n$classes = [0 => \'class1\', 1 => \'class2\'];\n\n$merged = collect($names)->zip($classes)->transform(function ($values) {\n return [\n \'name\' => $values[0],\n \'class\' => $values[1],\n ];\n});\n\ndd($merged->all());\n
Run Code Online (Sandbox Code Playgroud)\n\n结果你得到数组:
\n\narray:2 [\xe2\x96\xbc\n 0 => array:2 [\xe2\x96\xbc\n "name" => "name1"\n "class" => "class1"\n ]\n 1 => array:2 [\xe2\x96\xbc\n "name" => "name2"\n "class" => "class2"\n ]\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n所以如果你需要json,你可以使用json_encode($merged)
归档时间: |
|
查看次数: |
34790 次 |
最近记录: |