Php 用另一个值替换数组键
我有一个如下所示的数组:Php 用另一个值替换数组键,php,arrays,Php,Arrays,我有一个如下所示的数组: [0] => stdClass Object ( [id] => 152 [type_id] => 5 [name] => test 1 ) [1] => stdClass Object ( [id] => 153 [type_id] => 8 [name] => test 2 ) [2] =
[0] => stdClass Object
(
[id] => 152
[type_id] => 5
[name] => test 1
)
[1] => stdClass Object
(
[id] => 153
[type_id] => 8
[name] => test 2
)
[2] => stdClass Object
(
[id] => 154
[type_id] => 13
[name] => test 3
)
有没有办法把它转换成下面的数组
[5] => stdClass Object
(
[id] => 152
[name] => test 1
)
[8] => stdClass Object
(
[id] => 153
[name] => test 2
)
[13] => stdClass Object
(
[id] => 154
[name] => test 3
)
基本上,我用type_id值更改了数组键。您应该能够按如下方式取消设置stdClass的属性:
$newObject = array();
foreach ($oldObject as $object) {
$typeID = $object->type_id;
$newObject[$typeID] = $object;
unset($newObject[$typeID]->type_id);
}
这将遍历
stdClass
对象数组,并将条目保存到新数组中。之后,属性type\u id
将被删除。将其传递到返回新数组的函数中:
function convert($arr)
{
$new_arr = array();
for ($i = 0; $i < count($arr); $i++)
{
$id = $arr[$i]['type_id'];
unset($arr[$i]['type_id']);
$new_arr[$id] = $arr[$i];
}
return $new_arr;
}
函数转换($arr)
{
$new_arr=array();
对于($i=0;$i
要替换一个值,只需使用:和添加另一个值:您想删除type\u id键您尝试了什么吗?loop+unset(object->type\u id)使用foreach循环,然后再次将值分配给数组。您有没有办法解释一下为什么您降低了这个问题?