【问题标题】:Array push as the first index PHP [duplicate]数组推送作为第一个索引PHP [重复]
【发布时间】:2012-01-10 13:05:08
【问题描述】:

我有一个不使用 0 索引的数组。数组从 1,2,3 开始。所以我想添加到数组中。我试过做array_push($array, "Choose City"),但这最终在数组的末尾,在这种情况下数组索引为4。

如何将其设置为数组索引 0?

【问题讨论】:

    标签: php arrays push


    【解决方案1】:

    http://php.net/manual/en/function.array-unshift.php

    array_unshift($array, "Choose City")
    

    或者你可以手动完成

    【讨论】:

    • @DaveRandom 问题是“如何将其设置为数组索引 0?” :)
    • @Oyeme 虽然$array[0] = 是一个有效的答案,但它只能工作一次。使用array_unshift() 对第一次调用具有完全相同的效果,并且可以根据需要多次使用。有时字面上的答案并不是最好的答案……
    • @DaveRandom 是真的,“问题不准确”
    • 函数 array_unshift_assoc(&$arr, $key, $val) { $arr = array_reverse($arr, true); $arr[$key] = $val; return = array_reverse($arr, true); }
    • @RohamRafii “如果您需要在数组前添加一些内容而不重新索引键和/或需要添加键值对”。 php.net/manual/en/function.array-unshift.php#106570
    【解决方案2】:

    我认为您正在寻找 array_unshift() - 这会将一个元素添加到数组的开头,而不是结尾,而不会覆盖任何现有元素。

    但是,数组现在将从0开始索引...

    【讨论】:

      【解决方案3】:

      如果您知道未使用索引 0,您可以简单地分配它:

      $array[0] = "Choose City";
      

      【讨论】:

      • @Matteo OP 是这么说的。这是将索引为 0 的新元素添加到数组开头的最简单答案(该数组还没有具有该索引的元素)。其他答案不对数组的状态做任何假设,因此更稳健。
      • 我明白了。我会给你+1,因为实际上这是特定问题的答案。即使解决方案不通用
      • 天啊,这实际上是一个有效的答案,也许是最好的!注意:这个问题是模棱两可的。 “不使用 0 索引”是什么意思?它是初始状态(可以更改)还是不变量(必须保留)?在第一种情况下,这是最好的答案,在第二种情况下,没有一个答案是正确的。 +1
      猜你喜欢
      • 1970-01-01
      • 2011-03-01
      • 2020-09-08
      • 2012-11-25
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      相关资源
      最近更新 更多