Php 将阵列转换为关联对象
我想转换: 输入:Php 将阵列转换为关联对象,php,laravel,Php,Laravel,我想转换: 输入: array:3 [▼ 0 => {#476 ▼ "click": 2412 "ctr": 121 "id": 12 "trueview": 4124 "view": 1452503 } 1 => {#478 ▼ "click": 2222 "ctr": 222
array:3 [▼
0 => {#476 ▼
"click": 2412
"ctr": 121
"id": 12
"trueview": 4124
"view": 1452503
}
1 => {#478 ▼
"click": 2222
"ctr": 2222
"id": 21
"trueview": 2222
"view": 2222
}
2 => {#1526 ▼
"click": 3333
"ctr": 3333
"id": 31
"trueview": 3333
"view": 3333
}
]
输出:
{
"12" : {
"click": 2222,
"trueview": 3333,
"view": 3333,
"ctr": 3333
},
"21" : {
"click": 2222,
"trueview": 3333,
"view": 3333,
"ctr": 3333
},
"31" : {
"click": 2222,
"trueview": 3333,
"view": 3333,
"ctr": 3333
}
}
循环初始数组并使用
id
作为索引创建新数组。代码:
$new_array = [];
foreach ($array as $key => $vals) {
$id = $vals['id'];
unset($vals['id']);
$new_array[$id] = $vals;
}
var_dump($new_array);
试试这个。。。你应该买点东西。。。但是您可能需要根据您的需要进行一些更改
<?php
$arrays = array(
0 => array(
"click" => 2412,
"view" => 12456
),
1=> array(
"click"=> 2222,
"ctr"=> 2222,
"id"=> 21,
"trueview"=> 2222,
"view"=> 2222,
)
);
echo "{\n";
foreach ($arrays as $index => $array)
{
echo '"'.strval($index).'"'.": {\n";
foreach ($array as $key => $value)
{
echo '"'.($key).'":'.$value.",\n";
}
echo "\n\t},\n";
}
echo "\n }";
使用collect()
helper方法,然后以json格式编码您可以将数组类型转换为对象$object=(object)$array代码>已经在这里回答了,谢谢你的建议,我修正了:$new_array=[];foreach($listLogAd as$key=>$vals){$id=$vals->id;unset($vals->id);$new_数组[$id]=$vals;}dd($new_数组);