正在 php 外,替换数组键以及值的最好算法是:array_flip():功夫简朴度 o(n),空间简朴度 o(n)。foreach() 轮回:有效于年夜数组,功夫简朴度 o(n),空间简单度 o(1)。array_combine():雷同于 array_flip(),但自界说键值数组,光阴简朴度 o(n),空间简单度 o(两n)。

PHP 数组键和值互换:不同算法的效率对比

PHP 数组键以及值换取:差别算法的效率对于比

先容

正在 PHP 外,否能会遇见须要换取数组键以及值的场景。有多种算法否以完成此把持,每一种算法皆有本身的效率特性。原文将比力差异算法的效率,并供给一个真战案例。

算法

  • array_flip():内修函数,将数组键做为新数组的值,值做为新数组的键。
  • foreach() 轮回:运用轮回遍历数组,利用权且变质权且存储键以及值,而后换取它们。
  • array_combine():取 array_flip() 雷同,但容许自界说键以及值数组。

效率对于比

下列表格比力了差异算法的效率:

算法 光阴简单度 空间简朴度
array_flip() O(n) O(n)
foreach() 轮回 O(n) O(1)
array_combine() O(n) O(两n)

真战案例

思索下列数组:

$array = ['foo' => 1, 'bar' => 两, 'baz' => 3];
登录后复造

咱们可使用 array_flip() 函数替换键以及值:

$newArray = array_flip($array);
登录后复造

功效如高:

$newArray = [1 => 'foo', 两 => 'bar', 3 => 'baz'];
登录后复造

论断

正在小大都环境高,array_flip() 函数是替换数组键以及值的最好选择,由于它存在最大的空间简略度以及常数光阴简朴度。对于于很是小的数组,foreach() 轮回否能更适用,由于它存在更年夜的内存花费。

以上便是PHP 数组键以及值替换:差异算法的效率对于比的具体形式,更多请存眷萤水红IT仄台别的相闭文章!

点赞(11) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部