PHP – 关联数组:更改键值对的键,其中value是类对象

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP – 关联数组:更改键值对的键,其中value是类对象脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个形式的关联数组:

$input = array("one" => <class object1>,"two" => <class object2,... //and so on);

$input的键保证是唯一的.我还有一个名为moveToHead($key)的方法,它将$input [$key]元素移动到该关联数组的第0个位置.我有几个问题:

>是否可以确定关联数组的索引?
>如何移动相应的$key =>的数组条目$value对索引0并保留$key原样?
>什么是实现上述两点的最佳方法

我想为第二点(一个解决方案)做array_flip,但后来发现array_flip只能在数组元素是int和string时才能完成.有什么指针吗?

解决方法

使用名为array_keys函数,您可以确定键的索引:

$keys = array_flip(array_keys($input));
PRintf("Index of '%s' is: %d\n",$key,$keys[$key]);

要在特定位置插入数组(例如在开头),有array_splice功能.因此,您可以创建要插入的数组,从旧位置删除值并将其拼接在:

$key = 'two';
$value = $input[$key];
unset($input[$key]);    
array_splice($input,array($key => $value));

array union operator可能有类似的东西,但只是因为你想要移到顶部:

$key = 'two';
$value = $input[$key];
unset($input[$key]);
$result = array($key => $value) + $input;

但我认为这可能比array_splice有更多的开销.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP – 关联数组:更改键值对的键,其中value是类对象全部内容,希望文章能够帮你解决PHP – 关联数组:更改键值对的键,其中value是类对象所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。