Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 PHP 对象数组,比如有两个属性a和b. 所以例如我可以做
a
b
$arr['a1']->a = $z; $x = $arr['a1']->b;
数组当前使用每个对象的a属性值作为数组键,例如
$arr['a1']->a == 'a1'
这样我就可以通过该属性快速查找对象。我现在需要通过 快速查找b,因此希望将键从设置为属性a切换为设置为b(两者都是唯一的)。
是否有捷径可寻?就地或进入另一个阵列都很好。
foreach($arr as $key => $object) { $arr2[$object->b] = $object; }
这将创建一个指向相同对象的新数组。
如果您希望它们在一个数组中,您可以按照 Joost 在评论中的建议进行操作($arr[$object->b] = $object;而不是在循环中)。但是,这仅在两组之间没有重复键的情况下才有效。
$arr[$object->b] = $object;